GNU/Linux >> Znalost Linux >  >> Debian

Nainstalujte WordPress s Nginx na Debian 10/11

Přehled

Následující příspěvek představí kroky, jak nainstalovat WordPress s Nginx na Debian 10 a také na Debian 11. Na jednom serveru Debian nainstalujeme a nakonfigurujeme LEMP stack (Nginx, PHP a MariaDB) a nakonec nainstalujeme a spustíme WordPress. Jinými slovy, náš jediný server Debian bude provozovat webový server Nginx, server MariaDB a celkově poběží WordPress.

WordPress lze také nastavit a spustit na více samostatných serverech (samostatný webový server a samostatný databázový server). Pokud potřebujete takové nastavení (se vzdálenou databází), můžete zkontrolovat, jak to nastavit v tomto příspěvku. Další metodou instalace a spuštění WordPressu je Docker, který je popsán v tomto příspěvku.

Nainstalujte potřebné knihovny a balíčky

sudo apt install nginx php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl mariadb-server

Po dokončení instalace spusťte Nginx a MariaDB, pokud nejsou spuštěny, a povolte jim automatické spouštění při spouštění.

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

sudo systemctl start mariadb.service

sydo systemctl enable mariadb.service

Nakonfigurujte databázi

Spusťte a nakonfigurujte server mariadb s databází, uživatelskými a udělovanými oprávněními.

Před tím se nejprve doporučuje spustit zabezpečenou instalaci:

sudo mysq_secure_installation

Když budete vyzváni ke změně hesla root, můžete to přeskočit, ale záleží na tom, zda potřebujete změnit heslo root nebo ne. Se zbytkem dotazovaných otázek můžete pokračovat a přejít na možnost Ano. Podobné jako na obrázku níže:

poté přejděte na databázový server a vytvořte databázi, uživatele a nastavte oprávnění

sudo mysql -u root -p


CREATE DATABASE sampledbwp;


GRANT ALL ON sampledbwp.* TO 'sample-admin'@'localhost' IDENTIFIED BY 'SamplePassword1';


quit

Pomocí těchto příkazů jsme vytvořili databázi – sampledbwp, vytvořili uživatele sample-admin na localhost a udělili všechna oprávnění ke čtení a zápisu databáze, kterou jsme právě vytvořili.

Nainstalujte a nakonfigurujte WordPress

Přejděte do následujícího adresáře a stáhněte a rozbalte instalaci WordPress:

cd /var/www/html/

sudo wget https://wordpress.org/latest.tar.gz

sudo tar -xzfv latest.tar.gz

Přepněte se do adresáře wordpress a přejmenujte soubor wp-config-sample.php na wp-config.php

cd wordpress

mv wp-config-sample.php wp-config.php

Nyní upravíme konfigurační soubor WordPress:

sudo nano wp-config.php

V konfiguračním souboru musíme přidat uživatele databáze, název databáze a heslo, které jsme vytvořili na serveru MariaDB a přidat klíče salt z – https://api.wordpress.org/secret-key/1.1/salt/ . Podívejte se na ukázkový obrázek níže:

Uložte a ukončete.

Nastavte správná oprávnění k instalaci WordPress, abyste byli přístupní z internetu:

sudo chown -R www-data:www-data /var/www/html/wordpress

sudo chmod -R 755 /var/www/html/wordpress

Nakonfigurujte Nginx

Přechod na konfiguraci webového serveru nginx. Prvním krokem je vytvoření konfiguračního souboru pro web WordPress. Spusťte následující příkaz pro spuštění textového editoru:

sudo nano /etc/nginx/sites-available/wordpress.conf

Níže naleznete ukázkovou konfiguraci:

