V tomto článku vám poskytneme podrobné pokyny, jak nakonfigurovat webové prostředí na serveru se systémem Linux. Nejprve musíte pochopit, že typický webový server se skládá z několika vzájemně se ovlivňujících komponent:
- HTTP server
- interpret programovacího jazyka
- systém pro správu databází (DBMS)
Pro správu vašeho webu budete také potřebovat nastavit redakční systém (CMS), webové rozhraní pro správu databází a FTP přístup.
Zvažme nastavení velmi oblíbené konfigurace Apache-PHP-MySQL (MariaDB) na Linuxu. Dále nainstalujeme ftp server vsftpd, phpMyAdmin - webové rozhraní pro správu databází a redakční systém WordPress.
Pro začátek si prosím objednejte VPS server nebo dedikovaný server . Například jsme použili virtuální server se statickou IP adresou s operačním systémem Ubuntu Server 18.04. Všechny příkazy spouštěl uživatel root.
Konfigurace HTTP serveru Apache
1. Instalace
apt install apache2
Po dokončení instalace otevřete prohlížeč a zaškrtněte políčko „http://[ip_adresa_serveru]“.
Pokud na výše uvedeném snímku vidíte uvítací stránku, jako je tato, znamená to, že váš HTTP server funguje.
2. Vytvořte testovací stránku
Výchozí kořenový adresář pro web je „/var/www/html“ . Zde najdete úvodní stránku, kterou jste právě viděli. Vytvořme samostatný adresář „/var/www/sites“ pro virtuální hostitele a podsložku „/var/www/sites/site1“ s indexovou stránkou vašeho testovacího webu.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Ve výsledku by soubor „/var/www/sites/site1/index.html“ měl obsahovat pouze jeden řádek html kódu:
<H1>Welcome</H1>
3. Konfigurace serveru Apache
Konfigurační soubory webových stránek jsou v katalogu „/etc/apache2/sites-available/“ . Vytvořme konfigurační soubor pro nový virtuální hostitel na základě výchozí konfigurace ze souboru „ 000-default.conf“ .
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Otevřete soubor „site1.conf“ a změňte atribut „DocumentRoot“ . Jako hodnotu zadejte cestu k vašemu webu, v našem případě „/var/www/sites/site1“.
V této fázi nepotřebujeme konfigurovat současný provoz více webů, takže můžeme deaktivovat výchozí web a povolit web nový. Chcete-li použít změny, znovu načtěte konfiguraci serveru.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Znovu otevřete odkaz „http://[ip_adresa_serveru]“ a ujistěte se, že místo výchozí uvítací stránky máme naši novou stránku.
Dokončili jsme konfiguraci našeho HTTP serveru a můžeme přejít k dalšímu kroku.
Konfigurace serveru FTP
1. Instalace
Nainstalujme si náš ftp server a další balíček „db-util“ , který budeme potřebovat ke konfiguraci virtuálních uživatelů.
apt install vsftpd db-util
2. Vytvořte místní účet
Server vsftpd nám umožňuje konfigurovat přístupová oprávnění velmi flexibilním způsobem. Pro naše úkoly musíme uživatelům ftp poskytnout následující:
- plný přístup k obsahu „/var/www/sites/“;
- zakázat vše, co je výše „/var/www/“;
- propojení s virtuálním účtem;
Vytvořte lokální účet „virtuální“ bez oprávnění k přihlášení, ale s přístupem k domovské složce „/var/www/“ . Tento účet budou používat uživatelé ftp pro připojení k serveru.
useradd -d /var/www virtual
Ve výchozím nastavení bude vlastníkem složky „/var/www“ uživatel „Root“ . Abychom uživatelům FTP umožnili upravovat obsah webových stránek, změníme vlastníka složky „/var/www/sites/“ včetně podsložek „virtual“.
chown -R virtual:root /var/www/sites
V důsledku toho bude uživatel „virtuální“ moci vidět obsah „/var/www/“ a zapisovat do podsložky „/var/www/sites/“.
3. konfigurace
Hlavní konfigurace je v souboru „/etc/vsftpd.conf“ , takže si ho otevřeme a upravíme takto:
#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. Vytvořte databázi
K ukládání dat virtuálních účtů budete potřebovat databázi.
Nejprve si v domovské složce vytvořme jednoduchý textový soubor „users.txt“ a do něj uložíme přístupové údaje (přihlašovací jméno a heslo) virtuálních uživatelů do každého druhého řádku. Například budeme potřebovat virtuálního uživatele s přihlašovacím jménem „ftp“ a heslem „Qwe123“ . Soubor pak bude vypadat takto:
ftp
Qwe123
Pojďme vytvořit databázi
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Upravme výchozí soubor 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
Vezměte prosím na vědomí, že cesta ke knihovně „pam_userdb.so“ se může lišit, ale v případě potřeby ji můžete změnit.
Chcete-li použít změny, znovu načtěte server vsftpd.
systemctl restart vsftpd
Dokončili jsme konfiguraci FTP serveru.
Podrobnosti o připojení:
- ftp://[adresa_ip_serveru]
- přihlášení: ftp
- heslo: Qwe123
Konfigurace PHP serveru
1. Instalace PHP
Dnes je nejnovější stabilní verze PHP php 7.4.5, která není součástí oficiálních repozitářů Ubuntu. Pojďme připojit úložiště třetí strany a nainstalovat nejnovější verzi PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Kontrola
Aby se PHP kód spustil, musí mít soubor webové stránky příponu „.php“ . Přejmenujeme naši testovací stránku:
cd /var/www/sites/site1/
mv index.html index.php
Přidejte do souboru „/var/www/sites/site1/index.php“ následující řádek PHP , takže soubor by měl vypadat takto:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Uložte změny a zkontrolujte výsledek v prohlížeči.
Pokud vidíte výsledek funkce „phpinfo()“ , interpret PHP funguje správně. Nyní pojďme k dalšímu kroku.
Konfigurace MySQL (MariaDB).
1. Instalace
Nainstalujme MariaDB a modul PHP pro MySQL a poté znovu načtěte Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Aktualizujte testovací stránku a v konfigurační tabulce PHP přejděte do sekce PDO. Pokud najdete sekci „PDO_mysql“ , znamená to, že ovladač pro MySQL je správně nainstalován.
Pak budeme muset provést počáteční konfiguraci zabezpečení MariaDB a nastavit heslo pro uživatele „root“ , zakázat vzdálený přístup a smazat všechny účty hostů.
mysql_secure_installation
V prvním kroku musíme zadat heslo uživatele „root“ pro přístup k DBMS nebo stisknout Enter, pokud heslo není zadáno. Protože po instalaci pro uživatele „root“ heslo nastaveno není , stačí stisknout „Enter“.
Upozorňujeme, že v MariaDB již existují vlastní účty, které nemají nic společného s účty operačního systému. Jediný uživatel, se kterým se v MariaDB setkáváme, je tedy „root“.
Poté nás konfigurátor požádá o nastavení hesla pro uživatele root. Potvrďte zadáním „Y“ a zadejte nové heslo. V našem případě je to „Qwe123“.
Na všechny zbývající otázky až do samého konce odpovězte „A“ .
Konfigurace je hotová!
Přístupové údaje MariaDB:
- Přihlášení: root
- Heslo: Qwe123
konfigurace phpMyAdmin
1. Instalace
Nainstalujme si potřebné rozšíření pro PHP - mbstring.
apt install php-mbstring
V oficiálním úložišti je pouze zastaralá verze phpMyAdmin, takže nainstalujme novou ručně.
Otevřete oficiální webové stránky projektu „ https://www.phpmyadmin.net/ “ a stáhněte si nejnovější archiv.
Zkopírujte archiv na server do složky „/var/www/sites/“ pomocí libovolného ftp klienta.
Rozarchivujte složku a přejmenujte ji na „phpMyAdmin“ . Nezapomeňte nainstalovat utilitu „unzip“ . Po rozarchivování můžete archiv smazat.
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
Vytvořte následující složku „/var/www/sites/phpMyAdmin/tmp“ pro dočasné soubory a povolte přístup všem. Pokud tak neučiníte, phpMyAdmin nahlásí odepření přístupu k dočasné složce.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Vytvořte alias
Vzhledem k tomu, že phpMyAdmin není samostatný virtuální hostitel a je umístěn mimo kořenový adresář, pojďme nakonfigurovat alias.
Otevřete soubor „/etc/apache2/mods-available/alias.conf“ a přidejte tento řádek:
Alias /pma “/var/www/sites/phpMyAdmin"
uvnitř této sekce:
<IfModule alias_module>
</IfModule>
Pro použití změn znovu načtěte Apache.
systemctl reload apache2
Alias je nastaven, takže se k phpMyAdmin můžeme přihlásit zde „http://[ip_adresa_serveru]/pma“.
3. Připravte databázi
Protože jsme během počáteční konfigurace MariaDB omezili používání uživatele root, budeme muset vytvořit nový účet se všemi oprávněními, která budou použita pro přístup k phpMyAdmin.
Kromě toho, abychom povolili další funkce phpMyAdmin, budeme potřebovat servisní databázi a účet pro přístup k ní.
Pojďme vytvořit úč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ázev databáze ve druhém požadavku je v zákulisí „… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …“,
Ve výsledku budou v MariaDB vytvořeny dva účty:
- Přihlášení: pma, Heslo: Qwe123Plný přístup, bude použito pro přihlášení do phpMyAdmin
- Přihlášení: pmaservice, Heslo: Qwe123Pro fungování dalších funkcí je vyžadován servisní účet
V dalším kroku nastavíme tyto údaje v konfiguračním souboru „config.inc.php“.
Pak budeme muset importovat databázi ze souboru „phpMyAdmin/sql/create_tables.sql“.
Pojďme to importovat pomocí phpMyAdmin.
Otevřete odkaz „http://[ip_adresa_serveru]/pma“
Zadejte přihlašovací jméno „pma“ a heslo „Qwe123“
Přejděte do sekce „Import“ , klikněte na „Vybrat soubor“ a v kořenovém adresáři phpMyAdmin vyberte soubor „sql/create_tables.sql“ . Na vašem počítači by se měla nacházet složka „phpMyAdmin“ se soubory. V případě potřeby ji rozarchivujte.
Klikněte na tlačítko „Další“ pro zahájení importu.
4. konfigurace
Zkopírujeme konfigurační soubor ze šablony
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Otevřeme konfigurační soubor „/var/www/sites/phpMyAdmin/config.inc.php“ a provedeme následující změny:
Nastavte náhodnou 32místnou hodnotu pro atribut „$cfg['blowfish_secret']“ . Použijte pro to libovolný generátor hesel.
Odeberte komentáře ze všech řádků sekce „phpMyAdmin configuration storage settings“ a odpovídajícím způsobem nastavte přihlašovací jméno a heslo servisního účtu MariaDB pro atributy „controluser“ a „controlpass“ . V našem případě se jedná o pmaservice a Qwe123.
Uložte změny.
Přístupové údaje pro phpMyAdmin:
- http://[server’s_ip_address]/pma/
- Přihlášení: pma
- Heslo: Qwe123
Jak nainstalovat a nakonfigurovat WordPress na serveru Linux
1. Umístění balíčku a souborů WordPress
Přejděte na oficiální webové stránky WordPress „ https://ru.wordpress.org/ “ a stáhněte si archiv do svého počítače.
Nahrajte archiv na server do složky „/var/www/sites/“ a rozarchivujte jej do složky „wordpress “.
Zkopírujte obsah kořenové složky „/var/www/sites/wordpress/“ webu „/var/www/sites/site1/“.
Protože jsme soubory zkopírovali přes konzoli s root oprávněními, změníme vlastníka složky „/var/www/sites/“ včetně obsahu složky „virtual“ . To je nutné pro povolení plného přístupu k ftp připojení přes 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. Vytvořte databázi pro WordPress
Přihlaste se do phpMyAdmin a klikněte na „Vytvořit databázi“. Zadejte libovolný název databáze, v našem případě „wordpress_db“ a klikněte na tlačítko „Vytvořit“.
V levé části vyberte novou databázi a klikněte na „Oprávnění“.
Poté klikněte na „Přidat uživatelský účet“.
V otevřeném okně zadejte přihlašovací jméno a heslo ( wpservice / Qwe123 ), zaškrtněte políčko „Udělit všechna oprávnění v souboru wordpress_db“ a klikněte na „Další“.
Na další stránce klikněte na „Zrušit vše“ pro resetování všech oprávnění na úrovni databáze a klikněte na „Další“.
3. Konfigurace WordPressu na linuxovém serveru
Přejděte do kořenového adresáře svého webu a zkopírujte konfigurační soubor ze šablony
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Otevřete soubor „wp-config.php“ a zadejte parametry připojení k databázi, které jsme vytvořili v předchozím kroku, a uložte změny.
4. Nainstalujte CMS WordPress
V prohlížeči otevřete následující odkaz „http://[ip_adresa_serveru]/wp-admin/install.php“.
Vyplňte všechna pole a klikněte na „Instalovat WordPress“ . Nastavte náhodné uživatelské jméno a heslo. V našem případě je to wpadmin a Qwe123.
Tyto údaje budou použity pro přístup k WordPress.
Po dokončení instalace otevřete odkaz „http://[ip_adresa_serveru]/wp-login.php“ , zadejte přístupové údaje a přihlaste se do WordPressu.
Na hlavní stránce byste měli vidět jednu z WordPress šablon.
Konfigurace je dokončena.
Přístupové údaje WordPress:
- http://[server’s_ip_address]/wp-login.php
- Přihlášení: wpadmin
- Heslo: Qwe123