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 prosím objednat VPS server or Dedikovaný server. Například jsme použili virtuální server se statickou IP adresou se 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 zkontrolujte „http://[adresa_ip_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ář webu je „/var/www/html“. Zde můžete najít uvítací 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 soubor „/var/www/sites/site1/index.html“ by 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 „/etc/apache2/sites-available/“ katalog. Pojďme vytvořit konfigurační soubor pro nového virtuálního hostitele, který vezme výchozí konfiguraci ze souboru "000-default.conf" jako základ.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Otevřete soubor "site1.conf" a změňte "DocumentRoot" atribut. Uveďte cestu svého webu jako hodnotu, takže v našem případě je „/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
Otevřete odkaz “http://[adresa_ip_serveru]” znovu 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
Pojďme nainstalovat náš ftp server a další balíček "db-util", že budeme muset nakonfigurovat virtuální uživatele
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 místní účet "virtuální" bez oprávnění k přihlášení, ale s přístupem do domovské složky „/var/www/“. Tento účet budou používat uživatelé ftp pro připojení k serveru
useradd -d /var/www virtual
"Vykořenit" bude vlastníkem „/var/www“ složku ve výchozím nastavení. Aby uživatelé ftp mohli upravovat obsah webových stránek, změňme vlastníka „/var/www/sites/“ včetně podsložek "virtuální".
chown -R virtual:root /var/www/sites
V důsledku toho uživatel "virtuální" budou moci zobrazit obsah „/var/www/“ a napište do „/var/www/sites/“ podsložka.
3. konfigurace
Hlavní konfigurace je v souboru "/etc/vsftpd.conf", takže jej otevřeme a upravíme následovně:
#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 vytvoříme jednoduchý textový soubor „users.txt“ v domovské složce a na každý druhý řádek ukládat přístupové údaje (login a heslo) virtuálních uživatelů. Například budeme potřebovat virtuálního uživatele s přihlášením "ftp" a heslo "Qwe123". Pak bude soubor 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“ následujícím způsobem:
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 "pam_userdb.so" knihovna 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 bylo možné PHP spustit, měl by mít soubor webové stránky „.php“ rozšíření. Přejmenujme naši testovací stránku:
cd /var/www/sites/site1/
mv index.html index.php
Přidejte do souboru následující řádek php „/var/www/sites/site1/index.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()", PHP interpret funguje správně. Nyní přistoupí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
Obnovte testovací stránku a přejděte do sekce PDO v konfigurační tabulce PHP. Pokud najdete sekci "PDO_mysql", pak to znamená, že ovladač pro Mysql je nainstalován správně.
Poté budeme muset provést počáteční konfiguraci zabezpečení MariaDB a nastavit heslo pro "Vykořenit" uživatele, zakažte vzdálený přístup a odstraňte všechny účty hostů.
mysql_secure_installation
V prvním kroku musíme vstoupit do "vykořenit" heslo uživatele pro přístup k DBMS nebo stiskněte Enter, pokud heslo neexistuje. Protože není nastaveno žádné heslo pro "vykořenit" uživatel po instalaci, stačí stisknout „Enter“.
Vezměte prosím na vědomí, že v MariaDB již existují vlastní účty, které nemají nic společného s účty OS. Takže jediný uživatel, se kterým se v MariaDB zabýváme, je "vykořenit".
Poté nás konfigurátor požádá o nastavení hesla pro uživatele root. Typ „Y“ potvrďte a zadejte nové heslo. V našem případě ano "Qwe123"
odpověď „Y“ na všechny ostatní otázky až do samého konce.
Konfigurace je hotová!
Přístupové údaje MariaDB:
- Přihlášení: root
- Heslo: Qwe123
konfigurace phpMyAdmin
1. Instalace
Pojďme nainstalovat 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řít oficiální stránky projektu “https://www.phpmyadmin.net/“ a stáhněte si nejnovější archiv.
Zkopírujte archiv na server v „/var/www/sites/“ složku pomocí libovolného ftp klienta.
Zrušte archivaci složky a přejmenujte ji na "phpMyAdmin". Nezapomeňte nainstalovat "rozbalit" utility. Po zrušení archivace 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 umožnit přístup všem. Pokud tak neučiníte, phpMyAdmin oznámí odmítnutí 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 zde můžeme přistupovat k phpMyAdmin “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
Vezměte prosím na vědomí, že název databáze ve druhém požadavku je ve zpětných jiskrách „… ON `phpmyadmin`.* NA 'pma'@'localhost' IDENTIFIKÁTOR …”,
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 detaily v konfiguračním souboru "config.inc.php".
Poté 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řejít "Import", Klepněte na tlačítko "Zvolte soubor" a vyberte soubor ”sql/create_tables.sql” v kořenovém adresáři phpMyAdmin. Složka by měla být na vašem PC "phpMyAdmin" se soubory. V případě potřeby jej zrušte z archivu.
klikněte "Další" začít importovat.
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 proveďte následující změny:
Nastavte pro atribut náhodnou hodnotu 32 znaků “$cfg['blowfish_secret']”. Použijte k tomu jakýkoli generátor hesel..
Odstraňte komentáře ze všech řádků "Nastavení úložiště konfigurace phpMyAdmin" a nastavte přihlašovací jméno a heslo servisního účtu MariaDB pro "ovládací uživatel" a "controlpass" atributy podle toho. V našem případě ano pmaservis 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í web WP “https://ru.wordpress.org/“ a stáhněte si archiv do místního počítače.
Nahrajte archiv na server do „/var/www/sites/“ složku a zrušte její archivaci do „wordpress".
Zkopírujte obsah souboru „/var/www/sites/wordpress/“ kořenová složka „/var/www/sites/site1/“ webová stránka.
Protože jsme zkopírovali soubory přes konzolu s oprávněními root, změňme vlastníka souboru „/var/www/sites/“ složky včetně obsahu "virtuální". To je nutné pro umožnění plného přístupu pro 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 "Privilegia"
Pak klikněte na tlačítko "Přidat uživatelský účet".
Zadejte přihlašovací jméno a heslo (wpservice / Qwe123) v otevřeném okně zkontrolujte "Udělte všechna oprávnění ve wordpress_db" a klepněte na tlačítko "Další"
Na další stránce klikněte “Zrušit vše” resetujte všechna oprávnění na úrovni databáze a klepně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 "wp-config.php" soubor 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
Otevřete v prohlížeči následující odkaz “http://[adresa_ip_serveru]/wp-admin/install.php”.
Vyplňte všechna pole a klikněte "Nainstalovat WordPress". Nastavte náhodné uživatelské jméno a heslo. V našem případě ano vstoupit a Qwe123 odpovídajícím způsobem.
Tyto údaje budou použity pro přístup k WordPress.
Po dokončení instalace otevřete odkaz “http://[adresa_ip_serveru]/wp-login.php”, zadejte přístupové údaje a přihlaste se do WordPress.
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