server {
        listen 80;
        listen [::]:80;
        root /var/www/html/wordpress;
        index  index.php index.html index.htm;
        server_name mysite.com www.mysite.com;

        error_log /var/log/nginx/mysite.com_error.log;
        access_log /var/log/nginx/mysite.com_access.log;
        
        client_max_body_size 100M;
        location / {
                try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

Uložte a ukončete.

Poznámka – Znovu zkontrolujte a potvrďte kořenový adresář vaší instalace wordpress a verzi php-fpm běžící na vašem serveru. Ty se musí shodovat v konfiguračním souboru.

Nakonec by to mělo vypadat nějak takto:

Výchozí konfigurace stále zůstává v Nginx a je aktivní. Dokud nebude odstraněna, vaše konfigurace neproběhne, což znamená, že váš web WordPress nebude dostupný, takže musíme odstranit výchozí konfiguraci:

sudo rm /etc/nginx/sites-available/default

sudo rm /etc/nginx/sites-enabled/default

Vytvořte symbolický odkaz pro naši novou konfiguraci Nginx wordpress:

sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/

Poté dvakrát zkontrolujte konfiguraci pomocí:

sudo nginx -t

a restartujte Nginx

sudo systemctl restart nginx

Otestujte, zda je v prohlížeči spuštěn WordPress, přistupte k němu buď pomocí adresy IP serveru nebo pomocí adresy URL (pokud jste přiřadili název domény) a dokončete instalaci:

A to je vše. Nyní máte web WordPress v provozu.

Několik návrhů a bezpečnostních tipů

Zde bych rád poukázal na několik návrhů pro bezpečnější a bezpečnější instalaci WordPress a jak ji udržovat.

  • Prvním návrhem je smazat – soubor xmlrpc.php

Tento soubor není zásadním bodem WordPressu a WordPress může bez tohoto souboru fungovat bez problémů. Soubor Xmlrpc byl používán v raných fázích WordPressu jako služba, kde se blogoví klienti připojují k WordPress přes xmlrpc a zveřejňují nový obsah (ve zkratce). Tento soubor je nyní příčinou mnoha a různých škodlivých útoků (DDoS, hrubá síla atd.).

V tomto příkladu můžeme tento soubor smazat příkazem:

sudo rm /var/www/html/wordpress/xmlrpc.php

Ještě jedna poznámka – při každé aktualizaci/upgradu WordPressu se tento soubor znovu objeví, takže je nutné opakovat akci při každé aktualizaci WordPressu.

  • Smažte soubor wp-config-sample.php

V tomto příspěvku jsme tento soubor přejmenovali na wp-config.php. Udělali jsme to tak, protože jsme ručně přidali přihlašovací údaje k databázi pro WordPress pro připojení k databázovému serveru a přidali také klíče salt. Tento soubor se také znovu objeví při každé aktualizaci/upgradu WordPressu a doporučujeme jej smazat, protože je vystaven mnoha škodlivým útokům, které mohou způsobit odstranění vašeho webu.

  • Skryjte adresu URL wp-login a přidejte přihlašovací údaje 2FA

Důrazně se doporučuje změnit výchozí přihlášení k adrese URL, aby se zabránilo útokům hrubou silou a přidat přihlášení pomocí dvoufaktorového ověřování. Můžete to udělat snadno pomocí pluginů, jako jsou – WPS Hide login a miniOrange 2-Factor. Nyní má WordPress ve výchozím nastavení také přihlášení 2FA.

  • Přidejte plugin brány firewall a nepoužívejte účet s uživatelským jménem admin

Jedním z prvních zásuvných modulů, které se důrazně doporučuje nainstalovat, je zásuvný modul brány firewall, jako je Wordfence nebo Sucuri

Shrnutí

Probrali jsme kroky, jak nainstalovat WordPress s Nginx na Debian 10 a také na Debian 11. Tento scénář, kdy je WordPress obsluhován s databází na jediném serveru, je dobrou volbou, pokud nyní také začínáte a nemáte další rozpočet na infrastrukturu nebo pokud jste začátečník, který poprvé zkouší WordPress na cloudovém/dedikovaném/VM/VPS hostingu nebo jen pro nějaké testovací účely.

Jednou nevýhodou, kterou to může časem způsobit, je, že pokud máte tento scénář stále ve výrobě, může být poměrně obtížné udržovat server, když je třeba provést upgrady, protože to může způsobit prostoje. To je důvod, proč je běžnou praxí mít alespoň dva servery a oddělit instalaci WordPressu tak, že na jednom serveru je pouze webový server (Nginx nebo Apache) a instalace WordPress a na druhém je databázový server (MariaDB, MySQL). Proces nastavení pro tento druh prostředí si můžete prohlédnout v tomto příspěvku.

Velice vám děkuji za váš čas…


Debian
  1. Jak nainstalovat Nginx na Debian 8 (Jessie)

  2. Jak nainstalovat Webmin na Debian 10/11

  3. Jak nainstalovat WordPress s Nginx na Debian 10

  1. Jak nainstalovat Nginx na Debian 9

  2. Jak nainstalovat Nginx na Debian 9 (Stretch)

  3. Nainstalujte Plone s Nginx na Debian 8 VPS

  1. Jak nainstalovat InvoicePlane s Nginx na Debian 9

  2. Jak nainstalovat AbanteCart s Nginx a SSL na Debian 11

  3. Nainstalujte WordPress 5 s Apache na Debian 9