GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte WordPress na Ubuntu 18.04 s Nginx, MariaDB, PHP7.2 (LEMP)

Tento tutoriál vám ukáže, jak nainstalovat WordPress na Ubuntu 18.04 s Nginx, MariaDB a PHP7.2 (LEMP Stack). WordPress je nejpopulárnější CMS (Content Management System) na světě. Odhaduje se, že více než třetina webových stránek dnes využívá WordPress. PHP7.2 se stalo součástí úložiště Ubuntu 18.04 a WordPress s ním běží perfektně.

Předpoklad

Abyste mohli postupovat podle tohoto návodu, musíte mít server Ubuntu 18.04 s alespoň 1 GB RAM. Pokud hledáte VPS (virtuální soukromý server), můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na DigitalOcean. (Pouze pro nové uživatele). Pokud již jste uživatelem DigitalOcean, můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na Vultr (pouze pro nové uživatele).

Potřebujete také název domény, aby návštěvníci mohli zadat název domény do adresního řádku webového prohlížeče, aby se dostali na váš web. Zaregistroval jsem své doménové jméno na NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

Tento tutoriál předpokládá, že jste již nastavili zásobník LEMP na Ubuntu 18.04. Pokud ne, podívejte se prosím na následující návod.

  • Jak nainstalovat LEMP Stack (Nginx, MariaDB, PHP7.2) na Ubuntu 18.04

Po dokončení instalace LEMP se vraťte sem a čtěte dále.

Krok 1:Stáhněte si WordPress

SSH do vašeho serveru Ubuntu 18.04 a aktualizujte stávající software.

sudo apt update && sudo apt upgrade

Dále přejděte na stránku stahování wordpress.org a stáhněte si archiv zip. Přímý odkaz ke stažení můžete získat kliknutím pravým tlačítkem na tlačítko stahování a výběrem copy link location .

Poté do příkazového řádku zadejte wget následovaný přímým odkazem ke stažení pro stažení WordPressu na váš server Ubuntu 18.04.

wget https://wordpress.org/latest.zip

Dále rozbalte archiv zip pomocí příkazu níže.

sudo apt install unzip

sudo unzip latest.zip -d /usr/share/nginx/

Archiv bude rozbalen do /usr/share/nginx/ adresář. Nový adresář s názvem wordpress bude vytvořen (/usr/share/nginx/wordpress). Nyní jej můžeme přejmenovat, jak je uvedeno níže. Nahraďte example.com s vaším skutečným názvem domény.

sudo mv /usr/share/nginx/wordpress /usr/share/nginx/example.com

Krok 2:Vytvořte databázi a uživatele pro web WordPress

Přihlaste se do prostředí MariaDB jako root pomocí následujícího příkazu.

sudo mariadb -u root

nebo

sudo mysql -u root

Jakmile jste přihlášeni, vytvořte databázi pro WordPress pomocí následujícího příkazu. Pojmenoval jsem to wordpress , ale můžete použít jakýkoli název, například název vašeho webu. (Nevynechávejte středník.)

create database wordpress;

Poté zadejte příkaz níže a vytvořte uživatele databáze pro WordPress. Tento příkaz také uděluje uživateli všechna oprávnění databáze WordPress. Nahraďte wpuser a your-password s vaším preferovaným uživatelským jménem a heslem.

grant all privileges on wordpress.* to wpuser@localhost identified by 'your-password';

Vypláchněte tabulku oprávnění, aby se změny projevily, a poté opusťte prostředí MariaDB.

flush privileges;

exit;

Krok 3:Nakonfigurujte WordPress

Přejděte do svého adresáře WordPress.

cd /usr/share/nginx/example.com/

Zkopírujte ukázkový konfigurační soubor a přejmenujte jej na wp-config.php .

sudo cp wp-config-sample.php wp-config.php

Nyní upravte nový konfigurační soubor pomocí textového editoru příkazového řádku, jako je Nano.

sudo nano wp-config.php

Najděte následující řádky a nahraďte červené texty názvem databáze, uživatelským jménem a heslem, které jste vytvořili v předchozím kroku.

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

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

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

