GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte WordPress na Ubuntu 20.04 s Apache, MariaDB, PHP7.4 (LAMP)

Tento tutoriál vám ukáže, jak nainstalovat WordPress na Ubuntu 20.04 s Apache, MariaDB a PHP7.4 (LAMP 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.4 se stalo součástí úložiště Ubuntu 20.04 a WordPress s ním běží perfektně.

Předpoklad

Abyste mohli postupovat podle tohoto návodu, musíte mít server Ubuntu 20.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 LAMP na Ubuntu 20.04. Pokud ne, podívejte se prosím na následující návod.

  • Jak nainstalovat LAMP Stack (Apache, MariaDB, PHP7.4) na Ubuntu 20.04

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

Krok 1:Stáhněte si WordPress

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

aktualizace sudo apt &&upgrade sudo apt

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 20.04.

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

Dále rozbalte archiv do /var/www/ adresář s unzip .

sudo apt install unzipsudo mkdir -p /var/www/sudo unzip nejnovější.zip -d /var/www/

-d volba určuje cílový adresář. Webové soubory WordPress budou extrahovány do /var/www/wordpress . Tento adresář můžeme přejmenovat, jak je uvedeno níže, takže je pro nás snadné každý adresář identifikovat. Nahraďte example.com s vaším skutečným názvem domény.

sudo mv /var/www/wordpress /var/www/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.)

vytvořit databázi 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.

udělte všechna oprávnění na wordpress.* na adresu wpuser@localhost identifikovanou pomocí 'vaše-heslo';

Aby se změny projevily, vyprázdněte tabulku oprávnění a poté ukončete prostředí MariaDB.

vyprázdnit oprávnění;exit;

Krok 3:Nakonfigurujte WordPress

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

cd /var/www/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.

/** Název databáze pro WordPress */define('DB_NAME', 'název_databáze_zde');/** Uživatelské jméno databáze MySQL */define('DB_USER', 'uživatelské_jméno_zde');/** Databáze MySQL heslo */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 Apache (www-data ) jako vlastníka adresáře webu WordPress pomocí následujícího příkazu.

sudo chown www-data:www-data /var/www/example.com/ -R

Krok 4:Vytvořte soubor virtuálního hostitele Apache pro WordPress

Spusťte následující příkaz a vytvořte soubor virtuálního hostitele pro váš web WordPress v /etc/apache2/sites-available/ adresář.

sudo nano /etc/apache2/sites-available/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 ve správci DNS.

 ServerName www.example.com ServerAlias ​​example.com DocumentRoot /var/www/example.com #To umožňuje soubor .htaccess, který je nutný pro fungování trvalého odkazu WordPress.  AllowOverride All  ErrorLog ${APACHE_LOG_DIR}/example.com.error.log CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined 

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

sudo apache2ctl configtest

Pokud vidíte „Syntaxe OK“, povolte tohoto virtuálního hostitele.

sudo a2ensite example.com.conf

A znovu načtěte Apache, aby se změny projevily.

sudo systemctl reload apache2

Nastavte správný záznam A pro název své domény a poté zadejte název své domény do adresního řádku prohlížeče.

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 php7.4-mbstring php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-bcmath php7.4-json php7.4-cli php7.4- curl php7.4-zip

Poté znovu načtěte Apache a nyní by se měl zobrazit průvodce.

sudo systemctl reload apache2

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 20.04.

sudo apt install certbot python3-certbot-apache

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

sudo certbot --apache --agree-tos --redirect --hsts --uir --staple-ocsp --email [e-mail chráněný] -d vasedomena.com,www.vasedomena.com

Kde

  • --apache :Použijte plugin Apache.
  • --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.
  • --uir :Ke každé odpovědi HTTP přidejte záhlaví „Content-Security-Policy:upgrade-insecure-requests“.
  • --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.

Přesměrování 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. Pokud používáte WordPress, pak je to velmi snadné. 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.

Oprava dvojitého přesměrování 301

Preferovanou verzi domény jsme nastavili v Adresa WordPress a Adresa webu pole. Existuje však problém s dvojitým přesměrováním 301. Nejprve server Apache přesměruje HTTP na HTTPS, poté WordPress přesměruje na doménu www nebo bez www.

Někdo může namítnout, že při dvojitém přesměrování 301 můžete ztratit šťávu z odkazů SEO. Pokud se toho obáváte, můžete použít níže uvedenou metodu k tomu, aby všechny verze domény šly přímo do konečného cíle, takže dojde k jedinému přesměrování 301.

Upravte soubor virtuálního hostitele. (Ne virtuální hostitel SSL)

