GNU/Linux >> Znalost Linux >  >> Ubuntu

Hostujte WordPress v Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

WordPress je bezplatný a otevřený systém pro správu obsahu napsaný v PHP a spárovaný s databází MySQL nebo MariaDB. WordPress je dnes jedním z nejpopulárnějších CMS.

WordPress.com je hostovaná platforma software-as-a-service (SaaS), která vám umožňuje vytvářet webové stránky pomocí stavebních bloků WordPress. Hostování vašeho webu na webu WordPress vás bude stát.

Software WordPress je zdarma a má otevřený zdroj, ale k jeho zprovoznění je potřeba nastavit hosting. V této příručce se zabýváme touto možností, nastavením WordPressu v Ubuntu 20.04.

Předpoklady

Abychom mohli postupovat podle tohoto průvodce, potřebujeme následující:

  • Aktuální server Ubuntu 20.04 s připojením k internetu
  • Přístup root na serveru nebo uživatel s přístupem sudo
  • Znalost používání terminálu Linux

Kroky potřebné k tomu, aby WordPress fungoval v Ubuntu 20.04

  1. Ujistěte se, že je systém aktuální
  2. Instalace databázového serveru mysql 8 a vytvoření uživatele WordPress
  3. Nainstalujte webový server Nginx
  4. Nainstalujte PHP se závislostmi
  5. Nakonfigurujte nastavení PHP a PHP FPM
  6. Stahování a konfigurace WordPress
  7. Nastavte Nginx pro poskytování obsahu wordpress
  8. Otestujte instalaci WordPress

1. Ujistěte se, že je systém aktuální

Než budete pokračovat, ujistěte se, že je náš server aktualizován. Tyto příkazy použijte k 1. aktualizaci úložišť serveru, 2. aktualizaci serverových balíčků na nejnovější verze:

# Update repos
sudo apt update

# Upgrade packages
sudo apt -y upgrade

2. Instalace databázového serveru mysql 8 a vytvoření uživatele WordPress

Požadovaný balíček mysql-server není přítomen ve výchozích úložištích Ubuntu. Takže to musíme nastavit.

Tým mysql poskytuje ke stažení .deb soubor, který nakonfiguruje úložiště pro instalaci serveru mysql 8. Stáhněte si jej pomocí tohoto příkazu:

curl -LO https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb

Jakmile je stahování dokončeno, musíme nainstalovat stažený soubor deb. K instalaci použijte tento příkaz:

sudo dpkg -i ./mysql-apt-config_0.8.19-1_all.deb

Tím se otevře konfigurační okno s výzvou k výběru verze serveru mysql a dalších komponent, jako je cluster, sdílené klientské knihovny nebo pracovní plocha MySQL

Protože nás zajímá pouze instalace serveru Mysql, ponechte výchozí nastavení a klikněte na OK pokračovat.

Instalace serveru mysql

Nyní, když byly repozitáře přidány tak, aby zahrnovaly server mysql, můžeme nyní nainstalovat. Obnovte úložiště, abyste získali nejnovější informace z přidaného úložiště pomocí tohoto příkazu:

$ sudo apt update

Poté nainstalujte server Mysql 8 pomocí tohoto příkazu:

sudo apt install -y mysql-server

Zadejte přihlašovací údaje správce a systém nainstaluje serverový balíček MySQL, klientské balíčky a společné soubory databáze.

Instalace vás vyzve k zadání a potvrzení uživatele root a hesla pro databázi MySQL.

Poté budete vyzváni k výběru pluginu pro ověřování. Doporučuje se, abyste zvolili použití silného hesla:

Poté bude nastaveno nové heslo a služba znovu načtena.

Pomocí tohoto příkazu ověřte, že je mysql server spuštěn a běží:

$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 13:08:22 UTC; 2min 23s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 45123 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 45173 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 4710)
     Memory: 353.0M
     CGroup: /system.slice/mysql.service
             └─45173 /usr/sbin/mysqld

Sep 28 13:08:21 ip-172-26-11-229 systemd[1]: Starting MySQL Community Server...
Sep 28 13:08:22 ip-172-26-11-229 systemd[1]: Started MySQL Community Server.

Active: active (running) since ... část výše ukazuje, že aplikace je v provozu.

Připojte se k serveru a vytvořte uživatele

Po úspěšné instalaci mysql-serveru se připojte k serveru a vytvořte uživatele WordPress.

Připojte se k serveru mysql s heslem, které jsme poskytli dříve:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Poté vytvořte databázi, uživatele a heslo:

mysql> create database wordpress_db;
Query OK, 1 row affected (0.01 sec)

mysql> create user 'wordpress_user'@'%' identified by 'S0mStrongPa$$word';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on wordpress_db.* to 'wordpress_user'@'%';
Query OK, 0 rows affected (0.00 sec)

3. Nainstalujte webový server Nginx

Nginx nebude fungovat, pokud je nainstalován a spuštěn Apache. Protože budeme používat Nginx, použijte tento příkaz k odstranění apache, pokud je nainstalován v našem systému:

$ sudo apt remove apache2 -y

Instalace Nginx:

sudo dnf -y install nginx

Po dokončení instalace spusťte Nginx a povolte jeho automatické spuštění po restartu

systemctl start nginx
systemctl enable nginx

Zkontrolujte stav Nginx:

$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 16:28:30 UTC; 1min 2s ago
       Docs: man:nginx(8)
   Main PID: 56990 (nginx)
      Tasks: 3 (limit: 4710)
     Memory: 3.7M
     CGroup: /system.slice/nginx.service
             ├─56990 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─56991 nginx: worker process
             └─56992 nginx: worker process

Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Starting A high performance web server and a reverse pr>
Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Started A high performance web server and a reverse pro>

