GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat WordPress s Nginx a nechat šifrovat SSL na CentOS 8

WordPress je bezplatný, open-source a nejrozšířenější redakční systém na světě. Je to velmi výkonná platforma pro blogování, kterou lze použít k hostování blogu, webových stránek portfolia a platformy elektronického obchodu. WordPress používá Apache/Nginx jako webový server, MariaDB/MySQL jako databázi a zpracování PHP. WordPress poskytuje obrovské množství témat a pluginů, které lze použít k přizpůsobení jeho funkčnosti.

V tomto tutoriálu vysvětlíme, jak nainstalovat WordPress s Nginx na server CentOS 8 a poté server zabezpečíme pomocí bezplatného certifikátu Let's Encrypt SSL.

Předpoklady

  • Server se systémem CentOS 8.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.
  • Platný název domény odkazuje na IP adresu vašeho serveru.

Začínáme

Ve výchozím nastavení je SELinux povolen na serveru CentOS 8. Nejprve jej tedy budete muset deaktivovat.

Můžete to udělat úpravou souboru /etc/selinux/config:

nano /etc/selinux/config

Proveďte následující změny:

SELINUX=disabled

Uložte a zavřete soubor. Poté restartujte server, aby se změny projevily.

Instalovat LEMP Server

Než začnete, budete muset na svůj server nainstalovat Nginx, MariaDB, PHP a další požadované balíčky. Všechny je můžete nainstalovat spuštěním následujícího příkazu:

yum install nginx php php-cli php-curl php-zip php-mbstring php-mysqlnd php-fpm curl unzip mariadb-server -y

Jakmile jsou všechny balíčky nainstalovány, spusťte Nginx, PHP-FPM, službu MariaDB a povolte jejich spuštění po restartu systému:

systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb
systemctl start php-fpm
systemctl enable php-fpm

Stav služby PHP-FPM můžete také zkontrolovat pomocí následujícího příkazu:

systemctl status php-fpm

Měli byste získat následující výstup:

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
 Main PID: 1475 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 5060)
   Memory: 28.5M
   CGroup: /system.slice/php-fpm.service
           ??1475 php-fpm: master process (/etc/php-fpm.conf)
           ??1478 php-fpm: pool www
           ??1479 php-fpm: pool www
           ??1480 php-fpm: pool www
           ??1481 php-fpm: pool www
           ??1482 php-fpm: pool www

Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.

Jakmile to uděláte, můžete přejít k dalšímu kroku.

Konfigurace databáze WordPress

Ve výchozím nastavení není server MariaDB zabezpečen. Nejprve jej tedy musíte zajistit. Můžete jej zabezpečit pomocí následujícího příkazu:

mysql_secure_installation

Odpovězte na všechny otázky, jak je uvedeno níže:

Enter current password for root (enter for none):
Set root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Po zabezpečení byste měli získat následující výstup:

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Dále se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Po zobrazení výzvy zadejte heslo uživatele root a poté vytvořte databázi a uživatele pro WordPress pomocí následujících příkazů:

MariaDB [(none)]> CREATE DATABASE wpdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES on wpdb.* to 'wpuser'@'localhost' identified by 'password';

Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Jakmile je vaše databáze nakonfigurována, můžete přejít k dalšímu kroku.

Stáhnout WordPress

Nejnovější verzi WordPressu si můžete stáhnout pomocí následujícího příkazu:

cd /var/www/html
wget https://wordpress.org/latest.tar.gz

Po stažení rozbalte stažený soubor pomocí následujícího příkazu:

tar -xvzf latest.tar.gz

Dále změňte vlastnictví adresáře wordpress na nginx:

chown -R nginx: /var/www/html/wordpress/

Dále změňte adresář na wordpress a přejmenujte výchozí konfigurační soubor wordpress:

cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php

Dále upravte soubor wp-config.php ve svém oblíbeném textovém editoru:

nano wp-config.php

Definujte informace o své databázi, jak je uvedeno níže:

/** The name of the database for WordPress */
define( 'DB_NAME', 'wpdb' );

