Comment installer la pile Nginx, MariaDB et PHP (FEMP) sur FreeBSD

Comment installer la pile Nginx, MariaDB et PHP (FEMP) sur FreeBSD

Ce tutoriel vous guidera sur la façon d'installer et de configurer FBEMP dans FreeBSD 11.X dernière version. FBEMP est un acronyme qui décrit la collection de logiciels suivants:

FreeBSD 11.1 Distribution de type UNIX, serveur Web Nginx, Système de gestion de la base de données relationnelle MARIADB (un langage de programmation dynamique PHP qui s'exécute sur le côté serveur.

Exigences

  1. Installation de FreeBSD 11.X
  2. 10 choses à faire après l'installation FreeBSD

Étape 1: Installez le serveur Web Nginx sur FreeBSD

1. Le premier service que nous installerons pour notre Fbemp s'accumuler FreeBSD Le serveur Web est-il représenté par Nginx logiciel.

Nginx Le serveur Web a plus de packages pré-compliqués disponibles dans Freebsd 11.x ports. Afin d'obtenir une liste de Nginx binaires de Ports référentiels, émettez les commandes suivantes dans le terminal de votre serveur.

# ls / usr / ports / www / | grep nginx # pkg Search -o nginx 
Trouver les packages Nginx

2. Dans cette configuration particulière, nous installerons la version du package principal de Nginx En émettant la commande ci-dessous. Le pkg La gestion des packages vous demandera si vous souhaitez procéder à l'installation du package Nginx. Réponse avec oui (y en ligne de commande) afin de démarrer le processus d'installation.

# pkg installer nginx 
Installez Nginx sur FreeBSD

3. Après l'installation du package de serveur Web Nginx dans votre système, exécutez les commandes suivantes afin d'activer le système de démon et de démarrer le service dans votre système.

# sysrc nginx_enable = "oui" # service nginx start 
Démarrer et activer Nginx sur FreeBSD

4. Ensuite, en utilisant le sockstat commande, vérifiez les prises de réseau de service Nginx, s'ils se lient 80 / TCP port, en émettant la commande ci-dessous. La sortie de la commande sockstat sera canalisée via un utilitaire Grep afin de réduire les résultats renvoyés uniquement à la chaîne Nginx.

# sockstat -4 | grep nginx 

5. Enfin, ouvrez un navigateur sur un ordinateur de bureau dans votre réseau et visitez la page Web par défaut de Nginx via le protocole HTTP. Écrire le Fqdn de votre machine ou de votre nom de domaine ou de l'adresse IP de votre serveur dans l'URL du navigateur déposé pour demander la page Web par défaut du serveur Web Nginx. Le message "Bienvenue à Nginx!"Devrait être affiché dans votre navigateur, comme illustré dans la capture d'écran ci-dessous.

http: // yourDomain.com http: // your_server_ip http: // your_machine_fqdn 
Vérifiez Nginx sur FreeBSD

6. Le répertoire weboot par défaut pour le contenu Web Nginx dans situé dans / usr / local / www / nginx / Chemin du système absolu. Dans cet emplacement, vous devez créer, copier ou installer des fichiers de contenu Web, tels que .html ou .php Fichiers, pour votre site Web.

Pour modifier cet emplacement, modifiez le fichier de configuration principale de Nginx et modifiez la directive racine pour refléter votre nouveau chemin Web webroot.

# nano / usr / local / etc / nginx / nginx.confli 

Ici, recherchez et mettez à jour la ligne suivante pour refléter votre nouveau chemin Web Webroot:

root / path / vers / new / webroot; 

Étape 2: Installez PHP sur FreeBSD

7. Contrairement à Apache http serveur, Nginx n'a pas la capacité de traiter nativement le code PHP. En retour, le serveur Web Nginx transmet les demandes PHP à un interprète PHP, tel que php-fpm fastcgi démon, qui inspecte et exécute le code. Le code résulté est ensuite renvoyé à Nginx, qui remonte le code au format HTML demandé et envoie le code plus loin au navigateur Web des visiteurs.

Freebsd 11.X Ports Repositories propose plusieurs versions binaires pour le langage de programmation PHP, comme Php 5.6, Php 7.0 et Php 7.1 sorties. Afin d'afficher toutes les versions PHP pré-compilées disponibles dans Freebsd 11.X, Exécutez les commandes ci-dessous .

# PKG Search -o PHP # LS / USR / PORTS / LANG / | gp grep 

8. Vous pouvez choisir d'installer la version de PHP que vous trouvez le mieux adapté à l'application Web que vous exécutez dans votre système. Cependant, dans ce guide, nous installerons la dernière version PHP.

À installer Php 7.1 Libération et certains modules importants PHP requis pour diverses applications Web, exécutez la commande suivante.

# pkg installer php71 php71-mysqli php71-mcrypt php71-zlib php71-gd php71-json mod_php71 php71-mbstring php71-curl 

9. Après avoir installé des packages PHP dans votre système, ouvrez Php-fpm Fichier de configuration pour Nginx et ajustez les valeurs de l'utilisateur et du groupe pour correspondre à la valeur de l'utilisateur d'exécution de Nginx, qui est www. Tout d'abord, faites une sauvegarde du fichier avec la commande ci-dessous.

# cp / usr / local / etc / php-fpm.d / www.conf ,.sauvegarder 

Ensuite, ouvrez le fichier et mettez à jour les lignes suivantes comme présenté dans l'échantillon ci-dessous.

user = www groupe = www 
Configurer PHP-FPM sur FreeBSD

dix. Créez également un fichier de configuration PHP utilisé pour la production en émettant la commande ci-dessous. Sur ce fichier, vous pouvez apporter des modifications personnalisées qui seront appliquées à l'interprète PHP lors de l'exécution.

# cp / usr / local / etc / php.ini-production / usr / local / etc / php.ini 

Par exemple, modifiez le date.fuseau horaire Définition de l'interprète PHP afin de mettre à jour votre emplacement physique de la machine comme indiqué dans l'exemple ci-dessous. La liste des fuseaux horaires PHP peut être trouvée ici: http: // php.Net / Manual / EN / Timezones.php.

# vi / usr / local / etc / php.ini 

Ajouter le fuseau horaire suivant (définir le fuseau horaire selon votre pays).

date.Fuseau horaire = Europe / Londres 

Vous pouvez également ajuster d'autres variables PHP, telles que la taille maximale du fichier du fichier téléchargé, qui peut être augmentée en modifiant les valeurs ci-dessous:

upload_max_filesize = 10m post_max_size = 10m 

11. Après, vous avez fait les paramètres personnalisés pour PHP, activer et démarrer Php-fpm démon afin d'appliquer les nouvelles configurations en émettant les commandes ci-dessous.

# sysrc php_fpm_enable = oui # service php-fpm start 
Démarrer et activer PHP-FPM sur FreeBSD

12. Par défaut, Php-fpm Daemon in FreeBSD se lie à une prise de réseau locale sur le port 9000 / TCP. Afficher Php-fpm Les prises de réseau exécutent la commande suivante.

# sockstat -4 -6 | grep php-fpm 

13. Pour que le serveur Web Nginx transmette les scripts PHP à Fastcgi Gateway Server, qui écoute 127.0.0.1: 9000 Socket, ouvrez le fichier de configuration principale Nginx et ajoutez le bloc de code suivant comme illustré dans l'échantillon ci-dessous.

# vi / usr / local / etc / nginx / nginx.confli 

Bloc de code fastcgi pour nginx:

 Emplacement ~ \.php $ root / usr / local / www / nginx; fastcgi_pass 127.0.0.1: 9000; Index FastCGI_INDEX.PHP; fastcgi_param script_filename $ request_filename; Inclure FastCGI_PARAMS;  
Configurer FastCGI pour Nginx sur FreeBSD

14. Afin de visualiser les informations PHP actuelles pour votre serveur, créez un Info.php Fichier dans le chemin Nginx Weboot en émettant la commande suivante.

# echo "" | tee / usr / local / www / nginx / info.php 

15. Ensuite, testez et redémarrez le démon Nginx pour appliquer le Php fastcgi Paramètres et visitez le Info.php page dans un navigateur.

# nginx -t # Test Nginx Fichier de configuration pour les erreurs de syntaxe # Service Nginx Redémarrage 

Remplacez l'adresse IP ou le nom de domaine dans les liens ci-dessous en conséquence. La page d'informations PHP doit afficher des informations comme illustré dans la capture d'écran ci-dessous.

http: // yourDomain.com / info.php http: // server_ip-or-fqdn / info.php 
Vérifiez les informations PHP dans FreeBSD

Étape 3: Installez MariaDB sur FreeBSD

16. Le dernier composant manquant dans votre FEMP empiler dans la base de données. MariaDB / MySQL est l'un des logiciels Open Source les plus associés avec le serveur Web Nginx utilisé pour déployer des sites Web dynamiques.

En fait, MariaDB / MySQL est l'une des bases de données relationnelles les plus utilisées au monde. Rechercher dans PORTS FREEBSD, Vous pouvez trouver plusieurs versions de MariaDB / MySQL.

Dans ce guide, nous allons installer Mariadb base de données, qui est une fourche communautaire de Mysql base de données. Pour rechercher des versions disponibles de Mariadb, émettre les commandes suivantes dans le terminal.

# ls -al / usr / ports / bases de données / | grep mariaDB # pkg Search Mariadb 
Trouver des packages MariaDB

17. Pour installer la dernière version du serveur de base de données MARIADB Exécutez la commande suivante. Vous devez également installer le module de pilote de base de données relationnel PHP utilisé par PHP Scripts pour se connecter à MySQL.

# PKG Installez MariaDB102-Server PHP71-Mysqli 

18. Une fois la base de données installée, activez MySQL Daemon et démarrez le service de base de données en exécutant les commandes suivantes.

# sysrc mysql_enable = "oui" # service mysql-server start 

19. Aussi, assurez-vous de redémarrer Php-fpm démon afin de charger l'extension du pilote mysql.

# Service PHP-FPM Redémarrer
20. À l'étape suivante, sécurisé Mariadb base de données par lancement mysql_secure_installation scénario. Utilisez l'échantillon ci-dessous du script d'installation afin de répondre aux questions. Fondamentalement, dites oui (y) Pour toutes les questions posées pour sécuriser la base de données et saisir un mot de passe fort pour l'utilisateur de Root MySQL.
# / usr / local / bin / mysql_secure_installation 
MySQL Secure Installation Script Sortie
Remarque: l'exécution de toutes les parties de ce script est recommandée pour tous les serveurs MariaDB dans l'utilisation de la production! Veuillez lire soigneusement chaque étape! Afin de se connecter à MARIADB pour le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur racine. Si vous venez d'installer MARIADB et que vous n'avez pas encore défini le mot de passe racine, le mot de passe sera vide, vous devez donc simplement appuyer sur Entrée ici. Entrez le mot de passe actuel pour root (entrez pour aucun): Ok, le mot de passe utilisé avec succès, en passant… Définition du mot de passe racine garantit que personne ne peut se connecter à l'utilisateur racine MariaDB sans l'autorisation appropriée. Définir le mot de passe? [O / N] y Nouveau mot de passe: réintégrez le nouveau mot de passe: mot de passe mis à jour avec succès! Tableaux de privilèges de rechargement… Succès! Par défaut, une installation MARIADB a un utilisateur anonyme, permettant à quiconque de se connecter à MARIADB sans avoir à faire créer un compte d'utilisateur pour lui. Ceci est destiné uniquement aux tests et à rendre l'installation un peu plus fluide. Vous devez les retirer avant de vous déplacer dans un environnement de production. Supprimer les utilisateurs anonymes? [O / N] y… Succès! Normalement, la racine ne doit être autorisée que de se connecter à partir de «localhost». Cela garantit que quelqu'un ne peut pas deviner le mot de passe racine du réseau. Interdire la connexion racine à distance? [O / N] y… Succès! Par défaut, MariaDB est livré avec une base de données nommée «test» auquel tout le monde peut accéder. Ceci est également destiné aux tests et doit être supprimé avant de passer à un environnement de production. Supprimer la base de données de test et y accéder? [O / N] y - Base de données de test de suppression… Succès! - Suppression des privilèges sur la base de données de test… Succès! Le rechargement des tables de privilège garantira que toutes les modifications apportées jusqu'à présent prendront effet immédiatement. Recharger les tables de privilège maintenant? [O / N] y… Succès! Nettoyage… tout fait! Si vous avez terminé toutes les étapes ci-dessus, votre installation MARIADB devrait maintenant être sécurisée. Merci d'utiliser MariaDB! 

21. Pour tester la connexion de la base de données MARIADB à partir de la console, exécutez la commande ci-dessous.

# mysql -u root -p -e "Afficher l'état comme 'Connexions'" 

22. Afin de sécuriser davantage MARIADB, qui écoute par défaut pour les connexions réseau entrantes sur 0.0.0.0: 3306 / TCP prise, émettez la commande ci-dessous pour forcer le service à lier boucler interface et interdire complètement l'accès à distance. Ensuite, redémarrez le service MySQL pour appliquer la nouvelle configuration.

# sysrc mysql_args = "- bind-address = 127.0.0.1 "# Service MySQL-Server Redémarrage 
Lier MariaDB à l'adresse de bouclage

Vérifiez si le hôte local La liaison a été appliquée avec succès en exécutant la commande netstat comme indiqué dans l'exemple ci-dessous.

# netstat -an -p tcp 

C'est tout! Vous avez réussi à installer le serveur Web Nginx, la base de données relationnelle MARIADB et le langage de programmation côté serveur PHP dans FreeBSD. Vous pouvez maintenant commencer à créer des pages Web dynamiques pour servir du contenu Web à vos visiteurs.