Albumul foto Lychee 3.1 este un instrument simplu și flexibil, gratuit și liber de gestionare a fotografiilor cu sursă deschisă, care rulează pe un server VPS. Se instalează în câteva secunde, permițându-vă să încărcați, gestionați și partajați rapid și sigur fotografiile. Lychee 3.1 prezintă importul Dropbox (cu o cheie valabilă pentru aplicații drop-ins). Poate fi extins cu funcții noi prin pluginuri care vă pot permite, de exemplu, să vă sincronizați cu orice director care conține fotografii, să încărcați fotografii prin SSH, să creați fluxuri RSS din fotografiile dvs., să adăugați filigrane la fotografiile dvs., plus multe alte funcții avansate. și caracteristici utile.
În acest tutorial, vom instala Lychee 3.1 Photo Album pe un VPS CentOS 7 LAMP folosind serverul web Apache, PHP 7.1 și o bază de date MariaDB.
Cerințe preliminare
- O instanță curată a serverului Vultr CentOS 7 cu acces SSH
Pasul 1: Adăugați un utilizator Sudo
Vom începe adăugând un sudoutilizator nou .
În primul rând, conectați-vă la serverul dvs. ca root:
ssh root@YOUR_VULTR_IP_ADDRESS
Adăugați un utilizator nou numit user1(sau numele de utilizator preferat):
useradd user1
Apoi, setați parola pentru user1utilizator:
passwd user1
Când vi se solicită, introduceți o parolă sigură și memorabilă.
Acum verificați /etc/sudoersfișierul pentru a vă asigura că sudoersgrupul este activat:
visudo
Caută o secțiune ca aceasta:
%wheel ALL=(ALL) ALL
Această linie ne spune că utilizatorii care sunt membri ai wheelgrupului pot utiliza sudocomanda pentru a obține rootprivilegii. Acesta va fi necomandat implicit, astfel încât pur și simplu să ieșiți din fișier.
În continuare, trebuie să adăugăm user1la wheelgrup:
usermod -aG wheel user1
Putem verifica user1apartenența la grup și să verificăm dacă usermodcomanda a funcționat cu groupscomanda:
groups user1
Acum folosiți sucomanda pentru a comuta la noul user1cont de utilizator sudo :
su - user1
Indicatorul de comandă se va actualiza pentru a indica faptul că sunteți acum conectat la user1cont. Puteți verifica acest lucru cu whoamicomanda:
whoami
Acum reporniți sshdserviciul astfel încât să vă puteți autentifica prin sshnoul cont de utilizator sudo non-root pe care tocmai l-ați creat:
sudo systemctl restart sshd
Ieșiți din user1cont:
exit
Ieșiți din rootcont (care vă va deconecta sshsesiunea):
exit
Acum puteți sshintra în instanța serverului de la gazda locală folosind noul user1cont de utilizator sudo non-root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Dacă doriți să executați sudo fără a fi necesar să introduceți o parolă de fiecare dată, atunci deschideți din /etc/sudoersnou fișierul, folosind visudo:
sudo visudo
Editați secțiunea pentru wheelgrup astfel încât să arate astfel:
%wheel ALL=(ALL) NOPASSWD: ALL
Vă rugăm să rețineți: Dezactivarea cerinței de parolă pentru utilizatorul sudo nu este o practică recomandată, dar este inclusă aici, deoarece poate face configurația serverului mult mai convenabilă și mai puțin frustrantă, mai ales în timpul sesiunilor de administrare a sistemelor mai lungi. Dacă sunteți îngrijorat de implicațiile de securitate, puteți întoarce întotdeauna modificarea de configurare la original după ce terminați sarcinile de administrare.
Ori de câte ori doriți să vă conectați la rootcontul de utilizator din contul de sudoutilizator, puteți utiliza una dintre următoarele comenzi:
sudo -i
sudo su -
Puteți ieși din rootcont și întoarce-vă înapoi la contul de sudoutilizator, pur și simplu tastând următoarele:
exit
Pasul 2: Actualizați sistemul CentOS 7
Înainte de a instala pachetele pe instanța serverului CentOS, vom actualiza mai întâi sistemul.
Asigurați-vă că sunteți conectat la server folosind un utilizator sudo non-root și executați următoarea comandă:
sudo yum -y update
Pasul 3: Instalați serverul web Apache
Instalați serverul web Apache:
sudo yum -y install httpd
Apoi folosiți systemctlcomanda pentru a porni și a permite executarea automată a lui Apache la momentul de pornire:
sudo systemctl enable httpd
sudo systemctl start httpd
Verificați fișierul dvs. de configurare Apache pentru a vă asigura că DocumentRootdirectiva indică directorul corect:
sudo vi /etc/httpd/conf/httpd.conf
Opțiunea de DocumentRootconfigurare va arăta astfel:
DocumentRoot "/var/www/html"
Acum, să ne asigurăm că mod_rewritemodulul Apache este încărcat. Putem face acest lucru căutând fișierul de configurare al modulelor de bază Apache pentru termenul " mod_rewrite".
Deschideți fișierul:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Căutați termenul mod_rewrite.
Dacă mod_rewritemodulul Apache este încărcat, veți găsi o linie de configurare care arată astfel:
LoadModule rewrite_module modules/mod_rewrite.so
Dacă linia de mai sus începe cu un semicolon, va trebui să eliminați semicolonul pentru a dezlipi linia și a încărca modulul. Acest lucru se aplică desigur și pentru orice alte module Apache necesare.
Acum trebuie să edităm fișierul de configurare implicit al lui Apache, astfel încât mod_rewritesă funcționeze corect cu Lychee.
Deschideți fișierul:
sudo vi /etc/httpd/conf/httpd.conf
Apoi găsiți secțiunea cu care începeți <Directory "/var/www/html">și treceți AllowOverride nonela AllowOverride All. Rezultatul final (cu toate comentariile eliminate) va arăta astfel:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Acum salvați și închideți fișierul de configurare Apache.
Vom reporni Apache la sfârșitul acestui tutorial, însă repornirea regulată a lui Apache în timpul instalării și configurației este cu siguranță un obicei bun, așa că haideți să o facem acum:
sudo systemctl restart httpd
Pasul 4: Deschideți porturile firewallului web
Acum trebuie să deschidem implicit HTTPși HTTPSporturile, deoarece acestea vor fi blocate firewalldimplicit.
Deschide porturile firewall-ului:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Reîncărcați firewallul pentru a aplica modificările:
sudo firewall-cmd --reload
Veți vedea cuvântul successafișat în terminalul dvs. după fiecare comandă de configurare a firewallului de succes.
Putem verifica rapid dacă HTTPportul Apache este deschis vizitând adresa IP sau domeniul instanței instanței într-un browser:
http://YOUR_VULTR_IP_ADDRESS/
Veți vedea pagina web Apache implicită în browserul dvs.
Pasul 5: Dezactivați SELinux (dacă este activat)
SELinux reprezintă „Linux Enhanced Linux”. Este o îmbunătățire a securității pentru Linux, care permite utilizatorilor și administratorilor un control mai mare asupra controlului accesului. Acesta este dezactivat în mod implicit în instanțele Vultr CentOS 7, dar vom acoperi pașii pentru a-l dezactiva, doar în cazul în care nu porniți de la o instalare curată și a fost anterior activată.
Pentru a evita problemele cu permisiunea fișierului cu Lychee, trebuie să ne asigurăm că SELinux este dezactivat.
În primul rând, să verificăm dacă SELinux este activat sau dezactivat cu sestatuscomanda:
sudo sestatus
Dacă vedeți ceva de genul: SELinux status: disabledatunci este cu siguranță dezactivat și puteți sări direct la pasul 6. Dacă vedeți orice alt mesaj, va trebui să completați această secțiune.
Deschideți fișierul de configurare SELinux cu editorul de terminal preferat:
sudo vi /etc/selinux/config
Schimbarea SELINUX=enforcingla SELINUX=disabledși apoi salvați fișierul.
Pentru a aplica modificarea de configurare, SELinux necesită o repornire a serverului, astfel încât puteți reporni serverul folosind panoul de control Vultr sau puteți utiliza pur și simplu shutdowncomanda:
sudo shutdown -r now
Când serverul repornește, sesiunea SSH va fi deconectată și este posibil să vedeți un mesaj care vă informează despre un 'broken pipe'sau 'Connection closed by remote host'. Nu este de ce să vă faceți griji, pur și simplu așteptați 20 de secunde și apoi SSH din nou înapoi (cu propriul nume de utilizator și domeniu):
ssh user1@YOUR_DOMAIN
Sau (cu propriul nume de utilizator și adresa IP):
ssh user1@YOUR_VULTR_IP_ADDRESS
După ce v-ați autentificat, ar trebui să verificați din nou starea SELinux cu sestatuscomanda pentru a vă asigura că este dezactivat corespunzător:
sudo sestatus
Ar trebui să vezi un mesaj care spune SELinux status: disabled. Dacă vedeți un mesaj care spune SELinux status: enabled(sau ceva similar) va trebui să repetați pașii de mai sus și să vă asigurați că reporniți corect serverul.
CentOS 7 necesită să adăugăm un repo extern pentru a instala PHP 7.1, deci executați următoarea comandă:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Acum putem instala PHP 7.1 împreună cu toate modulele PHP necesare de Lychee:
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd
Întrucât este posibil să avem nevoie să folosim Lychee pentru a încărca și prelucra fișiere mari, va trebui să schimbăm unele dintre setările implicite PHP.
Deschideți php.inifișierul de configurare:
sudo vi /etc/php.ini
Modificați următoarele opțiuni PHP la aceste valori:
max_execution_time = 300
post_max_size = 100M
upload_max_size = 100M
upload_max_filesize = 50M
memory_limit = 256M
După ce ați terminat, salvați și ieșiți din fișier.
Dacă aveți vreodată probleme cu faptul că nu puteți încărca sau prelucra fișiere mari cu Lychee, atunci pur și simplu încercați să creșteți valorile de mai sus, deoarece acest lucru vă poate rezolva problemele.
Pasul 7: Instalează serverul MariaDB (MySQL)
CentOS 7 implicit utilizează serverul de baze de date MariaDB, care este o sursă îmbunătățită, complet deschisă, dezvoltată de comunitate, înlocuire drop-in pentru serverul MySQL.
Instalați serverul de baze de date MariaDB:
sudo yum -y install mariadb-server
Porniți și permiteți executarea automată a serverului MariaDB la momentul de pornire:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Asigurați-vă instalarea serverului MariaDB:
sudo mysql_secure_installation
rootParola va fi gol, astfel încât pur și simplu să apăsați enter când vi se cere rootparola.
Când vi se solicită să creați un utilizator MariaDB / MySQL root, selectați „Y” (pentru da) și apoi introduceți o rootparolă sigură . Pur și simplu răspundeți „Y” la toate celelalte întrebări da / nu, deoarece sugestiile implicite sunt cele mai sigure opțiuni.
Pasul 8: Creare bază de date pentru Lychee
Conectați-vă la shell-ul MariaDB ca rootutilizator MariaDB rulând următoarea comandă:
sudo mysql -u root -p
Pentru a accesa promptul de comandă MariaDB, introduceți rootparola MariaDB atunci când vi se solicită.
Rulați următoarele întrebări pentru a crea o bază de date MariaDB și un utilizator de bază de date pentru Lychee:
CREATE DATABASE lychee_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'lychee_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON lychee_db.* TO 'lychee_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Puteți înlocui numele bazei de date lychee_dbși numele de utilizator lychee_usercu ceva mai mult pe gustul dvs., dacă doriți. (Rețineți că lungimea maximă implicită pentru numele de utilizator în MariaDB pe CentOS 7 este de 16 caractere). De asemenea, asigurați-vă că înlocuiți „UltraSecurePassword” cu o parolă de siguranță.
Pasul 9: Instalați fișiere Lychee
Modificați directorul de lucru curent în directorul web implicit:
cd /var/www/html/
Dacă primiți un mesaj de eroare spunând ceva de genul 'No such file or directory'acesta, încercați următoarea comandă:
cd /var/www/ ; sudo mkdir html ; cd html
Directorul curent va fi acum: /var/www/html/. Puteți verifica acest lucru cu comanda pwd(imprimare director de lucru):
pwd
Acum folosiți wgetpentru a descărca pachetul de instalare Lychee:
sudo wget --content-disposition https://github.com/electerious/Lychee/archive/v3.1.6.zip
Vă rugăm să rețineți: cu siguranță, ar trebui să verificați cea mai recentă versiune accesând pagina de descărcare Lychee .
Enumerați directorul curent pentru a verifica dacă ați descărcat cu succes fișierul:
ls -la
Să instalăm rapid, unzipastfel încât să putem dezarhiva fișierul:
sudo yum -y install unzip
Acum decomprimează arhiva zip:
sudo unzip Lychee-3.1.6.zip
Mutați toate fișierele de instalare în directorul rădăcină web:
sudo mv -v Lychee-3.1.6/* Lychee-3.1.6/.* /var/www/html 2>/dev/null
Modificați proprietatea asupra fișierelor web pentru a evita orice probleme de permisiune:
sudo chown -R apache:apache * ./
Setați permisiunile care pot fi citite în lumea directoarelor uploadși data:
sudo chmod -R 777 data/ upload/
Reporniți Apache din nou:
sudo systemctl restart httpd
Acum suntem gata să trecem la ultimul pas.
Pasul 10: Instalare completă Lychee
Acum este timpul să vizitați adresa IP a instanței serverului dvs. în browserul dvs., sau dacă ați configurat deja setările DNS Vultr (și i-a dat suficient timp pentru a se propaga), puteți pur și simplu să vă vizitați domeniul.
Pentru a accesa pagina de instalare Lychee, introduceți adresa IP a instanței Vultr în bara de adrese a browserului:
http://YOUR_VULTR_IP_ADDRESS/
-
În Database Connection Detailspagină, introduceți următoarele valori ale bazei de date:
Database Host: localhost
Database Username: lychee_user
Password: UltraSecurePassword
Database Name: lychee_db
Faceți clic Connectpentru a continua.
-
Introduceți o Usernameși Passwordpentru instalarea dvs.:
Username: <your username>
Password: <a secure password>
Faceți clic Create Loginpentru a continua.
Vei fi redirecționat automat către pagina de încărcare a albumului și vei fi conectat la secțiunea admin. Dacă doriți să modificați setările, puteți face clic pe pictograma roată din colțul din stânga sus al paginii.
Pentru a schimba setările mai avansate, va trebui să vă întoarceți la terminal și să editați fișierul de configurare Lychee:
sudo vi data/config.php
Dacă nu ați configurat încă setările Vultr DNS, puteți face acest lucru folosind panoul de control Vultr DNS.
De asemenea, este recomandabil să configurați site-ul dvs. pentru a utiliza SSL, deoarece majoritatea browserelor moderne vor avertiza atunci când site-urile nu au SSL activat și certificatele SSL sunt acum disponibile gratuit.
În orice caz, sunteți gata să începeți încărcarea și distribuirea fotografiilor. Asigurați-vă că consultați documentele Lychee pentru mai multe informații despre modul de configurare și utilizare a managerului dvs. foto.