Installer Nginx, MariaDB et PHP sur FreeBSD 10.2
Dans notre tutoriel précédent, nous avons décrit comment configurer la pile FAMP dans FreeBSD.
- Installer la pile Apache, MariaDB et PHP (FAMP) sur FreeBSD 10.2
Maintenant, nous allons vous montrer comment installer la pile Nginx, MariaDB et PHP (FEMP) sur un serveur FreeBSD 10.2.
Comme vous le savez probablement, FEMP est l'acronyme de FreeBSD, Nginx (engine x), MariaDB/MySQL, et PHP.
Pour le but de ce tutoriel, j'utiliserai la machine de test suivante.
- Système d'exploitation : FreeBSD 10.2 système 64 bits
- Nom d'hôte : freebsd.ostechnix.local
- Adresse IP : 192.168.1.103/24
Eh bien, maintenant commençons à déployer la pile FAMP sur FreeBSD 10.2.
1. Mettez à jour votre FreeBSD
Comme tout autre système d'exploitation, nous devons mettre à jour FreeBSD avant d'installer un logiciel. Pour ce faire, passez à l'utilisateur root :
$ suEt exécutez les commandes suivantes une par une pour mettre à jour votre serveur FreeBSD :
# freebsd-update fetch install2. Installer Nginx
Installez le serveur web Nginx en utilisant la commande :
# pkg install nginxConfigurer Nginx
Le fichier de configuration par défaut de Nginx est /usr/local/etc/nginx/nginx.conf.
Faisons d'abord une sauvegarde du fichier de configuration, au cas où quelque chose tournerait mal, nous pourrons facilement restaurer à partir de la sauvegarde.
Pour ce faire, exécutez :
mv /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.bakEnsuite, créez un nouveau fichier de configuration Nginx :
# nano /usr/local/etc/nginx/nginx.confAjoutez les lignes suivantes :
user www;
worker_processes 1;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name ostechnix.local www.ostechnix.local;
root /usr/local/www/nginx;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
}Remplacez la directive server_name (ostechnix.local) par la vôtre. Enregistrez et fermez le fichier.
Ensuite, créez les fichiers journaux nécessaires. Ces fichiers journaux seront utiles pour tout dépannage et analyse des erreurs à l'avenir.
# mkdir -p /var/log/nginx# touch /var/log/nginx/access.log# touch /var/log/nginx/error.logEnsuite, nous devons configurer le répertoire racine web correct. Par défaut, le répertoire racine web est /usr/local/www/nginx, cependant il s'agit seulement d'un lien symbolique vers le répertoire “nginx-dist”.
Nous devrions supprimer ce lien et le diriger vers l'emplacement correct.
Alors, supprimons le répertoire racine du web avec la commande :
# rm -rf /usr/local/www/nginxPuis recréez le répertoire racine du web avec la commande :
# mkdir /usr/local/www/nginxEnsuite, nous devrions copier le fichier index.html dans le répertoire racine du web, car il a été supprimé lors de la suppression du répertoire racine du web à l'étape précédente.
# cp /usr/local/www/nginx-dist/index.html /usr/local/www/nginxTestez que le fichier de configuration nginx est correct avec la commande :
# nginx -tExemple de sortie :
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successfulEnfin, nous devons activer et démarrer le service Nginx. Pour ce faire, exécutez :
# sysrc nginx_enable=yes# service nginx startTest Nginx
Ouvrez votre navigateur web et allez à : http://IP-address/ ou http://localhost. Vous verrez la page de test Nginx suivante.
Félicitations ! L'installation du serveur web Nginx a réussi et il fonctionne bien.
Ensuite, nous devons installer MariaDB.
3. Installer MariaDB
MariaDB est un remplacement direct de MySQL. Pour installer MariaDB, exécutez :
# pkg install mariadb100-serverEnsuite, copiez le fichier de configuration de MariaDB depuis le répertoire ‘/usr/local/share/mysql/’ vers ‘/usr/local/etc/’ comme indiqué ci-dessous.
# cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnfEnsuite, activez et démarrez le service MariaDB en utilisant les commandes :
# sysrc mysql_enable=yes# service mysql-server startConfigurer le mot de passe de l'utilisateur root de MariaDB
Comme vous le savez probablement, l'utilisateur root de MariaDB a un mot de passe vide, ce qui n'est pas recommandé, au moment de l'installation. Donc, pour sécuriser l'utilisateur root de MariaDB, il est obligatoire de configurer un mot de passe fort pour l'utilisateur root. Pour ce faire, exécutez :
# mysql_secure_installationLorsque l'invite “Entrez le mot de passe actuel pour root ” apparaît, appuyez simplement sur la touche ENTER et définissez le mot de passe deux fois. Ensuite, appuyez simplement sur Y pour accepter les valeurs par défaut.
Exemple de sortie :
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): ## Press Enter
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] ## Press Enter
New password: ## Enter password
Re-enter new password: ## Re-enter password
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] ## Press Enter
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] ## Press Enter
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] ## Press Enter
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] ## Press Enter
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!Voilà. MariaDB est maintenant installé et sécurisé. Passons à l'installation de PHP.
4. Installer PHP
Pour installer PHP, exécutez :
# pkg install php56-mysql php56-mysqliAprès avoir installé PHP, copiez le fichier de configuration PHP exemple /usr/local/etc/php.ini-production dans le répertoire /usr/local/etc/ comme indiqué ci-dessous.
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.iniSi vous effectuez des modifications, vous devez mettre à jour les modifications en utilisant la commande :
# rehashMaintenant, nous devons configurer PHP avec le serveur web Nginx.
Configurer PHP avec le serveur web Nginx
Modifier le fichier /usr/local/etc/php-fpm.conf :
# nano /usr/local/etc/php-fpm.confTrouvez la ligne suivante :
listen = 127.0.0.1:9000Et remplacez-le par :
listen = /var/run/php-fpm.sockEnsuite, trouvez les lignes suivantes et décommentez-les.
listen.owner = www
listen.group = www
listen.mode = 0660Enregistrez et fermez le fichier.
Test PHP
Créez un fichier PHP exemple dans le répertoire racine du web :
# nano /usr/local/www/nginx/test.phpAjoutez la ligne suivante :
<?php phpinfo(); ?>Enregistrez et fermez le fichier.
Ensuite, activez et démarrez le service PHP-FPM avec les commandes suivantes :
# sysrc php_fpm_enable=yes# service php-fpm startEnfin, redémarrez le service nginx en utilisant la commande :
# service nginx restartMaintenant, ouvrez votre navigateur web et allez à : http://IP-Address/info.php
Vous devriez voir la page de test PHP suivante.
Installer des modules PHP
Nous devons installer des modules PHP (extensions) pour améliorer les fonctionnalités de PHP. Cela est optionnel, vous pouvez passer cette étape si vous n'avez pas besoin d'installer des extensions.
Pour afficher la liste des modules disponibles, il suffit de lancer :
# pkg search php56Vous pouvez vérifier ce que fait chaque module à partir de la section des commentaires dans la sortie ci-dessus, ou simplement exécuter la commande suivante
# pkg search -f php56-curlExemple de sortie :
php56-curl-5.6.18
Name : php56-curl
Version : 5.6.18
Origin : ftp/php56-curl
Architecture : freebsd:10:x86:64
Prefix : /usr/local
Repository : FreeBSD [pkg+http://pkg.FreeBSD.org/FreeBSD:10:amd64/quarterly]
Categories : ftp
Licenses : PHP301
Maintainer : ale@FreeBSD.org
WWW : http://www.php.net/
Comment : The curl shared extension for php
[...]Pour installer une extension PHP, par exemple php56-curl-5.6.18, exécutez :
# pkg install php56-curlFélicitations ! À ce stade, la pile FEMP est prête à héberger vos sites web ou toute application web.
C'est tout pour le moment. Merci d'avoir lu ce tutoriel. Si vous avez des questions, n'hésitez pas à les poser dans la section des commentaires ci-dessous. Nous les résoudrons dès que possible.
Si vous trouvez ce tutoriel utile, veuillez le partager sur vos réseaux sociaux et soutenir OSTechNix.
Santé !





