GNU/Linux >> Znalost Linux >  >> Debian

Nainstalujte WordPress 5 s Apache na Debian 9

Tento tutoriál vám ukáže, jak nainstalovat a nakonfigurovat nejnovější verzi WordPress 5 nad zásobníkem LAMP v Debianu 9 - Stretch. Wordpress je bezpochyby jedním z nejpopulárnějších open source systémů pro správu obsahu nebo CMS používaných v dnešní době pro publikování na internetu, který pohání více než 60 milionů webových stránek po celém světě, ať už jde o malé blogovací weby nebo významné velké značky. Wordpress založený na PHP a MySQL enginu je často spojován s kolekcí LAMP, instalovanou na dedikovaných serverech nebo virtuálních privátních serverech nebo na sdílených poskytovatelích webhostingu. Zkratka LAMP popisuje kolekci softwaru, neboli softwarový balík, který se obvykle skládá z Linuxu Open Source jádro, bez ohledu na vybranou distribuci, Apache HTTP server, který je díky své stabilitě, flexibilitě a výkonu jedním z nejpopulárnějších open source webových serverů na internetu, PHP programovací jazyk interpretovaný na straně serveru a MariaDB systém pro správu relačních databází (RDBMS), což je jeden z nejpopulárnějších databázových softwarů, rozvětvený a současně vyvinutý komunitou open source z původního MySQL.

Požadavky

  • Čistá instalace operačního systému Debian 9 na virtuální privátní server nebo virtuální počítač nebo přímo na vyhrazený počítač.
  • Vzdálený přístup SSH v případě přístupu VPS nebo vzdáleného serveru nebo přímého přístupu ke konzoli
  • Alespoň statickou IP adresu pro síťové rozhraní nakonfigurované na serveru
  • V případě, že by webová stránka měla být veřejně dostupná na internetu, budete potřebovat registrovaný název veřejné domény se správnými nakonfigurovanými záznamy DNS. Během tohoto výukového programu budeme používat example.com  jako příklad domény a statické IP adresy ze soukromého prostoru v NAT za hlavním routerem. Doména bude přístupná z internetu přesměrováním portů Apache 80 a 443 ze strany routeru do interní LAN virtuálního počítače s vlastním hostitelem.

Instalovat LAMP Software Bundle

První věc, kterou chcete udělat, než začnete instalovat všechny komponenty LAMP, je přihlásit se k serveru Debian 9 a provést aktualizovaný postup pro všechny systémové komponenty, jako jsou aktualizace jádra, aktualizace balíčků nebo bezpečnostní záplaty, vydáním následující příkazy s právy root.

apt-get update
apt-get upgrade
apt-get dist-upgrade

V dalším kroku byste měli nastavit název vašeho počítače nahrazením proměnné hostname svým vlastním popisným názvem spuštěním níže uvedeného příkazu. Uvědomte si, že možná budete muset restartovat systém, aby bylo možné odpovídajícím způsobem použít nový název hostitele.

hostnamectl set-hostname hostname.yourdomain.com

Měli byste také nainstalovat následující nástroje, které se vám budou hodit později při řešení různých problémů.

apt install net-tools sudo wget curl bash-completion

Po použití názvu hostitele počítače se znovu přihlaste s právy root a nainstalujte HTTP server Apache, který je ve výchozím nastavení předkompilován do binárního balíčku a je poskytován repozitáři Debianu 9.

apt install apache2

Dále nainstalujte nejnovější verzi překladače jazyka PHP a všechny požadované moduly potřebné pro webový server Apache za účelem nasazení Wordpress CMS zadáním následujícího příkazu.

apt install libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-xml php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xmlrpc

Poslední komponentou, která nyní chybí, aby byl zásobník LAMP kompletní, je databázový server MariaDB. Provedením následujícího příkazu nainstalujte server MariaDB spolu s modulem PHP potřebným pro přístup k databázi ze serveru Apache HTTP.

apt install php7.0-mysql mariadb-server mariadb-client

Po instalaci databáze MariaDB spusťte démona a zabezpečte databázi spuštěnou mysql_secure_installation skript, jak je znázorněno na níže uvedeném úryvku. Odpovídejte hlavně ano na všechny otázky vás skript vyzve. Také se ujistěte, že jste zvolili silné heslo pro účet root. Uvědomte si, že kořenový účet MySQL není totožný s kořenovým účtem Linuxu. První slouží pouze ke správě databáze MariaDB a druhý je účet superuživatele v každém systému Linux. Tyto účty se v systému nikdy nepřekrývají.

systemctl start mariadb
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Se zabezpečením databáze MariaDB jsme ještě neskončili. Ve výchozím nastavení se můžete přihlásit do MariaDB z localhost pomocí kořenového účtu databáze, aniž byste byli požádáni o heslo. Chcete-li předejít možným problémům se zabezpečením, přihlaste se do databáze jako uživatel root a zadejte následující příkazy.

