GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Héberger WordPress dans Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

WordPress est un système de gestion de contenu gratuit et open source écrit en PHP et associé à une base de données MySQL ou MariaDB. WordPress est l'un des CMS les plus populaires disponibles aujourd'hui.

WordPress.com est une plate-forme hébergée de logiciel en tant que service (SaaS) qui vous permet de créer un site Web à l'aide de blocs de construction WordPress. Il vous en coûtera pour héberger votre site Web sur le site WordPress.

Le logiciel WordPress est gratuit et Open Source, mais pour le faire fonctionner, vous devez configurer un hébergement. Dans ce guide, nous allons avec cette option, en configurant WordPress dans Ubuntu 20.04.

Prérequis

Pour suivre ce guide, nous avons besoin des éléments suivants :

  • Serveur Ubuntu 20.04 à jour avec connexion Internet
  • Accès root sur le serveur ou un utilisateur avec accès sudo
  • Connaissance de l'utilisation des terminaux Linux

Étapes nécessaires pour que WordPress fonctionne dans Ubuntu 20.04

  1. Assurez-vous que le système est à jour
  2. Installation du serveur de base de données mysql 8 et création d'un utilisateur WordPress
  3. Installer le serveur Web Nginx
  4. Installer PHP avec des dépendances
  5. Configurer les paramètres PHP et PHP FPM
  6. Téléchargement et configuration de WordPress
  7. Configurer Nginx pour diffuser du contenu wordpress
  8. Tester l'installation de WordPress

1. Assurez-vous que le système est à jour

Avant de continuer, assurons-nous que notre serveur est mis à jour. Utilisez ces commandes pour 1. Mettre à jour les référentiels du serveur, 2. Mettre à niveau les packages du serveur vers les dernières versions :

# Update repos
sudo apt update

# Upgrade packages
sudo apt -y upgrade

2. Installation du serveur de base de données mysql 8 et création d'un utilisateur WordPress

Le package mysql-server requis n'est pas présent dans les référentiels Ubuntu par défaut. Nous devons donc le configurer.

L'équipe mysql fournit un fichier .deb téléchargeable fichier qui configurera les dépôts pour l'installation de mysql server 8. Téléchargez-le avec cette commande :

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

Une fois le téléchargement terminé, nous devons installer le fichier deb téléchargé. Utilisez cette commande pour installer :

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

Cela ouvrira une fenêtre de configuration vous invitant à choisir la version du serveur mysql et d'autres composants tels que le cluster, les bibliothèques clientes partagées ou l'atelier MySQL

Pour l'instant puisque nous ne sommes intéressés que par l'installation du serveur Mysql, laissez les paramètres par défaut et cliquez sur OK pour continuer.

Installation du serveur mysql

Maintenant que les dépôts ont été ajoutés pour inclure le serveur mysql, nous pouvons maintenant installer. Actualisons les référentiels pour obtenir les dernières nouveautés du référentiel ajouté à l'aide de cette commande :

$ sudo apt update

Installez ensuite Mysql 8 Server à l'aide de cette commande :

sudo apt install -y mysql-server

Entrez vos informations d'identification d'administrateur et le système installera le package du serveur MySQL, les packages client et les fichiers communs de la base de données.

L'installation vous demandera d'entrer et de confirmer un utilisateur root et un mot de passe pour la base de données MySQL.

Après cela, il vous sera demandé de sélectionner le plug-in d'authentification. Il est recommandé de choisir d'utiliser un mot de passe fort :

Après cela, le nouveau mot de passe sera défini et le service sera rechargé.

Confirmez que le serveur mysql est opérationnel avec cette commande :

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

Le Active: active (running) since ... ci-dessus indique que l'application est opérationnelle.

Se connecter au serveur et créer l'utilisateur

Après une installation réussie de mysql-server, connectons-nous au serveur et créons un utilisateur WordPress.

Connectez-vous au serveur mysql en fournissant le mot de passe que nous avons fourni précédemment :

$ 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>

Créez ensuite une base de données, un utilisateur et un mot de passe :

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. Installez le serveur Web Nginx

Nginx ne fonctionnera pas si Apache est installé et en cours d'exécution. Puisque nous allons utiliser Nginx, utilisons cette commande pour supprimer apache s'il est installé sur notre système :

$ sudo apt remove apache2 -y

Pour installer Nginx :

sudo dnf -y install nginx

Une fois l'installation terminée, démarrez Nginx et activez-le pour qu'il démarre automatiquement après un redémarrage

