GNU/Linux >> Tutoriels Linux >  >> 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 l'ensemble de logiciels suivant :

FreeBSD 11.1 Distribution de type Unix, serveur Web Nginx, système de gestion de base de données relationnelle MariaDB (un fork communautaire de MySQL) et langage de programmation dynamique PHP qui s'exécute côté serveur.

Exigences

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

Étape 1 :Installer le serveur Web Nginx sur FreeBSD

1. Le premier service que nous allons installer pour notre FBEMP pile dans FreeBSD est le serveur Web, représenté par Nginx logiciel.

Nginx le serveur Web a plus de packages pré-conformes disponibles dans FreeBSD 11.x PORTS . Afin d'obtenir une liste de Nginx binaires de ports référentiels, exécutez les commandes suivantes dans votre terminal serveur.

# ls /usr/ports/www/ | grep nginx# pkg search -o nginx

2. Dans cette configuration particulière, nous allons installer la version principale du package de Nginx en lançant la commande ci-dessous. Le paquet la gestion des packages vous demandera si vous souhaitez poursuivre l'installation du package nginx. Répondez par oui (y en ligne de commande) afin de démarrer le processus d'installation.

# pkg install nginx

3. Une fois le package de serveur Web Nginx installé sur votre système, exécutez les commandes suivantes afin d'activer le démon à l'échelle du système et de démarrer le service sur votre système.

# sysrc nginx_enable="yes"# démarrage du service nginx

4. Ensuite, en utilisant le sockstat commande, vérifiez les sockets réseau du service Nginx, s'ils sont liés à 80/TCP port, en exécutant la commande ci-dessous. La sortie de la commande socksstat sera acheminée via l'utilitaire grep afin de réduire les résultats renvoyés uniquement à la chaîne nginx.

# chaussettesstat -4 | grep nginx

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

http://votredomaine.comhttp://votre_adresse_IPhttp://votre_machine_FQDN

6. Le répertoire weboot par défaut pour le contenu Web Nginx se trouve dans /usr/local/www/nginx/ chemin d'accès système absolu. À 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 principal nginx et modifiez la directive racine pour refléter votre nouveau chemin Webroot.

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

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

root /path/to/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 requêtes PHP à un interpréteur PHP, tel que php-fpm FastCGI démon, qui inspecte et exécute le code. Le code résultant est ensuite renvoyé à Nginx, qui réassemble le code au format html demandé et envoie le code au navigateur Web du visiteur.

FreeBSD 11.x Les référentiels de ports offrent plusieurs versions binaires pour le langage de programmation PHP, telles que PHP 5.6 , PHP 7.0 et PHP 7.1 versions. 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/ | grep php

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

Pour installer PHP 7.1 version et certains modules PHP importants requis pour diverses applications Web, exécutez la commande suivante.

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

9. Après avoir installé les packages PHP sur votre système, ouvrez PHP-FPM fichier de configuration pour Nginx et ajustez les valeurs d'utilisateur et de groupe pour qu'elles correspondent à la valeur de l'utilisateur d'exécution 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{,.backup}

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

utilisateur =wwwgroupe =www

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

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

Par exemple, modifiez le date.timezone paramètre pour l'interpréteur PHP afin de mettre à jour l'emplacement physique de votre 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

Ajoutez le fuseau horaire suivant (définissez le fuseau horaire selon votre pays).

date.timezone =Europe/Londres

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

upload_max_filesize =10Mpost_max_size =10M

11. Après avoir défini les paramètres personnalisés pour PHP, activez et démarrez PHP-FPM démon afin d'appliquer les nouvelles configurations en exécutant les commandes ci-dessous.

# sysrc php_fpm_enable=yes# service php-fpm start

12. Par défaut, PHP-FPM démon dans FreeBSD se lie sur un socket réseau local sur le port 9000/TCP . Pour afficher PHP-FPM les sockets réseau exécutent la commande suivante.

# chaussettesstat -4 -6| grep php-fpm

13. Pour que le serveur Web Nginx transmette les scripts PHP à FastCGI serveur de passerelle, qui écoute sur 127.0.0.1:9000 socket, ouvrez le fichier de configuration principal de Nginx et ajoutez le bloc de code suivant, comme illustré dans l'exemple ci-dessous.

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

Bloc de code FastCGI pour nginx :

emplacement
 ~ \.php$ { root /usr/local/www/nginx; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure fastcgi_params ; }  

14. Pour afficher les informations PHP actuelles de votre serveur, créez un info.php fichier dans le chemin weboot Nginx en exécutant 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 # Tester le fichier de configuration nginx pour les erreurs de syntaxe# service nginx restart

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