Uložte a zavřete soubor. Chcete-li soubor uložit v textovém editoru Nano, stiskněte Ctrl+O a poté stiskněte Enter potvrdit. Poté stiskněte Ctrl+X pro ukončení.

Musíme také nastavit uživatele Nginx (www-data ) jako vlastníka adresáře webu WordPress pomocí následujícího příkazu.

sudo chown www-data:www-data /usr/share/nginx/example.com/ -R

Krok 4:Vytvořte blok serveru Nginx pro WordPress

Soubor bloku serveru vytvoříme v /etc/nginx/conf.d/ adresář. Název souboru musí končit .conf .

sudo nano /etc/nginx/conf.d/example.com.conf

Do souboru vložte následující texty. Nahraďte červené texty vlastním názvem domény. Nezapomeňte vytvořit záznamy A pro název vaší domény.

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /usr/share/nginx/example.com/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~* /wp-sitemap.*\.xml {
     try_files $uri $uri/ /index.php$is_args$args;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  #enable gzip compression
  gzip on;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_comp_level 5;
  gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml;
  gzip_proxied any;

  # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Uložte a zavřete soubor. Poté otestujte konfigurace Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx.

sudo systemctl reload nginx

Do adresního řádku prohlížeče zadejte název své domény.

example.com

nebo

example.com/wp-admin/install.php

Zobrazí se průvodce instalací WordPress. Vyberte jazyk.

Pokud se průvodce instalací nezobrazí, pravděpodobně budete muset nainstalovat některá rozšíření PHP7.

sudo apt install php-imagick php7.2-mbstring php7.2-bcmath php7.2-xml php7.2-mysql php7.2-common php7.2-gd php7.2-json php7.2-cli php7.2-curl php7.2-zip

Poté znovu načtěte PHP-FPM a Nginx. Nyní by se měl zobrazit průvodce.

sudo systemctl reload php7.2-fpm nginx

Před zadáním citlivých údajů do průvodce nastavením se doporučuje povolit HTTPS, abyste zabránili únosu provozu.

Krok 5:Povolení HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Ubuntu 18.04.

sudo apt install certbot python3-certbot-nginx

A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d yourdomain.com,www.yourdomain.com

Kde

  • --nginx :Použijte plugin Nginx.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp :Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.
  • --email :E-mail používaný pro registraci a kontakt pro obnovení.
  • -d za příznakem následuje seznam názvů domén oddělených čárkou. Můžete přidat až 100 názvů domén.

Certifikát by nyní měl být získán a automaticky nainstalován.

Pokud nyní znovu načtete průvodce nastavením WordPress, uvidíte, že HTTP je automaticky přesměrováno na připojení HTTPS.

Krok 6:Dokončete instalaci pomocí průvodce nastavením

Vytvořte si účet správce a klikněte na Instalovat WordPress tlačítko.

A nyní je váš nový web WordPress nainstalován.

Jak přesměrovat www na jiné než www (nebo naopak)

Již jsme povolili přesměrování HTTP na HTTPS, co zbývá udělat, je přesměrovat www na non-www nebo naopak. Je to velmi jednoduché. Jednoduše přejděte na WordPress Dashboard> Nastavení> Obecné a nastavte preferovanou verzi (www nebo bez www) v Adresa WordPress a Adresa webu . Nezapomeňte uvést https:// prefix.

Zabránit škodlivým požadavkům

Po instalaci WordPressu není potřeba přistupovat k /wp-admin/setup-config.php a /wp-admin/install.php URL dále. Špatní herci však mohou přistupovat k těmto dvěma adresám URL, a pokud je nalezena zranitelnost, může se špatný hráč dostat do vašeho back-endu WordPress. Chcete-li zabránit přístupu k těmto dvěma adresám URL, přidejte do bloku serveru Nginx následující řádky. Přidejte je před location ~ \.php$ { řádek.

location ~* ^/wp-admin/(setup-config|install)\.php$ {
       deny all;
}

Pokud nechcete, aby si ostatní lidé registrovali účet na vašem webu WordPress, můžete přidáním následujících řádků omezit přístup k /wp-login.php URL, takže k této URL má přístup pouze vaše IP adresa. Nahraďte 78.56.34.12 svou vlastní IP adresou.

location = /wp-login.php {
    try_files $uri $uri/ /index.php?$args;
    fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include fastcgi_params; 
    include snippets/fastcgi-php.conf; 
 
    allow 78.56.34.12;
    deny all;
}

Nezapomeňte znovu načíst Nginx, aby se změny projevily.

sudo systemctl reload nginx

Pokud nemáte ve své domácí síti statickou IP adresu, můžete si nastavit VPN server v datovém centru.

Jak odesílat e-maily ve WordPress

Váš web WordPress potřebuje posílat e-maily, jako jsou e-maily pro registraci účtu, e-maily pro resetování hesla, e-maily s upozorněním na komentáře atd. Namísto použití drahých řešení třetích stran, jako je Gsuite k vytváření profesionálních e-mailových adres pro váš web, můžete postupovat podle tohoto návodu iRedMail a nastavit vytvořte si svůj vlastní poštovní server s vlastním názvem domény, takže můžete mít neomezený počet poštovních schránek a posílat neomezené množství e-mailů, aniž byste museli vydělat peníze.

Všimněte si, že je dobrým zvykem nainstalovat poštovní server a WordPress na dva různé virtuální privátní servery, protože nechcete, aby poštovní server zpomalil rychlost vašeho webu WordPress, a poštovní server unikne IP adresu vašeho webu WordPress, pokud jsou na stejném virtuálním privátním serveru, což znamená, že hackeři mohou obejít jakoukoli CDN (Content Delivery Network), kterou používáte, a spustit DDoS útok přímo na vašem původním serveru.

Jakmile bude váš poštovní server spuštěn, můžete si do WordPressu nainstalovat plugin SMTP, aby se mohl připojit k vašemu poštovnímu serveru a odesílat e-maily. Přejděte na hlavní panel aplikace WordPress -> Pluginy , klikněte na Přidat nový nainstalovat nový plugin.

Poté zadejte WP Mail SMTP ve vyhledávacím poli. Nainstalujte a aktivujte WP Mail SMTP od WPForms plugin.

Znovu načtěte webovou stránku řídicího panelu WordPress, uvidíte WP Mail SMTP na levé liště nabídek. Klikněte na něj a vyberte Nastavení .

Poté přejděte dolů do části Mailer. Ve výchozím nastavení je vybrán PHP mailer. Musíme jej změnit na Jiný SMTP .

Přejděte dolů a budete muset zadat nastavení SMTP.

  • Zadejte název hostitele svého poštovního serveru.
  • Jako šifrování vyberte TLS.
  • Použijte port 587.
  • Povolte ověřování.
  • Zadejte e-mailovou adresu své domény a heslo.

Po uložení nastavení můžete otestovat odesílání e-mailů tak, že se odhlásíte z ovládacího panelu WordPress a kliknete na ztratili jste heslo odkaz pro odeslání e-mailu pro resetování hesla.

Další krok

  • Pro správu webu WordPress můžete také použít nástroj příkazového řádku WP-CLI.
  • Můžete použít WPScan ke kontrole zranitelností vašeho webu WordPress.
  • Pro sledování výkonu vašeho webu WordPress můžete použít Nginx Amplify.

Doufám, že vám tento návod pomohl nainstalovat WordPress na Ubuntu 18.04 s Nginx, MariaDB a PHP7.2 (LEMP stack). Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje, kde získáte další tipy a triky. Opatruj se 🙂


Ubuntu
  1. Jak nainstalovat WordPress s Nginx na Ubuntu 18.04

  2. Jak nainstalovat SuiteCRM s Nginx na Ubuntu 16.04

  3. Jak nainstalovat WordPress s LEMP na Ubuntu 20.04

  1. Jak nainstalovat Magento s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Wordpress s Nginx, MariaDB a HHVM na Ubuntu 16.04 LTS

  3. Nainstalujte více instancí Drupal s Nginx na Ubuntu 20.04

  1. Jak nainstalovat Wordpress s Nginx, MariaDB a HHVM v Ubuntu 15.04

  2. Jak nainstalovat více WordPress s Nginx na Ubuntu 18.04

  3. Nainstalujte WordPress s LAMP Stack na Ubuntu 20.04