sudo nano /etc/apache2/sites-enabled/example.com.conf

Klient CertBot přidal do souboru následující řádky pro přesměrování HTTP na HTTPS.

RewriteEngine onRewriteCond %{SERVER_NAME} =example.com [NEBO]RewriteCond %{SERVER_NAME} =www.example.comRewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] 

Chcete-li přesměrovat na doménu www nebo non-www, musíte změnit poslední řádek. Nahraďte %{SERVER_NAME} s preferovanou verzí domény, jak je uvedeno níže. (doména www)

RewriteRule ^ https://www.example.com%{REQUEST_URI} [END,NE,R=permanent]

Pokud preferujete doménu bez www, změňte ji na následující.

RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]

Poté soubor uložte a zavřete. Budeme také muset upravit virtuálního hostitele SSL.

sudo nano /etc/apache2/sites-enabled/example.com-le-ssl.conf

Přidejte následující řádky nad koncovou značku , abyste přesměrovali doménu bez www na doménu www.

RewriteEngine onRewriteCond %{SERVER_NAME} =example.comRewriteRule ^ https://www.example.com%{REQUEST_URI} [END,NE,R=permanent]

Pokud chcete přesměrovat www na doménu bez www, přidejte místo toho následující řádky.

RewriteEngine onRewriteCond %{SERVER_NAME} =www.example.comRewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]

Uložte a zavřete soubor. Znovu načtěte službu Apache, aby se změny projevily.

sudo systemctl reload apache2

Aby to bylo jasnější, níže je snímek obrazovky mého souboru virtuálního hostitele Apache a souboru virtuálního hostitele SSL pro přesměrování bez www na doménu www.

Soubor virtuálního hostitele Apache

Soubor virtuálního hostitele Apache SSL

Ujistěte se, že jste nastavili preferovanou verzi domény v Adresa WoredPress a Adresa webu před úpravou souborů virtuálního hostitele Apache. Pokud jsou nastavení WordPress v rozporu s konfigurací Apache, váš web skončí ve smyčce přesměrování.

Automatické obnovení certifikátu TLS

Chcete-li automaticky obnovit certifikát Let’s Encrypt, jednoduše upravte soubor crontab uživatele root.

sudo crontab -e

Poté přidejte následující řádek na konec.

@daily certbot renew --quiet &&systemctl reload apache2

Apache je potřeba znovu načíst, aby mohl klientům představit nový certifikát.

Zvyšte limit velikosti nahrávaného souboru

Pokud ke spuštění PHP skriptu používáte modul Apache PHP, pak neexistuje žádný limit velikosti nahrávaného souboru. Pokud ke spouštění skriptu PHP používáte PHP-FPM, změňte limit velikosti souboru, abyste mohli nahrávat velké soubory do knihovny médií WordPress. Výchozí maximální velikost souboru pro nahrávání v PHP-FPM je 2 MB. Chcete-li zvýšit limit velikosti nahrávání, upravte konfigurační soubor PHP.

sudo nano /etc/php/7.4/fpm/php.ini

Najděte následující řádek (řádek 846).

upload_max_filesize =2M

Změňte hodnotu takto:

upload_max_filesize =20 milionů

Potom najděte následující řádek (řádek 694).

post_max_size =8 milionů

Změňte maximální velikost dat POST, která bude PHP akceptovat.

post_max_size =20 milionů

Uložte a zavřete soubor. Případně můžete spustit následující dva příkazy a změnit hodnotu bez ručního otevírání souboru.

sudo sed -i 's/upload_max_filesize =2M/upload_max_filesize =20M/g' /etc/php/7.4/fpm/php.inisudo sed -i 's/post_max_size =8M/post_max_size =20M/g' /etc /php/7.4/fpm/php.ini

Poté restartujte PHP-FPM.

sudo systemctl restart php7.4-fpm

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.


Ubuntu
  1. Jak nainstalovat WordPress s Apache na Ubuntu 18.04

  2. Jak nainstalovat Joomla s Apache na Ubuntu 18.04

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

  1. Nainstalujte WordPress s LAMP Stack na Ubuntu 20.04

  2. Jak nainstalovat phpBB s Apache na Ubuntu 20.04

  3. Nainstalujte LAMP Stack (Apache, MariaDB, PHP) na Ubuntu 22.04

  1. Nainstalujte WordPress na Ubuntu 16.04 / Ubuntu 14.04 s LAMP

  2. Jak nainstalovat WordPress 5.x s Nginx na Ubuntu 18.04 / Ubuntu 16.04

  3. Jak nainstalovat NextCloud na Ubuntu 20.04 s Apache