Installation de Lemp (Nginx, PHP, MySQL avec moteur MariADB et phpmyadmin) dans Arch Linux

Installation de Lemp (Nginx, PHP, MySQL avec moteur MariADB et phpmyadmin) dans Arch Linux

En raison de son modèle de libération de roulement qui adopte la coupe du logiciel d'âge Arch Linux n'a pas été conçu et développé pour s'exécuter en tant que serveur pour fournir des services réseau fiables car il nécessite plus de temps pour la maintenance, les mises à niveau des constantes et les configurations de fichiers sensées.

Installer Lemp dans Arch-Linux

Mais, encore, parce que Arch Linux Livré avec une installation de CD Core avec un logiciel minimal préinstallé, il peut représenter un point de démarrage de base solide pour installer la plupart des services réseau populaires ce jour Lemp ou LAMPE, Apache Web Server, Nginx, PHP, Bases de données SQL, Samba, serveurs FTP, Bind et autres, beaucoup d'entre eux étant fournis à partir de Cambre Référentiels officiels de Linux et autres AUR.

Ce tutoriel guidera à l'installation et à la configuration Lemp Stack (Nginx, PHP, MySQL avec MariaDB Engine et PhpMyAdmin) à partir d'un SSH à distance, qui peut fournir une base solide pour créer des applications de serveurs Web.

Exigences

Guide d'installation de l'Arch Linux précédent, à l'exception de la dernière partie sur la mise en réseau avec DHCP.

Étape 1: Attribuez une IP statique sur l'interface réseau

1. Après minimum Arch Linux Installation de base Redémarrez votre serveur, connectez-vous avec un compte racine ou un compte sudo administratif équivalent et identifiez les noms de périphériques NICS de votre système en utilisant lien IP commande.

# lien IP
Vérifier les noms des interfaces réseau

2. Pour attribuer des configurations de réseau statiques, nous allons utiliser Filer Package pour gérer les connexions réseau. Après avoir réussi à identifier votre Interfaces réseau Noms Copie Ethernet-statique modèle de fichier à filer Chemin du système et modifier son nom en un schéma de dénomination descriptif (essayez d'utiliser "statique”String combiné avec le nom de Nic), en émettant la commande suivante.

# cp / etc / netctl / exemples / éthet-static / etc / netctl / static.ENS33

3. L'étape suivante consiste à modifier ce nouveau fichier de modèle en modifiant les directives du fichier et en fournissant vos paramètres réellement réseau (interface, IP / Masque, passerelle, diffusion, DNS) comme dans l'extrait ci-dessous.

# nano / etc / netctl / statique.ENS33
Ajouter les détails du réseau
Description = 'Une connexion Ethernet statique de base pour ENS33' Interface = Ens33 Connection = Ethernet IP = Adresse statique = ('192.168.1.33/24 ') Gateway = "192.168.1.1 "Brodcast =" 192.168.1.255 "DNS = ('192.168.1.1 "8.8.8.8 ')

4. L'étape suivante consiste à démarrer votre connexion réseau à travers filer outil système et vérifiez votre connectivité système en émettant les commandes suivantes.

# netctl démarrer statique.ENS33 # Statut NetCTL statique.ENS33
Démarrer le service réseau

5. Si vous obtenez un statut de sortie vert actif, vous avez configuré avec succès votre Interface réseau Et il est temps de l'activer automatiquement sur les services à l'échelle du système. Testez également votre réseau en exécutant un ping-ping commande contre un nom de domaine et aussi, installez outils Package (la fonctionnalité la plus connue de ce pack iproute2).

Activer les configurations de Nic larges système
# netctl Activer statique.ENS33
Installer le package Net-Tools
# Pacman -s Net-tools

6. Maintenant tu peux courir ifconfig commande pour vérifier votre Interfaces réseau Paramètres et vérifiez si tout est correctement affiché, puis redémarrer Votre système pour vous assurer que tout est en place et correctement configuré.

# ping tecmint.com
Vérifiez la connectivité réseau

Étape 2: Installez le logiciel LEMP

Comme indiqué dans cet article Introduction Lemp signifie linux + nginx + php / phpmyadmin + mysql / mariaDB qui est l'une des plates-formes d'application Web les plus répandues aujourd'hui après LAMPE (la même pile avec Apache dans l'équation).

