GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer WordPress avec HHVM et Nginx sur CentOS 7

HHVM (HipHop Virtual Machine) est une machine virtuelle open source permettant d'exécuter des programmes écrits en langage PHP et Hack. HHVM a été développé par Facebook, il fournit la plupart des fonctionnalités de la version actuelle de PHP 7. Pour exécuter HHVM sur votre serveur, vous pouvez utiliser un FastCGI pour connecter HHVM à un serveur Web Nginx ou Apache, ou vous pouvez utiliser le serveur Web intégré à HHVM appelé "Proxygen".

Dans ce tutoriel, je vais vous montrer comment installer WordPress avec HHVM et Nginx comme serveur web. J'utiliserai CentOS 7 comme système d'exploitation, donc une connaissance de base de CentOS est requise.

Prérequis

  • CentOS 7 - 64 bits
  • Privilèges root

Étape 1 - Configurer SELinux et ajouter le référentiel Epel

Dans ce didacticiel, nous utiliserons SELinux en mode d'application, nous avons donc besoin des outils de gestion SELinux installés sur le système. Nous utiliserons setools et setrobleshoot pour gérer les politiques SELinux.

Par défaut, SELinux est activé sur CentOS 7, nous pouvons le vérifier avec la commande ci-dessous :

sestatus
getenforce

Vous pouvez voir que SELinux est activé avec le mode d'application.

Ensuite, installez setools et setroubleshoot avec la commande yum.

yum -y install setroubleshoot setools net-tools

Une fois l'installation terminée, vous pouvez installer le référentiel EPEL.

yum -y install epel-release

Étape 2 - Installer Nginx

Nginx ou engine-x est un serveur Web léger avec des performances élevées et une faible consommation de mémoire. Sur CentOS, nous pouvons utiliser yum pour installer les packages Nginx. Assurez-vous d'être connecté en tant qu'utilisateur root !

Installez nginx avec cette commande yum à partir du référentiel CentOS :

yum -y install nginx

Démarrez maintenant Nginx et activez-le au démarrage avec la commande systemctl :

systemctl start nginx
systemctl enable nginx

Pour vous assurer que Nginx s'exécute sur notre serveur, visitez l'adresse IP du serveur avec votre navigateur ou utilisez la commande curl comme indiqué ci-dessous pour obtenir les résultats :

curl 192.168.1.110

Je vais le vérifier avec mon navigateur Web ici :

Étape 3 - Installer et configurer MariaDB

MariaDB est une base de données open source développée par le développeur original de MySQL Monty Widenius, elle a été dérivée de la base de données MySQL mais reste compatible avec elle dans ses principales fonctions. Dans cette étape, nous allons installer MariaDB et configurer le mot de passe root pour la base de données MariaDB. Ensuite, nous créerons une nouvelle base de données et un nouvel utilisateur requis pour notre installation WordPress.

Installez mariadb et mariadb-server :

yum -y install mariadb mariadb-server

Démarrez MariaDB et ajoutez le service à démarrer automatiquement au démarrage :

systemctl start mariadb
systemctl enable mariadb

MariaDB a été démarré, et maintenant nous devons configurer le mot de passe root pour la base de données mariadb/mysql. Tapez la commande ci-dessous pour configurer le mot de passe root MariaDB.

mysql_secure_installation

Tapez votre nouveau mot de passe pour l'utilisateur root de MariaDB lorsque vous y êtes invité.

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
 ... Success!
Disallow root login remotely? [Y/n] Y
 ... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
 ... Success!

Le mot de passe root MariaDB a été configuré. Connectez-vous maintenant au shell MariaDB/MySQL et créez une nouvelle base de données "wordpressdb" et un nouvel utilisateur "wpuser" avec le mot de passe "[email protected]" pour notre installation WordPress. Choisissez un mot de passe sécurisé pour votre installation !

Connectez-vous au shell MariaDB/MySQL :

mysql -u root -p
TYPE YOUR PASSWORD

Créez une nouvelle base de données et un nouvel utilisateur :

create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q

MariaDB a été installé et la nouvelle base de données pour notre installation WordPress a été créée.

Étape 4 - Installer HHVM

Pour l'installation de HHVM, nous devons installer de nombreuses dépendances. Nous pouvons installer HHVM à partir de la source en téléchargeant la source à partir de github ou en installant des packages prédéfinis disponibles sur Internet. Dans ce didacticiel, j'installerai HHVM à partir de packages prédéfinis.

Installez les dépendances pour l'installation de HHVM