http://votredomaine.com/info.phphttp://server_IP-or-FQDN/info.php

Étape 3 :Installez MariaDB sur FreeBSD

16. Le dernier composant manquant de votre FEMP pile dans la base de données. MariaDB/MySQL est l'un des logiciels SGBDR open source les plus associés au 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. Recherche dans les ports FreeBSD , vous pouvez trouver plusieurs versions de MariaDB/MySQL .

Dans ce guide, nous allons installer MariaDB base de données, qui est un fork communautaire de MySQL base de données. Pour rechercher les versions disponibles de MariaDB , lancez les commandes suivantes dans le terminal.

# ls -al /usr/ports/databases/ | grep mariadb# pkg rechercher 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 relationnelle PHP utilisé par les scripts PHP pour se connecter à MySQL.

# pkg install mariadb102-server php71-mysqli

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

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

19. Assurez-vous également 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écurisez MariaDB base de données en lançant mysql_secure_installation scénario. Utilisez l'exemple ci-dessous du script d'installation afin de répondre aux questions. En gros, dites oui (y) pour toutes les questions posées pour sécuriser la base de données et tapez un mot de passe fort pour l'utilisateur racine MySQL.
# /usr/local/bin/mysql_secure_installation
Sortie du script d'installation sécurisée MySQL
REMARQUE :L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB EN PRODUCTION ! VEUILLEZ LIRE ATTENTIVEMENT CHAQUE ÉTAPE ! Afin de se connecter à MariaDB pour le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur root. Si vous venez d'installer MariaDB et que vous n'avez pas encore défini le mot de passe root, 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, mot de passe utilisé avec succès, continuez... La définition du mot de passe root garantit que personne ne peut se connecter à l'utilisateur MariaDBroot sans l'autorisation appropriée. Définir le mot de passe root ? [O/n] y Nouveau mot de passe :Entrez à nouveau le nouveau mot de passe :Mot de passe mis à jour avec succès ! Rechargement des tables de privilèges. Ceci est uniquement destiné aux tests et à rendre l'installation un peu plus fluide. Vous devez les supprimer avant de passer à un environnement de production. Supprimer les utilisateurs anonymes ? [O/n] y ... Succès ! Normalement, root ne devrait être autorisé à se connecter qu'à partir de 'localhost'. Cela garantit que personne ne peut deviner le mot de passe root à partir du réseau. Interdire la connexion root à distance ? [O/n] y ... Succès ! Par défaut, MariaDB est livré avec une base de données nommée 'test' à laquelle tout le monde peut accéder. Ceci est également destiné uniquement aux tests et doit être supprimé avant de passer dans un environnement de production. Supprimer la base de données de test et y accéder ? [O/n] y - Abandon de la base de données de test... ... Succès ! - Suppression des privilèges sur la base de données de test... ... Succès ! Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent prendront effet immédiatement. Recharger les tables de privilèges maintenant ? [O/n] y ... Succès !Nettoyage... C'est fait ! Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB devrait maintenant être sécurisée. Merci d'avoir utilisé MariaDB !

21. Pour tester la connexion à la base de données MariaDB depuis 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 les connexions réseau entrantes sur 0.0.0.0:3306/TCP socket, lancez la commande ci-dessous pour forcer le service à se lier au bouclage 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 restart

Vérifiez si le localhost 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 installé avec succès 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 proposer du contenu Web à vos visiteurs.


FreeBSD
  1. Comment installer Nginx, PHP et MySQL (pile LEMP) sur OpenSUSE Leap 42.1

  2. Comment installer Nginx avec PHP et MySQL (pile LEMP) sur CentOS 7

  3. Comment installer Linux, Nginx, MariaDB, PHP (pile LEMP) dans CentOS 7 / RHEL 7

  4. Comment installer la pile Apache, MariaDB et PHP (FAMP) sur FreeBSD

  5. Comment installer la pile Apache, MariaDB et PHP (FAMP) sur FreeBSD 11

Comment installer Linux, Nginx, MySQL, PHP (pile LEMP) dans Ubuntu 18.04

Comment installer WordPress avec FAMP Stack dans FreeBSD

Comment installer la pile LEMP (Nginx, MariaDB et PHP) sur AlmaLinux 8

Comment installer Nginx et PHP sur Debian 10

Comment installer Linux, Nginx, MariaDB et PHP (LEMP) sur Fedora 22

Comment installer FEMP (FreeBSD 10, Nginx, MySQL, PHP) sur un serveur Cloud ou VPS