systemctl start nginx
systemctl enable nginx

Vérifier l'état de 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>

Pour confirmer que Nginx est réellement en cours d'exécution et accessible, utilisez cette commande :

curl http://server_ip/

server_ip est l'IP de votre serveur. Si, pour une raison quelconque, vous ne connaissez pas l'adresse IP publique de votre serveur, utilisez-la pour vérifier

curl -4 icanhazip.com

Vous devriez voir la page par défaut de Nginx.

4. Installer PHP avec des dépendances

Comme les dépôts par défaut contiennent la version 7.4 de PHP, installons-la avec cette commande :

sudo apt install php -y

Confirmez la version installée avec la commande 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

Ensuite, nous installons les dépendances php. Les dépendances php sont disponibles sous forme de packages de niveau système d'exploitation préfixés php- . Installons les dépendances dont WordPress a besoin avec cette commande :

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

5. Configurer les paramètres PHP et PHP FPM

Les paramètres php globaux pour la version de php installée sont stockés dans le /etc/php/7.4/cli/php.ini dossier. Mettons à jour ces paramètres.
Ouvrez php.ini avec votre éditeur de texte préféré, j'utiliserai vim

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

Ensuite, recherchez les variables suivantes et mettez à jour les valeurs comme indiqué ci-dessous :

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

6. Téléchargement et configuration de WordPress

Maintenant que les serveurs sont configurés, téléchargeons et installons WordPress sur le serveur. La dernière version de WordPress peut être téléchargée depuis leur site officiel.
Créons un répertoire où notre contenu WordPress sera servi dans ce chemin /var/www/example.citizix.com .

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

Assurez-vous que l'internaute est propriétaire du contenu :

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

Téléchargez le dernier contenu WordPress :

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

Exemple de sortie :

$ 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

Extrayez et déplacez le contenu vers notre répertoire de serveur. Assurez-vous d'avoir unzip commande ou installez avec sudo apt install unzip .

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

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

Configurer WordPress

Maintenant que le contenu WordPress a été copié dans le répertoire du site, mettons à jour la configuration de la base de données à l'aide de l'exemple de fichier fourni.
Basculez vers le répertoire du site :

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

Copiez votre wp-config-sample fichier dans wp-config.php .

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

Ouvrez le fichier de configuration dans un éditeur de texte :

vim wp-config.php

Mettez à jour ces variables :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', '' );

Enregistrez le fichier texte une fois que cela est fait.

Faites de l'internaute le propriétaire du répertoire WordPress, afin qu'il ait accès et soit en mesure de servir les fichiers.

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

7. Configurer Nginx pour diffuser du contenu wordpress

Maintenant que la configuration est en place, configurons un hôte virtuel Nginx pour servir le contenu que nous venons d'ajouter à /var/www/example.citizix.com
Créons un site virtuel dans le répertoire que Nginx sert de contenu ici /etc/nginx/conf.d :

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

Ajoutez le contenu suivant :

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

Assurez-vous que la configuration ajoutée est bonne en utilisant cette commande pour tester :

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

Une fois que vous avez confirmé que tout est OK, redémarrez Nginx pour que les modifications prennent effet :

sudo systemctl restart nginx

8. Enfin, testez l'installation de WordPress

Une fois toutes les étapes ci-dessus effectuées, l'installation à partir de la ligne de commande est terminée. Vous pouvez ouvrir votre navigateur Web préféré et le diriger vers http://example.citizix.com/. Vous devriez obtenir l'écran suivant vous invitant à commencer la configuration de l'installation de WordPress :

[Écran ici]

Il devrait être facile de suivre les instructions pour configurer WordPress pour la première fois.


Ubuntu
  1. Comment installer WordPress avec Nginx sur Ubuntu 18.04

  2. Installer WordPress sur Nginx Ubuntu

  3. Comment installer le serveur MySQL sur Ubuntu 16.04

  4. Comment installer le serveur MySQL sur Ubuntu 17.04

  5. Comment installer WordPress avec OpenLiteSpeed ​​sur Ubuntu 18.04

Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) sur Ubuntu 14.10

Installez Nginx, MySQL, PHP (pile LEMP) sur Ubuntu 20.04 LTS

Désinstallez complètement le serveur MySQL dans Ubuntu

Comment installer le serveur MySQL dans Ubuntu

Comment installer Nginx sur Ubuntu

Comment installer le serveur MySQL sur Ubuntu 20.04