yum -y install cpp gcc-c++ cmake git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server libc-client make

Installez ensuite les packages prédéfinis HHVM à partir de ce site avec la commande rpm.

rpm -Uvh http://mirrors.linuxeye.com/hhvm-repo/7/x86_64/hhvm-3.15.2-1.el7.centos.x86_64.rpm
ln -s /usr/local/bin/hhvm /bin/hhvm

HHVM a été installé, vérifiez-le avec la commande ci-dessous :

hhvm --version

Pour utiliser la commande php, nous pouvons définir la commande hhvm comme php. Ainsi, lorsque vous tapez 'php' sur le shell, vous verrez le même résultat qu'avec la commande hhvm.

sudo update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
php --version

Étape 5 - Configurer HHVM

Dans cette étape, nous allons configurer HHVM. Nous exécuterons hhvm en tant que service systemd. Au lieu de l'exécuter sur un port système, nous exécuterons hhvm sur un fichier de socket Unix, ce qui est plus rapide.

Accédez au répertoire systemd et créez le fichier hhvm.service.

cd /etc/systemd/system/
vim hhvm.service

Collez la configuration de service ci-dessous dans ce fichier.

[Unit]
Description=HHVM HipHop Virtual Machine (FCGI)
After=network.target nginx.service mariadb.service

[Service]
ExecStart=/usr/local/bin/hhvm --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock

[Install]
WantedBy=multi-user.target

Enregistrez le fichier et quittez vim.

Ensuite, allez dans le répertoire hhvm et modifiez le fichier server.ini.

cd /etc/hhvm/
vim server.ini

Remplacez hhvm.server.port sur la ligne 7 par la configuration de socket unix ci-dessous :

hhvm.server.file_socket = /var/run/hhvm/hhvm.sock

Enregistrez le fichier et quittez l'éditeur.

Dans le fichier de service hhvm, nous avons défini que hhvm s'exécute sous l'utilisateur 'nginx', nous devons donc changer le propriétaire du répertoire du fichier socket en utilisateur 'nginx'. Ensuite, nous devons modifier le contexte SELinux du répertoire hhvm pour autoriser l'accès au fichier de socket.

chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Après le redémarrage du serveur, hhvm ne fonctionnera pas car il n'y a pas de répertoire pour le fichier socket, nous devons donc le créer automatiquement au moment du démarrage.

Modifiez le fichier rc.local avec vim.

vim /etc/rc.local

Collez la configuration ci-dessous jusqu'à la fin de la ligne.

mkdir -p /var/run/hhvm/
chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

Enregistrez le fichier et quittez vim. Rendre le fichier exécutable.

chmod +x /etc/rc.local

Rechargez le service systemd, démarrez hhvm et ajoutez-le pour qu'il soit démarré au démarrage.

systemctl daemon-reload
systemctl start hhvm
systemctl enable hhvm

Assurez-vous qu'il n'y a pas d'erreur. Vérifiez que hhvm s'exécute sous le fichier socket avec la commande netstat.

netstat -pl | grep hhvm

Étape 6 - Configurer HHVM et Nginx

Dans cette étape, nous allons configurer HHVM pour qu'il s'exécute avec le serveur Web Nginx. Nous devons créer un nouveau fichier de configuration hhvm dans le répertoire Nginx.

Accédez au répertoire /etc/nginx et créez un fichier hhvm.conf.

cd /etc/nginx/
vim hhvm.conf

Collez la configuration ci-dessous :

