V tomto článku vám poskytneme podrobné pokyny, ako nakonfigurovať webové prostredie na serveri so systémom Linux. Najprv musíte pochopiť, že typický webový server pozostáva z niekoľkých vzájomne sa ovplyvňujúcich komponentov:
- HTTP server
- tlmočník programovacieho jazyka
- systém správy databáz (DBMS)
Pre správu vašej webovej stránky budete potrebovať aj nastavenie redakčného systému (CMS), webové rozhranie pre správu databáz a FTP prístup.
Pozrime sa na nastavenie veľmi populárnej konfigurácie Apache-PHP-MySQL (MariaDB) v systéme Linux. Ďalej nainštalujeme ftp server vsftpd, phpMyAdmin - webové rozhranie pre správu databáz a redakčný systém WordPress.
Pre začiatok si prosím objednajte VPS server alebo dedikovaný server . Napríklad sme použili virtuálny server so statickou IP adresou s operačným systémom Ubuntu Server 18.04. Všetky príkazy spúšťal používateľ root.
Konfigurácia HTTP servera Apache
1. inštalácia
apt install apache2
Po dokončení inštalácie otvorte prehliadač a zaškrtnite políčko „http://[ip_adresa_servera]“.
Ak na snímke vyššie vidíte uvítaciu stránku, ako je táto, znamená to, že váš HTTP server funguje.
2. Vytvorte testovaciu stránku
Predvolený koreňový adresár webovej stránky je „/var/www/html“ . Tu nájdete úvodnú stránku, ktorú ste práve videli. Vytvorme samostatný adresár „/var/www/sites“ pre virtuálne hostiteľské systémy a podpriečinok „/var/www/sites/site1“ s indexovou stránkou vašej testovacej webovej stránky.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Výsledkom by mal byť súbor „/var/www/sites/site1/index.html“ obsahujúci iba jeden riadok html kódu:
<H1>Welcome</H1>
3. Konfigurácia servera Apache
Konfiguračné súbory webových stránok sa nachádzajú v katalógu „/etc/apache2/sites-available/“ . Vytvorme konfiguračný súbor pre nový virtuálny hostiteľ, pričom ako základ vezmime predvolenú konfiguráciu zo súboru „000-default.conf“ .
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Otvorte súbor „site1.conf“ a zmeňte atribút „DocumentRoot“ . Ako hodnotu zadajte cestu k vašej webovej stránke, v našom prípade je to „/var/www/sites/site1“.
V tejto fáze nepotrebujeme konfigurovať súčasnú prevádzku viacerých webových stránok, takže môžeme deaktivovať predvolenú webovú stránku a povoliť novú stránku. Ak chcete použiť zmeny, znova načítajte konfiguráciu servera.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Znova otvorte odkaz „http://[ip_adresa_servera]“ a uistite sa, že namiesto predvolenej uvítacej stránky máme našu novú stránku.
Dokončili sme konfiguráciu nášho HTTP servera a môžeme prejsť na ďalší krok.
Konfigurácia servera FTP
1. inštalácia
Nainštalujme si náš ftp server a ďalší balík „db-util“ , ktorý budeme potrebovať na konfiguráciu virtuálnych používateľov.
apt install vsftpd db-util
2. Vytvorte si lokálny účet
Server vsftpd nám umožňuje konfigurovať prístupové povolenia veľmi flexibilným spôsobom. Pre naše úlohy musíme používateľom ftp poskytnúť nasledovné:
- úplný prístup k obsahu „/var/www/sites/“;
- vypnúť všetko, čo je uvedené vyššie „/var/www/“;
- spojenie s virtuálnym účtom;
Vytvorte lokálny účet „virtuálny“ bez prihlasovacích práv, ale s prístupom k domovskému priečinku „/var/www/“ . Tento účet budú používať používatelia ftp na pripojenie k serveru.
useradd -d /var/www virtual
„Root“ bude štandardne vlastníkom priečinka „/var/www“ . Aby sme umožnili používateľom ftp upravovať obsah webových stránok, zmeňme vlastníka „/var/www/sites/“ vrátane podpriečinkov „virtual“.
chown -R virtual:root /var/www/sites
V dôsledku toho bude môcť používateľ „virtuálny“ vidieť obsah priečinka „/var/www/“ a zapisovať do podpriečinka „/var/www/sites/“.
3. konfigurácia
Hlavná konfigurácia sa nachádza v súbore „/etc/vsftpd.conf“ , takže ho otvorme a upravme nasledovne:
#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. Vytvorte databázu
Na ukladanie údajov virtuálnych účtov budete potrebovať databázu.
Najprv si v domovskom priečinku vytvorme jednoduchý textový súbor „users.txt“ a do každého druhého riadku uložíme prístupové údaje (prihlasovacie meno a heslo) virtuálnych používateľov. Napríklad budeme potrebovať virtuálneho používateľa s prihlasovacím menom „ftp“ a heslom „Qwe123“ . Súbor bude potom vyzerať takto:
ftp
Qwe123
Poďme vytvoriť databázu
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Upravme predvolený súbor PAM „/etc/pam.d/vsftp“ takto:
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
Upozorňujeme, že cesta ku knižnici „pam_userdb.so“ sa môže líšiť, ale v prípade potreby ju môžete zmeniť.
Ak chcete použiť zmeny, znova načítajte server vsftpd.
systemctl restart vsftpd
Dokončili sme konfiguráciu FTP servera.
Podrobnosti pripojenia:
- ftp://[adresa_ip_servera]
- prihlásenie: ftp
- heslo: Qwe123
Konfigurácia PHP servera
1. Inštalácia PHP
Najnovšia stabilná verzia PHP je dnes php 7.4.5, ktorá nie je súčasťou oficiálnych repozitárov Ubuntu. Pripojme úložisko tretej strany a nainštalujte najnovšiu verziu PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. check
Aby sa PHP kód spustil, súbor webovej stránky musí mať príponu „.php“ . Premenujme našu testovaciu stránku:
cd /var/www/sites/site1/
mv index.html index.php
Pridajte nasledujúci riadok PHP do súboru „/var/www/sites/site1/index.php“ , aby súbor vyzeral takto:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Uložte zmeny a skontrolujte výsledok v prehliadači.
Ak vidíte výsledok funkcie „phpinfo()“ , interpret PHP funguje správne. Teraz prejdime k ďalšiemu kroku.
Konfigurácia MySQL (MariaDB).
1. inštalácia
Nainštalujte MariaDB a modul PHP pre MySQL a potom znova načítajte Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Obnovte testovaciu stránku a prejdite do sekcie PDO v konfiguračnej tabuľke PHP. Ak nájdete sekciu „PDO_mysql“ , znamená to, že ovládač pre Mysql je správne nainštalovaný.
Potom budeme musieť vykonať počiatočnú konfiguráciu zabezpečenia MariaDB a nastaviť heslo pre používateľa „root“ , zakázať vzdialený prístup a odstrániť všetky účty hostí.
mysql_secure_installation
V prvom kroku musíme zadať heslo používateľa „root“ pre prístup k DBMS alebo stlačiť kláves Enter, ak heslo nie je zadané. Keďže po inštalácii nie je pre používateľa „root“ nastavené žiadne heslo , stačí stlačiť kláves „Enter“.
Upozorňujeme, že v MariaDB už existujú vlastné účty, ktoré nemajú nič spoločné s účtami operačného systému. Takže jediný používateľ, s ktorým sa v MariaDB stretávame, je „root“.
Potom nás konfigurátor požiada o nastavenie hesla pre používateľa root. Potvrďte zadaním „Y“ a zadajte nové heslo. V našom prípade je to „Qwe123“.
Na všetky ostatné otázky až do samého konca odpovedzte „Áno“ .
Konfigurácia je hotová!
Podrobnosti o prístupe do MariaDB:
- Prihlásenie: root
- Heslo: Qwe123
konfigurácia phpMyAdmin
1. inštalácia
Nainštalujme si potrebné rozšírenie pre PHP - mbstring.
apt install php-mbstring
V oficiálnom úložisku je len zastaraná verzia phpMyAdmin, tak si novú nainštalujte manuálne.
Otvorte oficiálnu webovú stránku projektu „ https://www.phpmyadmin.net/ “ a stiahnite si najnovší archív.
Skopírujte archív na server do priečinka „/var/www/sites/“ pomocou ľubovoľného ftp klienta.
Rozarchivujte priečinok a premenujte ho na „phpMyAdmin“ . Nezabudnite nainštalovať utilitu „unzip“ . Po rozarchivovaní môžete archív odstrániť.
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
Vytvorte nasledujúci priečinok „/var/www/sites/phpMyAdmin/tmp“ pre dočasné súbory a povoľte prístup pre všetkých. Ak tak neurobíte, phpMyAdmin nahlási odmietnutie prístupu k dočasnému priečinku.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Vytvorte alias
Keďže phpMyAdmin nie je samostatný virtuálny hostiteľ a nachádza sa mimo koreňového adresára, nakonfigurujme alias.
Otvorte súbor „/etc/apache2/mods-available/alias.conf“ a pridajte tento riadok:
Alias /pma “/var/www/sites/phpMyAdmin"
v tejto sekcii:
<IfModule alias_module>
</IfModule>
Ak chcete použiť zmeny, znova načítajte Apache.
systemctl reload apache2
Alias je nastavený, takže k phpMyAdmin môžeme pristupovať tu „http://[ip_adresa_servera]/pma“.
3. Pripravte databázu
Keďže sme počas počiatočnej konfigurácie MariaDB obmedzili používanie používateľa root, budeme musieť vytvoriť nový účet so všetkými povoleniami, ktoré budú použité na prístup k phpMyAdmin.
Okrem toho, aby sme povolili ďalšie funkcie phpMyAdmin, budeme potrebovať servisnú databázu a účet na prístup k nej.
Poďme vytvoriť účty
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
Upozorňujeme, že názov databázy v druhej požiadavke je v back sparks „… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …“,
Výsledkom budú dva účty vytvorené v MariaDB:
- Prihlasovacie meno: pma, Heslo: Qwe123Plný prístup, použije sa na prihlásenie do phpMyAdmin
- Prihlasovacie meno: pmaservice, Heslo: Qwe123Na fungovanie ďalších funkcií je potrebný servisný účet
V ďalšom kroku nastavíme tieto údaje v konfiguračnom súbore „config.inc.php“.
Potom budeme musieť importovať databázu zo súboru „phpMyAdmin/sql/create_tables.sql“.
Naimportujeme ho pomocou phpMyAdmin.
Otvorte odkaz „http://[ip_adresa_servera]/pma“
Zadajte prihlasovacie meno „pma“ a heslo „Qwe123“
Prejdite na „Importovať“ , kliknite na „Vybrať súbor“ a v koreňovom adresári phpMyAdmin vyberte súbor „sql/create_tables.sql“ . Na vašom počítači by sa mal nachádzať priečinok „phpMyAdmin“ so súbormi. V prípade potreby ho rozarchivujte.
Kliknite na tlačidlo „Ďalej“ pre spustenie importu.
4. konfigurácia
Skopírujeme konfiguračný súbor zo šablóny
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Otvoríme konfiguračný súbor „/var/www/sites/phpMyAdmin/config.inc.php“ a vykonáme nasledujúce zmeny:
Nastavte náhodnú 32-miestnu hodnotu pre atribút „$cfg['blowfish_secret']“ . Použite na to ľubovoľný generátor hesiel.
Odstráňte komentáre zo všetkých riadkov sekcie „nastavenia úložiska konfigurácie phpMyAdmin“ a podľa toho nastavte prihlasovacie meno a heslo servisného účtu MariaDB pre atribúty „controluser“ a „controlpass“ . V našom prípade sú to pmaservice a Qwe123.
Uložte zmeny.
Prístupové údaje pre phpMyAdmin:
- http://[server’s_ip_address]/pma/
- Prihlásenie: pma
- Heslo: Qwe123
Ako nainštalovať a nakonfigurovať WordPress na serveri Linux
1. Umiestnenie balíka WordPress a súborov
Prejdite na oficiálnu webovú stránku WordPress „ https://ru.wordpress.org/ “ a stiahnite si archív do svojho počítača.
Nahrajte archív na server do priečinka „/var/www/sites/“ a rozarchivujte ho do priečinka „wordpress “.
Skopírujte obsah koreňového priečinka „/var/www/sites/wordpress/“ webovej stránky „/var/www/sites/site1/“.
Keďže sme súbory skopírovali cez konzolu s root oprávneniami, zmeňme vlastníka priečinka „/var/www/sites/“ vrátane obsahu priečinka „virtual“ . Toto je potrebné na povolenie plného prístupu pre ftp pripojenie cez klienta.
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. Vytvorte databázu pre WordPress
Prihláste sa do phpMyAdmin a kliknite na „Vytvoriť databázu“. Zadajte ľubovoľný názov databázy, v našom prípade „wordpress_db“ a kliknite na tlačidlo „Vytvoriť“.
V ľavej časti vyberte novú databázu a kliknite na „Privilégiá“.
Potom kliknite na tlačidlo „Pridať používateľský účet“.
V otvorenom okne zadajte prihlasovacie meno a heslo ( wpservice / Qwe123 ), začiarknite políčko „Udeliť všetky privilégiá v súbore wordpress_db“ a kliknite na tlačidlo „Ďalej“.
Na ďalšej stránke kliknite na tlačidlo „Zrušiť všetko“ , čím resetujete všetky privilégiá na úrovni databázy, a potom kliknite na tlačidlo „Ďalej“.
3. Konfigurácia WordPress na serveri Linux
Prejdite do koreňového adresára svojej webovej lokality a skopírujte konfiguračný súbor zo šablóny
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Otvorte súbor „wp-config.php“ a zadajte parametre pripojenia k databáze, ktoré sme vytvorili v predchádzajúcom kroku, a uložte zmeny.
4. Nainštalujte CMS WordPress
V prehliadači otvorte nasledujúci odkaz „http://[ip_adresa_servera]/wp-admin/install.php“.
Vyplňte všetky polia a kliknite na tlačidlo „Inštalovať WordPress“ . Nastavte náhodné používateľské meno a heslo. V našom prípade je to wpadmin a Qwe123.
Tieto podrobnosti sa použijú na prístup k WordPress.
Po dokončení inštalácie otvorte odkaz „http://[ip_adresa_servera]/wp-login.php“ , zadajte prístupové údaje a prihláste sa do WordPressu.
Na hlavnej stránke by ste mali vidieť jednu z WordPress šablón.
Konfigurácia je dokončená.
Podrobnosti o prístupe k WordPress:
- http://[server’s_ip_address]/wp-login.php
- Prihlásenie: wpadmin
- Heslo: Qwe123