7. Avant réellement installer Lemp pile Nous devons mettre à jour le système, puis prendre une télécommande pour Arch Linux serveur. Comme vous le savez probablement Opensh est le principal candidat pour ce travail, alors allez-y et installez-le, démarrez SSH Daemon et activez largement le système.

$ sudo pacman -syu $ sudo pacman -s openssh
Installer un service SSH ouvert
$ sudo systemctl start sshd $ sudo systemctl status sshd $ sudo systemctl activer sshd
Démarrer le service SSH ouvert

Il est maintenant temps de procéder Lemp installation. Parce que ce tutoriel est censé être un guide complet, je vais diviser Lemp Installation de pile en petits morceaux, étape par étape.

8. Première installation Serveur Web Nginx, puis démarrez-le et vérifiez son statut en émettant les commandes suivantes.

$ sudo pacman -s nginx $ sudo systemctl start nginx $ sudo systemctl status nginx
Installez le serveur Web Nginx Démarrer le serveur Web Nginx

9. Le prochain service à installer est Mysql base de données. Émettez la commande suivante pour installer le serveur de base de données MySQL et choisissez Mariadb moteur, puis démarrez et vérifiez l'état du démon.

$ sudo pacman -s mysql $ sudo systemctl start mysqld $ sudo systemctl status mysqld
Installez la base de données MySQL Démarrer la base de données MySQL

dix. L'étape suivante consiste à fournir un environnement très sûr pour les bases de données MySQL en fournissant un mot de passe pour le compte racine MySQL, supprimer le compte d'utilisateur anonyme, supprimer la base de données de test et les comptes racinaires accessibles à partir de l'extérieur localhost localhost. Exécutez la commande suivante pour améliorer MySQL Security, appuyez sur [Entrer] pour le mot de passe du compte racine actuel, puis répondre Oui à toutes les questions (configurer également le mot de passe de votre compte racine).

$ sudo mysql_secure_installation
Installation sécurisée de MySQL Configurer les paramètres MySQL

Note: En tout cas, ne confondez pas le compte racine MySQL avec le compte racine du système Linux - ce sont deux choses différentes - pas si différentes, mais elles fonctionnent à des niveaux différents.

Pour vérifier la connexion de la sécurité MySQL à la base de données en utilisant mysql -u root -p Syntaxe de commande, fournissez votre mot de passe racine puis laissez la base de données avec sortie; commande.

# mysql -u root -p
Connectez-vous à la base de données MySQL

11. Il est maintenant temps d'installer Php Langue de script côté serveur pour pouvoir développer et exécuter des applications Web dynamiques complexes, pas seulement servir HTML / CSS code.

Parce que nous utilisons Nginx En tant que serveur Web, nous devons installer Php-fpm module soutenu pour communiquer à travers Passerelle commune rapide et modifier le contenu dynamique généré par les scripts PHP.

Émettez la ligne de commande suivante à installer Php-fpm Service, puis démarrez le démon et vérifiez le statut.

$ sudo pacman -s php php-fpm $ sudo systemctl start php-fpm $ sudo systemctl status php-fpm
Installez PHP et PHP-FPM Démarrer le service PHP-FPM

Pour répertorier tous les disponibles Module PHP émettre les commandes suivantes.

$ sudo pacman -s php [tab] $ sudo pacman -ss | gp grep
Listez tous les modules PHP Vérifiez tous les modules PHP

12. L'une des dernières étapes est d'installer Interface Web phpmyadmin pour la base de données MySQL. Émettez la commande suivante pour installer phpmyadmin avec son module PHP nécessaire, puis créer un lien symbolique pour le chemin du système phpmyaadmin vers le chemin racine par défaut de Nginx.