location ~ \.(hh|php)$ {
    root /usr/share/nginx/html;
    fastcgi_keep_conn on;
    fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

Enregistrez et quittez.

Ensuite, modifiez le fichier nginx.conf et ajoutez la ligne d'inclusion de configuration hhvm.

vim nginx.conf

Ajoutez la configuration à la ligne 57 de la directive du serveur.

include /etc/nginx/hhvm.conf;

Enregistrez et quittez.

Modifiez ensuite le contexte SELinux du fichier de configuration hhvm.

semanage fcontext -a -t httpd_config_t /etc/nginx/hhvm.conf
restorecon -v /etc/nginx/hhvm.conf

Testez la configuration Nginx et redémarrez le service.

nginx -t
systemctl restart nginx

Assurez-vous qu'il n'y a pas d'erreur.

Étape 7 - Créer un hôte virtuel avec HHVM et Nginx

Dans cette étape, nous allons créer une nouvelle configuration d'hôte virtuel avec Nginx et hhvm. J'utiliserai le nom de domaine "natsume.co" pour cet exemple. Veuillez utiliser votre propre nom de domaine et le remplacer dans les fichiers de configuration et l'installation de WordPress partout où il apparaît.

Allez dans le répertoire nginx conf.d où nous allons stocker le fichier de l'hôte virtuel :

cd /etc/nginx/conf.d/

Créez la nouvelle configuration "natsume.conf" avec vim :

vim natsume.conf

Collez la configuration de l'hôte virtuel ci-dessous :

server {
    listen       80;
    server_name  natsume.co;

    # note that these lines are originally from the "location /" block
    root   /var/www/hakase;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    location = /50x.html {
        root /var/www/hakase;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Enregistrez et quittez.

Dans notre configuration d'hôte virtuel, nous avons défini le répertoire racine Web pour le nom de domaine comme étant le répertoire "/var/www/hakase". Ce répertoire n'existe pas encore, nous devons donc le créer et changer la propriété de l'utilisateur et du groupe nginx.

mkdir -p /var/www/hakase
chown -R nginx:nginx /var/www/hakase

Ensuite, configurez le contexte SELinux pour le fichier et le répertoire.

semanage fcontext -a -t httpd_config_t "/etc/nginx/conf.d(/.*)?"
restorecon -Rv /etc/nginx/conf.d

Enfin, testez la configuration de nginx pour vous assurer qu'il n'y a pas d'erreur, puis redémarrez nginx :

nginx -t
systemctl restart nginx

Étape 8 - Installer WordPress

À l'étape 5, nous avons créé la configuration de l'hôte virtuel pour notre installation WordPress. Il ne nous reste plus qu'à télécharger WordPress et à modifier la configuration de la base de données en utilisant la base de données et l'utilisateur que nous avons créés à l'étape 3.

Accédez au répertoire racine Web "/var/www/hakase" et téléchargez WordPress avec la commande wget :

cd /var/www/hakase
wget wordpress.org/latest.tar.gz

Extrayez "latest.tar.gz" et déplacez tous les fichiers et répertoires WordPress vers le répertoire actuel :

tar -xzvf latest.tar.gz
mv wordpress/* .

Ensuite, copiez le fichier "wp-config-sample.php" dans "wp-config.php" et modifiez-le avec vim :

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

Définissez DB_NAME sur "wordpressdb" , DB_USER à "wpuser" et DB_PASSWORD à "[email protected]" .

define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '[email protected]');
define('DB_HOST', 'localhost');

Enregistrez et quittez.

Modifiez le contexte SELinux pour le répertoire WordPress.

semanage fcontext -a -t httpd_sys_content_t "/var/www/hakase(/.*)?"
restorecon -Rv /var/www/hakase

Ouvrez maintenant un navigateur Web et tapez le nom de domaine de votre domaine wordpress dans la barre d'adresse, le mien est "natsume.co".

Choisissez la langue anglaise et cliquez sur 'Continuer '.

Remplissez le titre et la description du site avec vos informations et cliquez sur "Installer Wordpress".

Attendez que l'installation soit terminée. Vous verrez la page ci-dessous, cliquez sur "Connexion" pour vous connecter au tableau de bord d'administration de WordPress :

Saisissez votre nom d'utilisateur et votre mot de passe administrateur, puis cliquez à nouveau sur "Connexion".

Vous êtes maintenant sur le tableau de bord d'administration de WordPress.

Page d'accueil WordPress.

Wordpress avec Nginx et HHVM sur CentOS 7 a été installé avec succès.


Cent OS
  1. Comment installer WordPress avec Nginx sur CentOS 7

  2. Comment installer Nextcloud avec Nginx et PHP 7.3 sur CentOS 8

  3. Comment installer WordPress Multisite sur Centos VPS avec Nginx

  4. Installez Magento sur CentOS 7, avec Nginx, PHP-FPM et MariaDB

  5. Installez WordPress avec HHVM, Nginx et MariaDB sur un Ubuntu 12.04 LTS

Comment installer WordPress avec Nginx sur AlmaLinux 8

Comment installer Wordpress avec Nginx, MariaDB et HHVM dans Ubuntu 15.04

Comment installer Wordpress avec Nginx, MariaDB et HHVM sur Debian 8

Comment installer WordPress avec Nginx sur CentOS 8 / RHEL 8

Comment installer OwnCloud 8 avec Nginx et PHP-FPM sur CentOS 6

Comment installer WordPress sur CentOS 8