« Installer Nginx MariaDB PHP7 (LEMP) sur CentOS 7 » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
(Page créée avec « = 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... »)
 
Aucun résumé des modifications
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= Installer Nginx, MariaDB, PHP7 (LEMP) sur CentOS 7 =
= Installer Nginx, MariaDB, PHP7 (LEMP) sur CentOS 7 =
[[Catégorie:Services Web]]


(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 ==
 
Installez les paquets nécessaires :


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.
<div class="code">
yum install -y mariadb-server mariadb
</div>
 
Démarrez et activez le service :
 
<div class="code">
systemctl start mariadb
systemctl enable mariadb
</div>
 
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)
 
<div class="code">
mysql_secure_installation
</div>


== Installer Nginx ==
== Installer PHP ==


Installer le paquet :
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 [https://wiki.centos.org/AdditionalResources/Repositories/SCL Software Collections] qui est un dépôt considéré comme [https://wiki.centos.org/fr/AdditionalResources/Repositories/ sûr par CentOS]. On active donc ce dépôt :


yum install -y nginx
<div class="code">
yum --enablerepo=extras install centos-release-scl
</div>


Démarrer et activer le service :
Puis on installe les paquets suivants :


systemctl start nginx
<div class="code">
systemctl enable nginx
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
</div>


== Installer MariaDB ==
== Installer et configurer Nginx ==


Installer les paquets nécessaires :
Installez le paquet :


yum install -y mariadb-server mariadb
<div class="code">
yum install -y nginx
</div>


Démarrer et activer le service :
On crée maintenant un fichier de configuration pour notre site, indiquant que l'on veut utiliser PHP. Pour cela, créez un nouveau fichier <tt>/etc/nginx/conf.d/monsite.conf</tt> avec le contenu ci-dessous, où ''ip_du_serveur'' étant l'adresse IP publique de votre serveur (par exemple, 198.100.145.115) :


systemctl start mariadb
<div class="code">
systemctl enable mariadb
server {
    listen  80;
    server_name  ip_du_serveur;


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)
    root  /usr/share/nginx/html;
    index index.php index.html index.htm;


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


== Installer PHP ==
    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;
    }
}
</div>


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 [https://wiki.centos.org/AdditionalResources/Repositories/SCL Software Collections] qui est un dépôt considéré comme [https://wiki.centos.org/fr/AdditionalResources/Repositories/ sûr par CentOS]. On active donc ce dépôt :
Ensuite, faites les modifications suivantes dans <tt>/etc/php-fpm.d/www.conf</tt>:


yum --enablerepo=extras install centos-release-scl
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''


Puis on installe les paquets suivants :
Sous <tt>;listen = 127.0.0.1:9000</tt>, ajouter:


yum install -y rh-php71.x86_64
<div class="code">
yum install -y rh-php71-php-fpm.x86_64
listen = /var/run/php-fpm/php-fpm.sock
yum install -y rh-php71-php-mysqlnd-7.1.8-1.el7.x86_64.rpm
</div>


=== Nginx ===
Démarrez et activez le service :


<div class="code">
systemctl start nginx
systemctl enable nginx
</div>


Vous avez maintenant un serveur LEMP opérationnel.


=== Aller plus loin ===


Vous pouvez chercher d'autres paquets php particulier avec la commande :
Avez-vous besoin de bibliothèques PHP particulières? Vous pouvez chercher d'autres paquets PHP avec la commande :


yum search php71|grep <paquet_cherché>
<div class="code">
yum search php71|grep ''nom_du_paquet_cherché''
</div>


Parmi les autres paquets souvent installés, il y a par exemple :
Parmi les autres paquets souvent installés, il y a par exemple :


yum install -y rh-php71-php-pdo.x86_64
<div class="code">
yum install -y rh-php71-php-gd.x86_64
yum install -y rh-php71-php-pdo.x86_64
yum install -y rh-php71-php-xml.x86_64
yum install -y rh-php71-php-gd.x86_64
yum install -y rh-php71-php-xml.x86_64
</div>
 
<br/>
<br/>
'''<b>[[Admin-index|@ Retour à la rubrique Administration système]]</b>'''<br/>
<br/>
 
{{Copy|2018|[[Utilisateur:Jiel|Jiel Beaumadier]]|FDL}}

Dernière version du 5 novembre 2018 à 14:27

Installer Nginx, MariaDB, PHP7 (LEMP) sur CentOS 7

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

Installez les paquets nécessaires :

yum install -y mariadb-server mariadb

Démarrez et activez 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

Installez 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éez 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

Vous avez maintenant un serveur LEMP opérationnel.

Aller plus loin

Avez-vous besoin de bibliothèques PHP particulières? Vous pouvez chercher d'autres paquets PHP avec la commande :

yum search php71|grep nom_du_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



@ Retour à la rubrique Administration système

Copyright

© 2018 Jiel Beaumadier

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale.