Î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 a începe vă rog comanda server VPS or server dedicat. De exemplu, am folosit un server virtual cu adresă IP statică care rulează Ubuntu Server 18.04. Toate comenzile au fost executate de utilizatorul root.
Configurare Apache HTTP Server
1. Instalare
apt install apache2
Când instalarea s-a terminat, deschideți un browser și verificați „http://[adresa_ip_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 gazde virtuale și un subfolder „/var/www/sites/site1” cu pagina de index a site-ului dvs. de testare.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
În rezultat dosarul „/var/www/sites/site1/index.html” ar trebui să conțină doar o singură linie de cod html:
<H1>Welcome</H1>
3. Configurare server Apache
Fișierele de configurare ale site-urilor web sunt în „/etc/apache2/sites-available/” catalog. Să creăm un fișier de configurare pentru o nouă gazdă virtuală luând configurația implicită din fișier „000-default.conf” ca bază.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Deschideți fișierul „site1.conf” și schimbați „DocumentRoot” atribut. Puneți calea site-ului dvs. ca valoare, așa că î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 linkul „http://[adresa_ip_serverului]” din nou și asigurați-vă că în loc de pagina implicită de bun venit 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”, că va trebui să configuram utilizatori 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ă permisiunea de autentificare, 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
"Rădăcină" va fi proprietarul „/var/www” folder în mod implicit. Pentru a le permite utilizatorilor ftp să modifice conținutul site-urilor web, să schimbăm proprietarul „/var/www/sites/” inclusiv subfolderele de "virtual".
chown -R virtual:root /var/www/sites
Ca urmare, utilizatorul "virtual" va putea vedea conținutul „/var/www/” și scrieți în „/var/www/sites/” subdosar.
3. configurație
Configurația principală este în fișier „/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, să creăm un fișier text simplu „users.txt” în folderul principal și salvați detaliile de acces (login și parolă) ale utilizatorilor virtuali în fiecare altă linie. De exemplu, vom avea nevoie de un utilizator virtual cu autentificare „ftp” și parola „Qwe123”. Apoi 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
Vă rugăm să rețineți că calea „pam_userdb.so” biblioteca poate fi diferită, dar o puteți schimba 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ă fie executat, fișierul paginii web ar trebui să aibă „.php” extensie. Să redenumim pagina noastră de test:
cd /var/www/sites/site1/
mv index.html index.php
Adăugați următoarea linie php la fișier „/var/www/sites/site1/index.php”, deci fișierul ar trebui 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()”, interpretul 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. Daca gasesti sectiunea „PDO_mysql”, atunci î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 "Rădăcină" utilizator, dezactivați accesul la distanță și ștergeți toate conturile de oaspeți.
mysql_secure_installation
La primul pas, trebuie să intrăm în "rădăcină" parola utilizatorului pentru a accesa DBMS sau apăsați Enter dacă nu există o parolă. Deoarece nu este setată o parolă pentru "rădăcină" utilizator după instalare, trebuie doar să apăsați "Introduce".
Vă rugăm să rețineți că în MariaDB există deja conturi proprii care nu au nicio legătură cu conturile OS. Deci singurul utilizator cu care avem de-a face în MariaDB este "rădăcină".
După aceea, configuratorul ne va cere să setăm parola pentru utilizatorul root. Tip „Y” pentru a confirma și introduce noua parolă. În cazul nostru, este „Qwe123”
răspuns „Y” la toate celelalte întrebări până la capăt.
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 site-ul oficial al proiectului „https://www.phpmyadmin.net/” și descărcați cea mai recentă arhivă.
Copiați arhiva pe server în „/var/www/sites/” folder folosind orice client ftp.
Dezarhivați folderul și redenumiți-l în „phpMyAdmin”. Nu uitați să instalați „dezarhivați” utilitate. 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șiere temporare și permite 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, așa că putem accesa phpMyAdmin aici „http://[adresa_ip_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
Vă rugăm să rețineți că numele bazei de date din a doua solicitare este în spate „… ON `phpmyadmin`.* LA 'pma'@'localhost' IDENTIFICAT DE …”,
Î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șier „phpMyAdmin/sql/create_tables.sql”.
Să-l importăm cu ajutorul phpMyAdmin.
Deschideți linkul „http://[adresa_ip_serverului]/pma”
Introduceți autentificare „pma” și parola „Qwe123”
Accesează "Import", Faceți clic pe „Selectați fișierul” și selectați fișierul „sql/create_tables.sql” în directorul rădăcină al phpMyAdmin. Ar trebui să existe folderul pe computerul tău „phpMyAdmin” cu dosare. Dezarhivați-l dacă este necesar.
Clic "Următor →" 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 faceți următoarele modificări:
Setați o valoare aleatorie de 32 de caractere pentru atribut „$cfg['blowfish_secret']”. Folosește orice generator de parole pentru asta...
Eliminați comentariile din toate rândurile din „Setări de stocare a configurației phpMyAdmin” secțiunea și setați autentificarea și parola contului de serviciu al MariaDB pentru „utilizator de control” și „controlpass” atribute în consecință. În cazul nostru, este 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 computerul local.
Încărcați arhiva pe server în „/var/www/sites/” folder și dezarhivați-l în „Wordpress"Dosar.
Copiați conținutul „/var/www/sites/wordpress/” folderul rădăcină al „/var/www/sites/site1/” site-ul web.
Deoarece am copiat fișierele prin intermediul consolei cu permisiuni root, să schimbăm proprietarul fișierului „/var/www/sites/” folder incluzând conținutul "virtual". Acest lucru este necesar pentru a activa accesul complet pentru conexiunea ftp prin intermediul clientului.
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 „Privilegii”
Apoi faceți clic pe „Adăugați un cont de utilizator”.
Introduceți login și parola (wpservice / Qwe123) în fereastra deschisă, verificați „Acordați toate privilegiile în wordpress_db” și faceți clic "Următor →"
Pe pagina următoare faceți clic „Anulează tot” pentru a reseta toate privilegiile la nivelul bazei de date și faceți clic "Următor →".
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 „wp-config.php” fișier ș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_serverului]/wp-admin/install.php”.
Completați toate câmpurile și faceți clic „Instalează WordPress”. Setați un nume de utilizator și o parolă aleatoare. În cazul nostru, este wpadmin și Qwe123 în consecinţă.
Aceste detalii vor fi folosite pentru a accesa WordPress.
După ce terminați instalarea, deschideți linkul „http://[adresa_ip_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