În acest articol, vă vom oferi instrucțiuni pas cu pas despre cum să configurați mediul web pe un server care rulează Linux. În primul rând, trebuie să înțelegeți că un server web tipic constă din câteva componente care interacționează:
- Server HTTP
- interpret de limbaj de programare
- sistem de management al bazelor de date (DBMS)
Pentru a vă gestiona site-ul web, va trebui, de asemenea, să configurați un sistem de gestionare a conținutului (CMS), o interfață web pentru gestionarea bazelor de date și acces FTP.
Să luăm în considerare configurarea unei configurații foarte populare Apache-PHP-MySQL(MariaDB) pe Linux. De asemenea, vom instala vsftpd server ftp, phpMyAdmin - o interfață web pentru gestionarea bazelor de date și un sistem de management al conținutului WordPress.
Pentru început, vă rugăm să comandați un server VPS sau un server dedicat . De exemplu, am folosit un server virtual cu adresă IP statică care rula Ubuntu Server 18.04. Toate comenzile au fost executate de utilizatorul root.
Configurare Apache HTTP Server
1. Instalare
apt install apache2
După finalizarea instalării, deschideți un browser și verificați „http://[adresa_ip_a_serverului]”
Dacă vedeți o pagină de bun venit ca aceasta în captura de ecran de mai sus, înseamnă că serverul dvs. HTTP funcționează.
2. Creați o pagină de test
Directorul rădăcină implicit pentru site-ul web este „/var/www/html” . Aici puteți găsi pagina de bun venit pe care tocmai ați văzut-o. Să creăm un director separat, „/var/www/sites”, pentru gazdele virtuale și un subfolder „/var/www/sites/site1” cu pagina index a site-ului web de testare.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Rezultatul este că fișierul „/var/www/sites/site1/index.html” ar trebui să conțină o singură linie de cod html:
<H1>Welcome</H1>
3. Configurare server Apache
Fișierele de configurare ale site-urilor web se află în catalogul „/etc/apache2/sites-available/” . Să creăm un fișier de configurare pentru o nouă gazdă virtuală, luând ca bază configurația implicită din fișierul „000-default.conf” .
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Deschideți fișierul „site1.conf” și modificați atributul „DocumentRoot” . Introduceți calea către site-ul dvs. web ca valoare, deci în cazul nostru este „/var/www/sites/site1”.
În această etapă nu trebuie să configuram funcționarea simultană a mai multor site-uri web, astfel încât să putem dezactiva site-ul implicit și să activăm noul site. Reîncărcați configurația serverului pentru a aplica modificările.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Deschideți din nou linkul „http://[adresa_ip_a_serverului]” și asigurați-vă că în loc de pagina de bun venit implicită avem noua noastră pagină.
Am terminat configurarea serverului nostru HTTP și putem trece la pasul următor.
Configurarea serverului FTP
1. Instalare
Să instalăm serverul nostru ftp și un pachet suplimentar „db-util” , de care vom avea nevoie pentru a configura utilizatorii virtuali.
apt install vsftpd db-util
2. Creați un cont local
Serverul vsftpd ne permite să configuram permisiunile de acces într-un mod foarte flexibil. Pentru sarcinile noastre, trebuie să oferim utilizatorilor ftp următoarele:
- acces deplin la conținutul de „/var/www/sites/”;
- dezactivați tot ce este mai sus „/var/www/”;
- conexiune cu un cont virtual;
Creați un cont local „virtual” fără permisiuni de conectare, dar cu acces la folderul principal „/var/www/” . Acest cont va fi folosit de utilizatorii ftp pentru a se conecta la server.
useradd -d /var/www virtual
„Root” va fi proprietarul folderului „/var/www” în mod implicit. Pentru a permite utilizatorilor ftp să modifice conținutul site-urilor web, haideți să schimbăm proprietarul folderului „/var/www/sites/”, inclusiv subfolderele folderului „virtual”.
chown -R virtual:root /var/www/sites
Drept urmare, utilizatorul „virtual” va putea vedea conținutul fișierului „/var/www/” și va putea scrie în subfolderul „/var/www/sites/”.
3. configurație
Configurația principală se află în fișierul „/etc/vsftpd.conf” , așa că haideți să îl deschidem și să îl edităm după cum urmează:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Creați baza de date
Veți avea nevoie de o bază de date pentru a stoca datele conturilor virtuale.
Mai întâi, haideți să creăm un fișier text simplu „users.txt” în folderul principal și să salvăm detaliile de acces (numele de utilizator și parola) ale utilizatorilor virtuali pe rânduri. De exemplu, vom avea nevoie de un utilizator virtual cu numele de utilizator „ftp” și parola „Qwe123” . Fișierul va arăta astfel:
ftp
Qwe123
Să creăm baza de date
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Să modificăm fișierul PAM implicit „/etc/pam.d/vsftp” după cum urmează:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Rețineți că calea către biblioteca „pam_userdb.so” poate fi diferită, dar o puteți modifica dacă este necesar.
Reîncărcați serverul vsftpd pentru a aplica modificările.
systemctl restart vsftpd
Am terminat de configurat serverul FTP.
Detalii de conectare:
- ftp://[adresa_ip_serverului]
- autentificare: ftp
- parola: Qwe123
Configurare server PHP
1. Instalarea PHP
Astăzi, cea mai recentă versiune stabilă a PHP este php 7.4.5, care nu este inclusă în depozitele oficiale Ubuntu. Să conectăm un depozit terță parte și să instalăm cea mai recentă versiune de PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Verifica
Pentru ca PHP să poată fi executat, fișierul paginii web trebuie să aibă extensia „.php” . Să redenumim pagina noastră de test:
cd /var/www/sites/site1/
mv index.html index.php
Adăugați următoarea linie php în fișierul „/var/www/sites/site1/index.php” , astfel încât fișierul să arate astfel:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Salvați modificările și verificați rezultatul în browser.
Dacă vedeți rezultatul funcției „phpinfo()” , interpretorul PHP funcționează corect. Acum să trecem la pasul următor.
Configurare MySQL (MariaDB).
1. Instalare
Să instalăm MariaDB și un modul PHP pentru MySQL și apoi să reîncărcăm Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Reîmprospătați pagina de test și accesați secțiunea PDO din tabelul de configurare PHP. Dacă găsiți secțiunea „PDO_mysql” , înseamnă că driverul pentru MySQL este instalat corect.
Apoi va trebui să facem configurația inițială de securitate a MariaDB și să setăm parola pentru utilizatorul „root” , să dezactivăm accesul la distanță și să ștergem toate conturile de guest.
mysql_secure_installation
La primul pas, trebuie să introducem parola utilizatorului „root” pentru a accesa DBMS sau să apăsăm Enter dacă nu există o parolă. Deoarece nu există o parolă setată pentru utilizatorul „root” după instalare, trebuie doar să apăsăm „Enter”.
Rețineți că în MariaDB există deja propriile conturi care nu au nicio legătură cu conturile sistemului de operare. Așadar, singurul utilizator cu care interacționăm în MariaDB este „root”.
După aceea, configuratorul ne va cere să setăm parola pentru utilizatorul root. Tastați „Y” pentru a confirma și a introduce noua parolă. În cazul nostru, este „Qwe123”.
Răspundeți cu „D” la toate celelalte întrebări până la sfârșit.
Configurarea este gata!
Detalii de acces MariaDB:
- Autentificare: root
- Parola: Qwe123
Configurarea phpMyAdmin
1. Instalare
Să instalăm extensia necesară pentru PHP - mbstring.
apt install php-mbstring
În depozitul oficial există doar o versiune învechită de phpMyAdmin, așa că haideți să o instalăm manual pe cea nouă.
Deschideți site-ul oficial al proiectului „ https://www.phpmyadmin.net/ ” și descărcați cea mai recentă arhivă.
Copiați arhiva pe server în folderul „/var/www/sites/” folosind orice client ftp.
Dezarhivați folderul și redenumiți-l „phpMyAdmin” . Nu uitați să instalați utilitarul „unzip” . Puteți șterge arhiva după ce ați dezarhivat-o.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Creați următorul folder „/var/www/sites/phpMyAdmin/tmp” pentru fișierele temporare și permiteți accesul tuturor. Dacă nu faceți acest lucru, phpMyAdmin va raporta accesul refuzat la folderul temporar.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Creați un alias
Deoarece phpMyAdmin nu este o gazdă virtuală separată și se află în afara directorului rădăcină, să configuram aliasul.
Deschideți fișierul „/etc/apache2/mods-available/alias.conf” și adăugați această linie:
Alias /pma “/var/www/sites/phpMyAdmin"
în interiorul acestei secțiuni:
<IfModule alias_module>
</IfModule>
Reîncărcați Apache pentru a aplica modificările.
systemctl reload apache2
Aliasul este setat, astfel încât să putem accesa phpMyAdmin aici „http://[adresa_ip_a_serverului]/pma”.
3. Pregătiți baza de date
Deoarece am restricționat utilizarea utilizatorului root în timpul configurării inițiale a MariaDB, va trebui să creăm un cont nou cu toate permisiunile care vor fi folosite pentru a accesa phpMyAdmin.
În plus, pentru a activa funcții suplimentare ale phpMyAdmin, vom avea nevoie de o bază de date de servicii și de un cont pentru a-l accesa.
Să creăm conturile
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
Rețineți că numele bazei de date din a doua cerere este în back sparks „… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,
În rezultat, vor fi două conturi create în MariaDB:
- Autentificare: pma, Parolă: Qwe123Acces complet, va fi folosit pentru a vă conecta la phpMyAdmin
- Autentificare: pmaservice, Parola: Qwe123Contul de serviciu este necesar pentru ca funcțiile suplimentare să funcționeze
La pasul următor, vom seta aceste detalii în fișierul de configurare „config.inc.php”.
Apoi va trebui să importăm baza de date din fișierul „phpMyAdmin/sql/create_tables.sql”.
Să-l importăm cu ajutorul phpMyAdmin.
Deschideți linkul „http://[adresa_ip_a_serverului]/pma”
Introduceți numele de utilizator „pma” și parola „Qwe123”
Accesați „Import” , faceți clic pe „Select file” și selectați fișierul „sql/create_tables.sql” în directorul rădăcină al phpMyAdmin. Acolo ar trebui să existe folderul „phpMyAdmin” pe PC-ul dvs. cu fișiere. Dezarhivați-l dacă este necesar.
Faceți clic pe „Următorul” pentru a începe importul.
4. configurație
Să copiem fișierul de configurare din șablon
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Să deschidem fișierul de configurare „/var/www/sites/phpMyAdmin/config.inc.php” și să facem următoarele modificări:
Setați o valoare aleatorie de 32 de caractere pentru atributul „$cfg['blowfish_secret']” . Folosiți orice generator de parole pentru aceasta.
Eliminați comentariile de pe toate liniile secțiunii „phpMyAdmin configuration storage settings” și setați în mod corespunzător numele de utilizator și parola contului de serviciu MariaDB pentru atributele „controluser” și „controlpass” . În cazul nostru, este vorba de pmaservice și Qwe123.
Salvați modificările.
Detalii de acces pentru phpMyadmin:
- http://[server’s_ip_address]/pma/
- Autentificare: pma
- Parola: Qwe123
Cum se instalează și se configurează WordPress pe un server Linux
1. Pachetul WordPress și plasarea fișierelor
Accesați site-ul oficial WP „ https://ru.wordpress.org/ ” și descărcați arhiva pe PC-ul dvs. local.
Încărcați arhiva pe server în folderul „/var/www/sites/” și dezarhivați-o în folderul „wordpress ”.
Copiați conținutul folderului rădăcină „/var/www/sites/wordpress/” al site-ului web „/var/www/sites/site1/”.
Întrucât am copiat fișierele prin consolă cu permisiuni de root, haideți să schimbăm proprietarul folderului „/var/www/sites/”, inclusiv conținutul folderului „virtual” . Acest lucru este necesar pentru a permite accesul complet pentru conexiunea ftp prin client.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Creați o bază de date pentru WordPress
Conectați-vă la phpMyAdmin și faceți clic pe „Creați o bază de date”. Specificați un nume de bază de date arbitrar, în cazul nostru „wordpress_db” și faceți clic pe butonul „Creați”.
Selectați noua bază de date în secțiunea din stânga și faceți clic pe „Privilegii”
Apoi faceți clic pe „Adăugați cont de utilizator”.
Introduceți numele de utilizator și parola ( wpservice / Qwe123 ) în fereastra deschisă, bifați „Acordați toate privilegiile în wordpress_db” și faceți clic pe „Următorul”.
Pe pagina următoare, faceți clic pe „Anulare totală” pentru a reseta toate privilegiile la nivel de bază de date și faceți clic pe „Următorul”.
3. Configurare WordPress pe un server Linux
Accesați directorul rădăcină al site-ului dvs. și copiați fișierul de configurare din șablon
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Deschideți fișierul „wp-config.php” și introduceți parametrii de conectare la baza de date pe care i-am creat la pasul anterior și salvați modificările.
4. Instalați CMS WordPress
Deschideți următorul link în browser „http://[adresa_ip_a_serverului]/wp-admin/install.php”.
Completați toate câmpurile și faceți clic pe „Instalare WordPress” . Setați un nume de utilizator și o parolă aleatorii. În cazul nostru, este wpadmin și Qwe123, respectiv.
Aceste detalii vor fi folosite pentru a accesa WordPress.
După ce terminați instalarea, deschideți linkul „http://[adresa_ip_a_serverului]/wp-login.php” , introduceți detaliile de acces și conectați-vă la WordPress.
Ar trebui să vedeți unul dintre șabloanele WordPress pe pagina principală.
Configurarea este terminată.
Detalii de acces WordPress:
- http://[server’s_ip_address]/wp-login.php
- Autentificare: wpadmin
- Parola: Qwe123