/** MySQL database username */
define( 'DB_USER', 'wpuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Po dokončení uložte a zavřete soubor.

Konfigurace Nginx pro WordPress

Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Nginx, který bude sloužit WordPress. můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/nginx/conf.d/wordpress.conf

Přidejte následující řádky:

server {
    listen 80;
    server_name example.com;
    root /var/www/html/wordpress;
    index index.php;

    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;
    }

}

Uložte a zavřete soubor. Poté pomocí následujícího příkazu zkontrolujte nginx, zda neobsahuje nějakou chybu syntaxe:

nginx -t

Měli byste získat následující výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nakonec restartujte službu Nginx, abyste použili změny konfigurace:

systemctl restart nginx

Přístup k ovládacímu panelu WordPress

WordPress je nainstalován a nakonfigurován, nyní je čas vstoupit do webového rozhraní.

Otevřete webový prohlížeč a zadejte adresu URL http://example.com . Budete přesměrováni na následující stránku:

Zadejte všechny požadované informace, jako je název webu, uživatelské jméno správce, heslo, e-mail správce a klikněte na Instalovat WordPress knoflík. Po dokončení instalace. Měli byste vidět následující stránku:

Klikněte na přihlášení knoflík. Budete přesměrováni na přihlašovací stránku WordPress:

Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující stránce byste měli vidět řídicí panel WordPress:

Zabezpečte WordPress pomocí Let's Encrypt

Chcete-li zabezpečit svůj web WordPress pomocí bezplatného SSL Let's Encrypt, budete si muset do systému nainstalovat klienta Certbot Let's Encrypt. Ve výchozím nastavení není Certbot dostupný ve výchozím úložišti CentOS 8. Budete si jej tedy muset stáhnout z oficiálních stránek Certbot.

Certbot si můžete stáhnout a nainstalovat pomocí následujících příkazů:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Nyní spusťte následující příkaz, abyste získali a nainstalovali certifikát SSL pro svůj web WordPress.

certbot-auto --apache -d example.com

Budete požádáni o zadání e-mailové adresy a souhlas s podmínkami služby. Budete si také muset vybrat, zda chcete přesměrovat provoz HTTP na HTTPS. Vyberte prosím příslušnou možnost a stiskněte Enter. Po úspěšném dokončení instalace byste měli získat následující výstup:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-08-14. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Nastavit automatické obnovení šifrováním

Certifikát Let's Encrypt má platnost 90 dní. Proto se doporučuje obnovit certifikát před vypršením platnosti. Úlohu Cron můžete nastavit tak, aby se certifikát obnovoval automaticky.

Chcete-li tak učinit, vytvořte crontab pomocí následujícího příkazu:

crontab -e

Přidejte následující řádek:

0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew

Po dokončení uložte a zavřete soubor.

Závěr

Ve výše uvedeném tutoriálu jsme se naučili, jak nainstalovat a nakonfigurovat WordPress s Nginx na serveru CentOS. Také jsme se naučili, jak zabezpečit web WordPress pomocí bezplatného šifrování SSL. Doufám, že nyní můžete snadno hostovat svůj vlastní web WordPress.


Cent OS
  1. Jak nainstalovat ownCloud 9.1 s Nginx a MariaDB na CentOS 7

  2. Nainstalujte Magento na CentOS 7 s Nginx, PHP-FPM a MariaDB

  3. Jak nainstalovat Let’s Encrypt na CentOS 8 s Nginx

  1. Jak nainstalovat WordPress s HHVM a Nginx na CentOS 7

  2. Jak nainstalovat Laravel 5.x s Nginx a PHP-FPM 7.1 na CentOS 7

  3. Jak nainstalovat Shopware s NGINX a Lets Encrypt na CentOS 7

  1. Jak nainstalovat WonderCMS s Nginx a nechat šifrovat SSL na CentOS 7

  2. Jak nainstalovat Pico CMS s Nginx a Lets Encrypt na CentOS 7

  3. Nainstalujte Automad CMS s Nginx a Lets Encrypt SSL na CentOS 7