Installer Nginx MariaDB PHP7 (LEMP) sur CentOS 7
Installer Nginx, MariaDB, PHP7 (LEMP) sur CentOS 7
(brouillon)
LEMP (Linux, ENginx, MariaDB, PHP) est un des grands classiques de l'installation de serveurs web. GNU/Linux est le système d'exploitation, ENginx un serveur web, MariaDB le serveur de base de données (ex MySQL) et PHP le langage de programmation.
Installer MariaDB
Installer les paquets nécessaires :
yum install -y mariadb-server mariadb
Démarrer et activer le service :
systemctl start mariadb systemctl enable mariadb
Exécutez ce script pour une installation sécurisée (répondez oui à toutes les questions et définissez un mot de passe pour la base)
mysql_secure_installation
Installer PHP
PHP v7.1 n'est pas présent dans la base de CentOS7. Pour l'installer, il nous faut donc utiliser un dépôt tierce. Ici, on choisit le dépôt Software Collections qui est un dépôt considéré comme sûr par CentOS. On active donc ce dépôt :
yum --enablerepo=extras install centos-release-scl
Puis on installe les paquets suivants :
yum install -y rh-php71.x86_64 yum install -y rh-php71-php-fpm.x86_64 yum install -y rh-php71-php-mysqlnd-7.1.8-1.el7.x86_64.rpm
Installer et configurer Nginx
Installer le paquet :
yum install -y nginx
On crée maintenant un fichier de configuration pour notre site, indiquant que l'on veut utiliser php. Pour cela, créer un nouveau fichier /etc/nginx/conf.d/monsite.conf avec le contenu ci-dessous, où 'ip_du_serveur' étant l'adresse IP publique de votre serveur (par exemple, 198.100.145.115) :
server {
listen 80; server_name ip_du_serveur;
root /usr/share/nginx/html; index index.php index.html index.htm;
location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; }
location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}
Ensuite, faites les modifications suivantes dans /etc/php-fpm.d/www.conf:
Remplacez :
- user = apache par user = nginx
- group = apache par group = nginx
- listen.owner = nobody par listen.owner = nginx
- listen.group = nobody par listen.group = nginx
Sous ;listen = 127.0.0.1:9000, ajouter:
listen = /var/run/php-fpm/php-fpm.sock
Démarrez et activez le service :
systemctl start nginx systemctl enable nginx
Nginx
Vous pouvez chercher d'autres paquets php particulier avec la commande :
yum search php71|grep <paquet_cherché>
Parmi les autres paquets souvent installés, il y a par exemple :
yum install -y rh-php71-php-pdo.x86_64 yum install -y rh-php71-php-gd.x86_64 yum install -y rh-php71-php-xml.x86_64