$ pacman -s phpmyadmin php-mcrypt $ sudo ln -s / usr / share / webapps / phpmyadmin / usr / share / nginx / html
Installer phpmyadmin

13. Puis configurer php.ini fichier pour inclure les extensions nécessaires nécessaires à l'application phpmyadmin.

$ sudo nano / etc / php / php.ini

Localiser avec [Ctrl + w] touches et non-écoles (supprimer ; Au début de la ligne) les lignes suivantes.

Extension = mysqli.So Extension = MySQL.So Extension = McRypt.Alors mysqli.allow_local_infile = on

Sur le même fichier localiser et Modifier Open_Basedir La directive à ressentir avec les répertoires suivants inclus.

open_basedir = / srv / http /: / home /: / tmp /: / usr / share / pear /: / usr / share / webapps /: / etc / webapps /
Configurer PHP.extensions ini Activer les extensions PHP de MySQL

14. L'étape suivante consiste à activer Php-fpm fastcgi Sur la directive LocalHost Nginx. Émettez la commande suivante pour sauvegarder nginx.confli Configuration du fichier de serveur Web puis remplacez-le par le contenu suivant.

$ sudo mv / etc / nginx / nginx.conf / etc / nginx / nginx.confli.bak $ sudo nano / etc / nginx / nginx.confli

Ajouter l'ensemble du contenu suivant sur Nginx.confli.

#User HTML; Worker_Processes 2; #Error_log Journaux / erreur.enregistrer; #Error_log Journaux / erreur.Avis du journal; #Error_log Journaux / erreur.Infos de journal; #pid journaux / nginx.pid; Événements Worker_Connections 1024;  http inclure mime.les types; Default_type Application / Octet-Stream; SendFile sur; #TCP_NOPUSH ON; #keepalive_timeout 0; keepalive_timeout 65; gzip sur; Server écouter 80; server_name localhost; root / usr / share / nginx / html; Charset KOI8-R; Emplacement / Index Index.index PHP.index html.htm; AutoIndex sur; autoIndex_Exact_Size OFF; autoIndex_Localtime sur;  Emplacement / PhpMyAdmin Rewrite ^ / * / phpMyAdmin Last;  error_page 404/404.html; # Rediriger les pages d'erreur du serveur vers la page statique / 50X.HTML ERROR_PAGE 500 502 503 504 / 50X.html; Emplacement = / 50x.html root / usr / share / nginx / html;  Emplacement ~ \.php $ #fastcgi_pass 127.0.0.1: 9000; (Selon votre configuration de socket PHP-FPM) FastCGI_PASS UNIX: / run / php-fpm / php-fpm.chaussette; Index FastCGI_INDEX.PHP; Inclure FastCGI.conf;  emplacement ~ / \.ht nier tout; 
Activer PHP-FPM FASTCGI

15. Une fois toutes les configurations de fichiers effectuées, tout ce que vous avez à faire est de redémarrer Nginx et Php-fpm services et pointez votre navigateur pour http: // localhost / phpmyadmin URL du nœud local ou http: // arch_ip / phpmyadmin former un autre ordinateur.

$ sudo systemctl redémarrer php-fpm $ sudo systemctl redémarrer nginx
Accéder au serveur Web Nginx Connexion phpmyadmin Tableau de bord phpmyadmin

16. Si tout fonctionne comme prévu, la dernière étape est de permettre Lemp Système large avec les commandes suivantes.

$ sudo systemctl activer php-fpm $ sudo systemctl activer nginx $ sudo systemctl activer mysqld
Activer le système LEMP à l'échelle

Toutes nos félicitations! Vous avez installé et configuré Lemp sur Arch Linux Et, maintenant, vous avez une interface dynamique complète pour commencer et développer des applications Web.

Bien que Arch Linux n'est pas le système le plus adapté le mieux adapté à fonctionner sur des serveurs de production en raison de son modèle de libération de roulement orienté communautaire, il peut être une source très rapide et fiable pour les petits environnements de production non critiques.