WordPress je celosvětově nejoblíbenější open-source platforma pro blogování a CMS, která dnes pohání čtvrtinu všech webových stránek na internetu. Je založen na PHP a MySQL a obsahuje spoustu funkcí, které lze rozšířit pomocí bezplatných a prémiových pluginů a motivů. WordPress je nejjednodušší způsob, jak vytvořit svůj online obchod, web nebo blog.
Tento tutoriál popisuje, jak nainstalovat WordPress na CentOS 7. Je to poměrně jednoduchý proces, jehož dokončení trvá méně než deset minut.
Jako webový server budeme používat stack LEMP s Nginx, certifikát SSL, nejnovější PHP 7.2 a MySQL/MariaDB jako databázový server.
Předpoklady #
Než budete pokračovat v tomto kurzu, ujistěte se, že jsou splněny následující předpoklady:
- Název domény uveďte na veřejnou IP adresu vašeho serveru. V tomto tutoriálu budeme používat
example.com
. - Přihlášeni jako uživatel s právy sudo.
- Nginx se nainstaluje podle těchto pokynů.
- Máte nainstalovaný certifikát SSL pro vaši doménu. Podle těchto pokynů si můžete vygenerovat bezplatný certifikát Let’s Encrypt SSL.
Vytváření databáze MySQL #
WordPress ukládá svá data a konfiguraci do databáze MySQL. Prvním krokem je vytvoření databáze MySQL, uživatelského účtu MySQL a udělení přístupu k databázi.
Pokud ještě nemáte na svém serveru Ubuntu nainstalovanou MySQL nebo MariaDB, můžete ji nainstalovat podle jednoho z níže uvedených pokynů:
- Nainstalujte MySQL na CentOS 7.
- Nainstalujte MariaDB na CentOS 7.
Přihlaste se do prostředí MySQL spuštěním následujícího příkazu:
mysql -u root -p
Z prostředí MySQL spusťte následující příkazy SQL a vytvořte databázi s názvem wordpress
, uživatel se jménem wordpressuser
a udělit uživateli všechna potřebná oprávnění:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
FLUSH PRIVILEGES;
EXIT;
Instalace PHP 7.2 #
CentOS 7 je dodáván s verzí PHP 5.4. Doporučená verze PHP pro WordPress je PHP 7.2.
Chcete-li nainstalovat PHP a všechna požadovaná rozšíření PHP, spusťte následující příkazy:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl
Nainstalovali jsme PHP FPM, protože budeme používat Nginx jako webový server.
Ve výchozím nastavení PHP FPM poběží jako uživatel apache
na portu 9000. Změníme uživatele na nginx
a přepněte z TCP socketu na Unix socket. Chcete-li tak učinit, otevřete /etc/php-fpm.d/www.conf
soubor upravit řádky zvýrazněné žlutě:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Ujistěte se, že /var/lib/php
adresář má správné vlastnictví pomocí následujícího příkazu chown:
sudo chown -R root:nginx /var/lib/php
Jakmile provedete změny, povolte a spusťte službu PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Stahování Wordpress #
Před stažením archivu Wordpress si nejprve vytvořte adresář, do kterého umístíme soubory WordPress:
sudo mkdir -p /var/www/html/example.com
Dalším krokem je stažení nejnovější verze WordPressu ze stránky stahování WordPress pomocí následujícího příkazu wget:
cd /tmp
wget https://wordpress.org/latest.tar.gz
Po dokončení stahování rozbalte archiv WordPress a přesuňte soubory do kořenového adresáře dokumentů domény:
tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/example.com/
Nastavte správná oprávnění, aby měl webový server plný přístup k souborům a adresářům webu:
sudo chown -R nginx: /var/www/html/example.com
Konfigurace Nginx #
Nyní byste již měli mít Nginx s certifikátem SSL nainstalovaný ve svém systému, pokud ne, zkontrolujte předpoklady pro tento tutoriál.
K vytvoření nového bloku serveru pro naši instanci WordPress použijeme recept Nginx z oficiálního webu Nginx.
Otevřete textový editor a vytvořte nový blok serveru nginx:
sudo nano /etc/nginx/conf.d/example.com.conf
Přidejte následující řádky:
/etc/nginx/conf.d/example.com.conf# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Nezapomeňte nahradit example.com svou doménou WordPress a nastavit správnou cestu k souborům certifikátu SSL. Všechny požadavky HTTP budou přesměrovány na HTTPS. Fragmenty použité v této konfiguraci jsou vytvořeny v této příručce. Před restartováním služby Nginx otestujte konfiguraci, abyste se ujistili, že neexistují žádné syntaktické chyby:
sudo nginx -t
Pokud nejsou žádné chyby, výstup by měl vypadat takto:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
a můžete restartovat Nginx zadáním:
sudo systemctl restart nginx
Dokončení instalace WordPress #
Nyní, když je Wordpress stažen a konfigurace serveru dokončena, můžete dokončit instalaci přes webové rozhraní.
Otevřete prohlížeč, zadejte svou doménu a objeví se obrazovka podobná následující:
Vyberte jazyk, který chcete používat, a klikněte na Continue
tlačítko.
Dále uvidíte následující informační stránku, klikněte na Let's go!
tlačítko.
Na další obrazovce vás průvodce nastavením požádá o zadání údajů o připojení k databázi. Zadejte podrobnosti o uživateli MySQL a databázi, které jste dříve vytvořili.
Spusťte instalaci WordPress kliknutím na Run the Installation
tlačítko.
V dalším kroku budete muset zadat název svého webu WordPress a zvolit uživatelské jméno (z bezpečnostních důvodů nepoužívejte „admin“ ).
Instalační program vám automaticky vygeneruje silné heslo. Toto heslo si nezapomeňte uložit. Heslo si také můžete nastavit sami.
Zadejte svou e-mailovou adresu a vyberte, zda chcete odradit vyhledávače od indexování webu (nedoporučuje se).
Klikněte na Install WordPress
a po dokončení instalace budete přesměrováni na stránku s informací, že byl nainstalován WordPress.
Pro přístup na přihlašovací stránku WordPress klikněte na Log in
tlačítko.
Zadejte své uživatelské jméno a heslo.
Budete přesměrováni na administrační panel WordPress.
Odtud můžete začít přizpůsobovat svou instalaci WordPress instalací nových motivů a pluginů.