Chcete-li potvrdit, že Nginx skutečně běží a je dosažitelný, použijte tento příkaz:

curl http://server_ip/

Kde server_ip je ip vašeho serveru. Pokud z nějakého důvodu neznáte veřejnou IP svého serveru, použijte tuto kontrolu

curl -4 icanhazip.com

Měli byste vidět výchozí stránku Nginx.

4. Nainstalujte PHP se závislostmi

Protože výchozí úložiště obsahují php verze 7.4, nainstalujme jej pomocí tohoto příkazu:

sudo apt install php -y

Nainstalovanou verzi potvrďte příkazem php -v :

~$ php -v
PHP 7.4.3 (cli) (built: Aug 13 2021 05:39:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Dále nainstalujeme závislosti php. Závislosti php jsou dostupné jako balíčky na úrovni operačního systému s předponou php- . Umožňuje nainstalovat závislosti, které WordPress potřebuje, pomocí tohoto příkazu:

sudo apt install -y \
    php-common \
    php-mbstring \
    php-gd \
    php-intl \
    php-xml \
    php-json \
    php-mysqlnd \
    php-fpm

5. Nakonfigurujte nastavení PHP a PHP FPM

Globální nastavení php pro nainstalovanou verzi php jsou uložena v /etc/php/7.4/cli/php.ini soubor. Pojďme aktualizovat tato nastavení.
Otevřete php.ini s vaším oblíbeným textovým editorem použiji vim

sudo vim /etc/php/7.4/cli/php.ini

Poté vyhledejte následující proměnné a aktualizujte hodnoty, jak je uvedeno níže:

post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = Africa/Nairobi

6. Stažení a konfigurace WordPress

Nyní, když máme servery nastavené, stáhneme a nainstalujeme WordPress na server. Nejnovější verzi WordPress si můžete stáhnout z jejich oficiálních webových stránek.
Vytvořme adresář, kde se bude náš obsah WordPress zobrazovat na této cestě /var/www/example.citizix.com .

sudo mkdir /var/www/example.citizix.com

Ujistěte se, že uživatel webu vlastní obsah:

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

Stáhněte si nejnovější obsah WordPress:

cd /tmp
curl -LO https://wordpress.org/latest.zip

Ukázkový výstup:

$ curl -LO https://wordpress.org/latest.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.7M  100 15.7M    0     0  6650k      0  0:00:02  0:00:02 --:--:-- 6647k
$ ls
latest.zip

Extrahujte a přesuňte obsah do adresáře našeho serveru. Ujistěte se, že máte unzip příkaz nebo instalaci pomocí sudo apt install unzip .

unzip latest.zip
sudo mv wordpress/* /var/www/example.citizix.com

# Confirm content with
ls /var/www/example.citizix.com

Konfigurace WordPress

Nyní, když byl obsah WordPress zkopírován do adresáře webu, můžeme aktualizovat konfiguraci db pomocí poskytnutého ukázkového souboru.
Přepnout do adresáře webu:

cd /var/www/example.citizix.com/

Zkopírujte wp-config-sample soubor do wp-config.php .

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

Otevřete konfigurační soubor v textovém editoru:

vim wp-config.php

Aktualizujte tyto proměnné:DB_NAME , DB_USER , DB_PASSWORD , DB_HOST :

<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxx' );
/** MySQL database username */
define( 'DB_USER', 'xxx' );
/** MySQL database password */
define( 'DB_PASSWORD', 'xxx' );
/** MySQL hostname */
define( 'DB_HOST', 'xxx' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

Po dokončení uložte textový soubor.

Udělejte z webového uživatele vlastníka adresáře WordPress, aby měl přístup a mohl soubory obsluhovat.

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

7. Nastavte Nginx pro poskytování obsahu wordpress

Nyní, když je konfigurace na místě, pojďme nakonfigurovat virtuálního hostitele Nginx, aby obsluhoval obsah, který jsme právě přidali na /var/www/example.citizix.com
Pojďme vytvořit virtuální web v adresáři, kde Nginx poskytuje obsah zde /etc/nginx/conf.d :

sudo vim /etc/nginx/conf.d/example.citizix.com.conf

Přidejte následující obsah:

server {
    listen 80;

    server_name example.citizix.com;
    root /var/www/example.citizix.com;
    index index.php;

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

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Pomocí tohoto příkazu otestujte, zda je přidaná konfigurace v pořádku:

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Jakmile potvrdíte, že je vše v pořádku, restartujte Nginx, aby se změny projevily:

sudo systemctl restart nginx

8. Nakonec otestujte instalaci WordPress

Po provedení všech výše uvedených kroků je instalace z příkazového řádku dokončena. Můžete otevřít svůj oblíbený webový prohlížeč a nasměrovat jej na http://example.citizix.com/. Měli byste dostat následující obrazovku s výzvou, abyste mohli začít s nastavením instalace WordPress:

[Obrazovka zde]

Při prvním nastavení WordPressu by mělo být snadné postupovat podle výzev.


Ubuntu
  1. Jak nainstalovat WordPress pomocí Nginx na Ubuntu 18.04

  2. Nainstalujte WordPress na Nginx Ubuntu

  3. Jak nainstalovat WordPress s OpenLiteSpeed ​​na Ubuntu 18.04

  1. Ubuntu 20.04:WordPress s instalací Nginx

  2. Jak nainstalovat MySQL Server na Ubuntu 16.04

  3. Jak nainstalovat MySQL Server na Ubuntu 17.04

  1. Ubuntu 20.04 WordPress s instalací Apache

  2. Jak nainstalovat MySQL na Ubuntu 18.04

  3. Jak nainstalovat WordPress s Nginx na Ubuntu 18.04