mysql -u root -p
MariaDB> use mysql;
MariaDB> update user set plugin='' where User='root';
MariaDB> flush privileges;
MariaDB> quit

 

Nyní otestujte databázi pokusem o přihlášení pomocí root účet bez hesla. Měl by vám být odepřen přístup k databázi MariaDB.

V dalším kroku povolíme a nakonfigurujeme TLS a přepisovací moduly pro webový server Apache, které jsou ve výchozím nastavení zakázány. Spuštěním níže uvedených příkazů povolte oba moduly.

a2enmod rewrite ssl
a2ensite default-ssl.conf

Poté otevřete konfigurační soubory Apache pro oba povolené weby a přidejte následující blok pod DocumentRoot direktivu, jak je znázorněno na následujícím snímku obrazovky.

nano /etc/apache2/sites-enabled/000-default.conf
nano /etc/apache2/sites-enabled/default-ssl.conf

Do obou konfiguračních souborů přidejte následující blok kódu:

    <Directory /var/www/html>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       Require all granted
    </Directory>

V Apache default-ssl.conf Konfigurační soubor TLS můžete také přidat níže uvedený obsah, pokud neexistuje, za účelem zlepšení zabezpečení protokolu Apache SSL. Tyto řádky kódu by měly opravit běžné chyby zabezpečení SSL.

SSLProtocol all -SSLv2 -SSLv3
# Add SSL Cipher in one long line
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder     on
SSLOptions +StrictRequire
 
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff

Pokud řádky zobrazené ve výše uvedeném úryvku již existují v konfiguračním souboru Apache SSL, ujistěte se, že jste je upravili, aby vypadaly tak, jak je popsáno výše. Chcete-li tato nastavení použít, povolte záhlaví Apache modul a restartujte službu provedením následujících příkazů:

a2enmod headers
systemctl restart apache2.service

Pro produkční web by mělo být povinné povolit modul Apache TLS, protože WordPress CMS generuje převážně dynamický obsah přes bránu PHP a také zpracovává proces ověřování pro své interní uživatele. Použití technologie TLS zaručuje, že přenášené informace jsou na obou koncích šifrovány a spojení je zabezpečeno. Třetí strana nebo muž-in-the-middle může zachytit provoz, ale nemůže dešifrovat obsah, protože informace nejsou poskytovány v prostém textu.

Poté, co provedete všechny výše uvedené změny, otestujte konfiguraci Apache, abyste zjistili potenciální syntaktické chyby, a pokud je vše v pořádku, restartujte démony LAMP, aby se projevily všechny dosud provedené změny, a povolte služby v celém systému vydáním následujících příkazů .

apache2ctl -t
systemctl restart apache2.service mariadb.service
systemctl enable apache2.service mariadb.service

Nakonec zkontrolujte, zda služby Apache a MariaDB otevřely porty ve stavu naslouchání vydáním netstat a filtrovat výstup pomocí egrep Nyní by měl mít webový server Apache porty 80 a 443 (odpovídající protokolům HTTP a https) obecně odhalené a MariaDB by měla být vázána pouze na localhost:3306 zásuvka. Použijte -n příznak proti netstat příkaz k potlačení zobrazování názvů služeb.

netstat -tlp| egrep 'http|mysql'

 

Chcete-li se ujistit, že váš webový server je přístupný z internetu prostřednictvím protokolů HTTP a HTTPS, otevřete prohlížeč a přejděte na název své domény. Při procházení protokolem HTTPS se v prohlížeči zobrazí chyba certifikátu. Důvodem je, že výchozí konfigurační soubor TLS Apache je nakonfigurován pro použití certifikátů s vlastním podpisem. Měli byste přijmout chybu TLS a pokračovat v navigaci na výchozí webovou stránku, jak je znázorněno níže.

http://www.yourdomain.com 

https://www.yourdomain.com 

V případě, že nemůžete navštívit výchozí webovou stránku vaší domény z internetu, měli byste nejprve ověřit, zda některá pravidla firewallu v systému neblokují požadavky, nebo se ujistit, že správné porty na routeru jsou přesměrovány do vaší interní LAN v případě, že server sedí za NAT-ed síť. Můžete také zkontrolovat záznamy DNS na panelu registrátora domény a ujistit se, že směřují na vaši WAN IP a zda se záznamy dokončily šíření na internetu.

Chcete-li otestovat, zda PHP na straně serveru funguje podle očekávání, vytvořte PHP php v /var/www/html/ systémová cesta, což je výchozí kořenová cesta webového dokumentu webového serveru Apache, zadává níže uvedený příkaz a přejděte na následující URI z prohlížeče, abyste získali výsledek:http://www.yourdomain.com/info .php

echo '<?php phpinfo(); ?>' > /var/www/html/info.php

 

