Voiture NGINX par Walker Cahall
Présentation
Dans ce tutoriel, nous vous guiderons à travers l'installation de LEMP sur votre serveur CentOS 7. LEMP est un ensemble de logiciels composé de quatre parties (Linux, Nginx, MariaDB et PHP). Ce tutoriel utilisera CentOS 7 qui a été publié le 7 juillet 2014.
Prérequis
Un serveur avec CentOS 7 déjà installé. Si vous n'avez pas de serveur CentOS 7, vous pouvez obtenir un serveur SSD privé virtuel fiable d'Atlantic.Net et être opérationnel en moins de 30 secondes !
Installer EPEL et Remi dans CentOS 7 pour LEMP
Dans ce tutoriel, nous allons installer la version Fedora epel pour installer rapidement Nginx et Remi pour PHP à l'aide de la commande suivante :
sudo yum install epel-release sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Installation et configuration de NGINX dans CentOS 7 pour LEMP
Installez NGINX avec la commande suivante :
sudo yum install nginx
Démarrez le service NGINX avec la commande suivante :
sudo systemctl start nginx
Configurez NGINX pour qu'il démarre au redémarrage du système :
sudo systemctl enable nginx
Vous aurez maintenant NGINX installé sur votre serveur. Cela peut être vérifié en tapant ce qui suit avec votre ADRESSE IP sur votre navigateur. De plus, tous les fichiers de configuration sont fournis sur la page.
Nous pouvons maintenant vérifier qu'Apache fonctionne en ouvrant votre navigateur et en entrant l'URL http://your-server's-address
. vous devriez obtenir une page de test Nginx bleue semblable à l'image ci-dessous.
Remarque :Si vous ne connaissez pas votre adresse IP, exécutez la commande suivante :
sudo ip addr show eth0Exemple d'exécution de la commande :ip addr show eth0 et obtention de 192.168.100.10 pour l'adresse IP.
Dans notre exemple, nous mettrons
http://192.168.100.10
dans la barre d'adresse de notre navigateur.
Exemple de page Web par défaut de Nginx
Installation et configuration de MariaDB sur CentOS 7 pour LEMP
Installez MariaDB avec la commande suivante pour commencer l'installation :
sudo yum install mariadb-server
Démarrez le service avec la commande suivante :
sudo systemctl start mariadb
Définissez le mot de passe root MySQL avec la commande suivante :
sudo /usr/bin/mysql_secure_installation
Remarque :Vous serez invité à répondre à une série de questions. Tapez simplement Y pour oui sur chacun d'eux, voir la capture d'écran ci-dessous :
Exemple de sortie my_secure_installation.
Configurez MariaDB pour qu'elle démarre au redémarrage du système :
sudo systemctl enable mariadb
Installation et configuration de php-fpm sur CentOS 7 pour LEMP
Installez php-fpm avec la commande suivante :
sudo yum --enablerepo=remi-php74 install php-fpm php-mysql
Démarrez le service php-fpm avec la commande suivante :
sudo systemctl start php-fpm
Assurez-vous que php-fpm démarre au démarrage avec la commande suivante :
sudo systemctl enable php-fpm
À l'aide de votre éditeur préféré, éditez le fichier /etc/php-fpm.d/www.conf
et changer l'utilisateur et le groupe d'apache à nginx. Il devrait ressembler au bloc ci-dessous.
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx
Nous devons maintenant apporter quelques modifications au fichier de configuration de Nginx afin que php-fpm fonctionne correctement avec Nginx. À l'aide de votre éditeur préféré, modifiez le fichier /etc/nginx/conf.d/default.conf
et effectuez les modifications suivantes ou copiez le bloc suivant ci-dessous dans votre fichier conf.
1) Ajoutez le fichier index.php à l'emplacement de l'index
2) Changez l'emplacement racine en /usr/share/nginx/html
3) Décommentez la section Passer les scripts PHP à FastCGI.
4) Modifiez le fastcgi_param SCRIPT_FILENAME pour utiliser /usr/share/nginx/html$fastcgi_script_name
# # The default server # server { listen 80 default_server; server_name _; #charset koi8-r; #access_log logs/host.access.log main; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
Créez un fichier PHP de test dans le répertoire suivant avec la commande suivante :
sudo vi /usr/share/nginx/html/info.php
Insérez le code suivant dans l'espace puis enregistrez et quittez :
<?php phpinfo(); ?>
Redémarrez apache pour que toutes les modifications prennent effet :
sudo systemctl restart nginx
Testez votre page dans votre navigateur avec le lien hypertexte suivant remplacé par votre adresse IP :
http://VOTRE.IP.ADD.RESS/info.php
Vous devez supprimer le fichier info.php car il pourrait être utilisé contre vous par un attaquant. Supprimez-le avec la commande suivante :
sudo rm /usr/share/nginx/html/info.php
Toutes nos félicitations! Vous venez d'installer LEMP sur votre serveur CentOS 7. Merci d'avoir suivi ce tutoriel ! Revenez nous voir pour toute nouvelle mise à jour et parcourez nos solutions d'hébergement VPS évolutives pour les entreprises de toutes tailles.