Nainstalujte WordPress 5.0

Nyní, když je zásobník LAMP plně nakonfigurován, je instalace Wordpress CMS relativně přímočará. Nejprve se přihlaste do databáze MariaDB a vytvořte instalační databázi pro Wordpress a uživatele se správným heslem pro instalaci a správu Wordpress CMS zadáním níže uvedených příkazů. Neváhejte a nahraďte název databáze a přihlašovací údaje databáze tak, aby odpovídaly vašim vlastním požadavkům.

mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-user'@'localhost' IDENTIFIED BY 'wordpress-pass';
FLUSH PRIVILEGES;

 

Dále si stáhněte nejnovější Wordpress tarball z oficiálních stránek pomocí wget a rozbalte komprimovaný archiv pomocí tar užitečnost. Zkopírujte instalační soubory do kořenové cesty dokumentu webového serveru Apache zadáním níže uvedených příkazů. Také se ujistěte, že jste odstranili výchozí index.html webová stránka.

cd /tmp
wget http://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp -rf wordpress/* /var/www/html/
rm /var/www/html/index.html

 

Upravte oprávnění cesty webroot Apache, jak je popsáno níže, abyste udělili webovému serveru www-data seskupit plná oprávnění k zápisu do instalačního adresáře. Tato konfigurace umožní webovému serveru Apache vytvářet nebo upravovat soubory a adresáře v rámci této specifické systémové cesty. Nejdůležitější by byly nahrávání adresář a .htaccess soubor, který lze použít k ovládání a rozšiřování funkcí Apache.

chmod -R 775 /var/www/html/
chgrp -R www-data /var/www/html/
ls -al /var/www/html

Nyní, když je vše na svém místě, začněme instalovat Wordpress. Proces instalace bude proveden z prohlížeče. Otevřete prohlížeč a navštivte svou doménu prostřednictvím protokolu HTTPS. Na první obrazovce instalace klikněte na Pojďme na to pro spuštění instalace.

Na další obrazovce instalace přidejte název databáze, přihlašovací údaje k databázi a hostitele databáze, který jste dříve vytvořili pro instalaci Wordpress, a stiskněte Odeslat tlačítko pro pokračování. Konfigurace databáze bude uložena v /var/www/html/wp-config.php Soubor můžete později ručně upravit pro speciální účely Wordpressu.

Na další obrazovce klikněte na Spustit instalaci a vyplňte název webu, přihlašovací údaje správce webu a e-mailovou adresu. Instalační skripty by měly automaticky vygenerovat silné heslo. Toto heslo můžete uložit nebo zadat své vlastní silné heslo. Až budete hotovi, klikněte na Instalovat Wordpress dokončete proces instalace.

Nakonec se po úspěšném dokončení instalace přihlaste na řídicí panel Wordpress s přihlašovacími údaji vytvořenými během procesu instalace a začněte spravovat svůj vlastní web.

Přihlaste se do backendu WordPress.

Administrátorský panel Wordpress.

Úprava příspěvku v novém editoru WordPress Gutenberg.

Rozhraní Wordpress 5.0 s novým motivem TwentyNineteen.

Gratulujeme! Úspěšně jste nainstalovali nejnovější verzi Wordpress CMS nad softwarový balík LAMP v Debianu 9 s kódovým označením Stretch.

Stažení obrazu virtuálního stroje tohoto výukového programu

Tento tutoriál je k dispozici jako obraz virtuálního stroje připravený k použití ve formátu ovf/ova, který je kompatibilní s VMWare a Virtualbox. Obraz virtuálního počítače používá následující přihlašovací údaje:

Přihlášení SSH / Shell

Uživatelské jméno:správce
Heslo:howtoforge

Tento uživatel má práva su.

Uživatelské jméno: root
Heslo:howtoforge

Přihlášení k aplikaci WordPress

Uživatelské jméno:admin
Heslo:howtoforge

Přihlášení k MySQL

Uživatelské jméno: root
Heslo:howtoforge

IP VM je 192.168.1.100, lze ji změnit v souboru /etc/network/interfaces. Změňte prosím všechna výše uvedená hesla pro zabezpečení virtuálního počítače.


Debian
  1. Nainstalujte Apache Cassandra na Debian 7

  2. Nainstalujte Cockpit na Debian 9

  3. Nainstalujte WordPress na Linux pomocí Apache

  1. Nainstalujte WordPress se vzdálenou databází na Debian

  2. Jak nainstalovat WordPress s Nginx na Debian 10

  3. Nainstalujte phpMyAdmin na Debian 11 s Nginx

  1. Nainstalujte Wordpress na LAMP v Debianu 9

  2. Jak nainstalovat phpMyAdmin s Apache na Debian 11 / Debian 10

  3. Nainstalujte phpMyAdmin na Debian 11 s Apache