Comment installer une pile Apache, MySQL et PHP (FAMP) sur FreeBSD 10.1

introduction

Une pile FAMP, similaire à une pile LAMP sous Linux, est un groupe de logiciels open source généralement installés ensemble pour permettre à un serveur FreeBSD d’héberger des sites Web dynamiques et des applications Web. FAMP est un acronyme signifiant F reeBSD (système d’exploitation), A pache (serveur Web), M ySQL (serveur de base de données) et P HP (à traiter). contenu PHP dynamique).

Dans ce guide, une pile FAMP sera installée sur un serveur cloud FreeBSD 10.1 à l’aide de + pkg +, le gestionnaire de paquets FreeBSD.

Conditions préalables

Avant de commencer ce guide, vous devriez avoir un serveur FreeBSD 10.1. De plus, vous devez vous connecter à votre serveur FreeBSD en tant qu’utilisateur avec les privilèges de super-utilisateur (i.e. est autorisé à utiliser + sudo + ou à changer l’utilisateur root).

Première étape - Installer Apache

Le serveur Web Apache est actuellement le serveur Web le plus populaire au monde, ce qui en fait un excellent choix pour l’hébergement d’un site Web.

Nous pouvons installer Apache facilement en utilisant le gestionnaire de paquets de FreeBSD, + pkg +. Un gestionnaire de paquets nous permet d’installer la plupart des logiciels sans douleur à partir d’un référentiel maintenu par FreeBSD. Vous pouvez en apprendre plus sur how à utiliser + pkg + ici.

Pour installer Apache 2.4 en utilisant + pkg +, utilisez cette commande:

sudo pkg install apache24

Entrez + y + à l’invite de confirmation.

Cela installe Apache et ses dépendances.

Pour activer Apache en tant que service, ajoutez + apache24_enable =" YES "+ au fichier + / etc / rc.conf +. Nous allons utiliser cette commande + sysrc + pour le faire:

sudo sysrc apache24_enable=yes

Maintenant démarrez Apache:

sudo service apache24 start

Vous pouvez immédiatement effectuer une vérification ponctuelle pour vérifier que tout s’est passé comme prévu en visitant l’adresse IP publique de votre serveur dans votre navigateur Web (voir la note sous le titre suivant pour savoir quelle est votre adresse IP publique si vous ne disposez pas de ces informations.) déjà):

http:///

Vous verrez la page Web par défaut Apache de FreeBSD, qui est là pour des tests. Il devrait indiquer: “Ça marche!”, Ce qui indique que votre serveur Web est correctement installé.

Comment trouver l’adresse IP publique de votre serveur

Si vous ne connaissez pas l’adresse IP publique de votre serveur, vous pouvez la trouver de différentes façons. Il s’agit généralement de l’adresse que vous utilisez pour vous connecter à votre serveur via SSH.

Si vous utilisez DigitalOcean, vous pouvez rechercher l’adresse IP de votre serveur dans le Panneau de configuration. Vous pouvez également utiliser le service de métadonnées DigitalOcean, à partir du serveur lui-même, avec la commande suivante: + curl -w" \ n "http: // 169.254.169.254 / metadata / v1 / interfaces / public / 0 / ipv4 / address +.

Une façon plus universelle de rechercher l’adresse IP consiste à utiliser la commande + ifconfig +, sur le serveur lui-même. La commande + ifconfig + affichera des informations sur vos interfaces réseau. Pour limiter la sortie à l’adresse IP publique du serveur uniquement, utilisez cette commande (notez que la partie mise en surbrillance est le nom de l’interface réseau et peut varier):

ifconfig  | grep "inet " | awk '{ print $2 }'

Maintenant que vous avez l’adresse IP publique, vous pouvez l’utiliser dans la barre d’adresse de votre navigateur Web pour accéder à votre serveur Web.

Deuxième étape - Installer MySQL

Maintenant que notre serveur Web est opérationnel, il est temps d’installer MySQL, le système de gestion de base de données relationnelle. Le serveur MySQL organisera et fournira un accès aux bases de données sur lesquelles notre serveur peut stocker des informations.

Encore une fois, nous pouvons utiliser + pkg + pour acquérir et installer notre logiciel.

Pour installer MySQL 5.6 en utilisant + pkg +, utilisez cette commande:

sudo pkg install mysql56-server

Entrez + y + à l’invite de confirmation.

Cela installe les paquets serveur et client MySQL.

Pour activer le serveur MySQL en tant que service, ajoutez + mysql_enable =" YES "+ dans le fichier + / etc / rc.conf +. Cette commande + sysrc + fera exactement cela:

sudo sysrc mysql_enable=yes

Maintenant démarrez le serveur MySQL:

sudo service mysql-server start

Maintenant que votre base de données MySQL est en cours d’exécution, vous souhaiterez exécuter un simple script de sécurité permettant de supprimer certaines valeurs par défaut dangereuses et de limiter légèrement l’accès à votre système de base de données. Démarrez le script interactif en exécutant cette commande:

sudo mysql_secure_installation

L’invite vous demandera votre mot de passe root actuel (l’utilisateur administrateur de MySQL, root). Comme vous venez d’installer MySQL, vous n’en aurez probablement pas. Par conséquent, laissez le champ vide en appuyant sur + RETURN +. Ensuite, l’invite vous demandera si vous souhaitez définir un mot de passe root. Allez-y et entrez + Y +, et suivez les instructions:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorization.

Set root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!

Pour le reste des questions, vous devez simplement appuyer sur la touche + RETURN à chaque invite pour accepter les valeurs par défaut. Cela supprimera des exemples d’utilisateurs et de bases de données, désactivera les connexions à la racine distante et chargera ces nouvelles règles afin que MySQL respecte immédiatement les modifications que nous avons apportées.

À ce stade, votre système de base de données est maintenant configuré et nous pouvons continuer.

Troisième étape - Installer PHP

PHP est le composant de notre configuration qui traitera le code pour afficher le contenu dynamique. Il peut exécuter des scripts, se connecter à des bases de données MySQL pour obtenir des informations et transmettre le contenu traité au serveur Web à afficher.

Nous pouvons à nouveau utiliser le système + pkg + pour installer nos composants. Nous allons également inclure les packages + mod_php,` + php-mysql` et + php-mysqli.

Pour installer PHP 5.6 avec + pkg +, exécutez cette commande:

sudo pkg install mod_php56 php56-mysql php56-mysqli

Entrez + y + à l’invite de confirmation. Ceci installe les paquets + php56 +, + mod_php56 +, + php56-mysql et` + php56-mysqli`.

Maintenant, copiez le fichier de configuration PHP avec cette commande:

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

Exécutez maintenant la commande + rehash + pour régénérer les informations mises en cache du système concernant vos fichiers exécutables installés:

rehash

Avant d’utiliser PHP, vous devez le configurer pour fonctionner avec Apache.

Installer des modules PHP (facultatif)

Pour améliorer les fonctionnalités de PHP, nous pouvons éventuellement installer des modules supplémentaires.

Pour voir les options disponibles pour les modules et les bibliothèques PHP 5.6, vous pouvez les saisir dans votre système:

pkg search php56

Les résultats seront principalement des modules PHP 5.6 que vous pouvez installer. :

mod_php56-5.6.3
php56-5.6.3
php56-bcmath-5.6.3
php56-bz2-5.6.3
php56-calendar-5.6.3
php56-ctype-5.6.3
php56-curl-5.6.3
php56-dba-5.6.3
php56-dom-5.6.3
php56-exif-5.6.3
...

Pour obtenir plus d’informations sur chaque module, vous pouvez effectuer une recherche sur Internet ou consulter la description longue du paquet en tapant:

pkg search -f

Il y aura beaucoup de sorties, avec un champ appelé * Comment * qui expliquera les fonctionnalités fournies par le module.

Par exemple, pour savoir ce que fait le paquetage + php56-calendar +, nous pourrions taper ceci:

pkg search -f php56-calendar

Outre de nombreuses autres informations, vous trouverez quelque chose qui ressemble à ceci:

php56-calendar-5.6.3
Name           : php56-calendar
Version        : 5.6.3
...
Comment        : The calendar shared extension for php
...

Si, après avoir effectué des recherches, vous décidez d’installer un paquet, vous pouvez le faire en utilisant la commande + pkg install + comme nous l’avons fait pour les autres logiciels.

Par exemple, si nous décidons que + php56-calendar + est quelque chose dont nous avons besoin, nous pourrions taper:

sudo pkg install php56-calendar

Si vous souhaitez installer plusieurs modules à la fois, vous pouvez le faire en les énumérant, séparés par un espace, en suivant la commande + pkg install +, comme ceci:

sudo pkg install

Quatrième étape - Configurer Apache pour utiliser le module PHP

Avant qu’Apache ne traite les pages PHP, nous devons le configurer pour utiliser + mod_php +.

Ouvrez le fichier de configuration Apache:

sudo vi /usr/local/etc/apache24/Includes/php.conf

Tout d’abord, nous allons configurer Apache pour charger les fichiers + index.php + par défaut en ajoutant les lignes suivantes:

<IfModule dir_module>
   DirectoryIndex index.php index.html

Ensuite, nous allons configurer Apache pour qu’il traite les fichiers PHP demandés avec le processeur PHP. Ajoutez ces lignes à la fin du fichier:

   <FilesMatch "\.php$">
       SetHandler application/x-httpd-php
   </FilesMatch>
   <FilesMatch "\.phps$">
       SetHandler application/x-httpd-php-source
   </FilesMatch>
</IfModule>

Sauvegarder et quitter.

Maintenant, redémarrez Apache pour appliquer les modifications:

sudo service apache24 restart

À ce stade, votre pile FAMP est installée et configurée. Essayons maintenant votre configuration PHP.

Cinquième étape - Tester le traitement de PHP

Afin de vérifier que notre système est correctement configuré pour PHP, nous pouvons créer un script PHP très basique.

Nous appellerons ce script + info.php. Pour qu’Apache trouve le fichier et le serve correctement, il doit être enregistré dans un répertoire très spécifique: * DocumentRoot *: Apache recherchant les fichiers lorsqu’un utilisateur accède au serveur Web. L’emplacement de DocumentRoot est spécifié dans le fichier de configuration Apache que nous avons modifié précédemment (+ / usr / local / etc / apache24 / httpd.conf +).

Par défaut, DocumentRoot est défini sur + / usr / local / www / apache24 / data +. Nous pouvons créer le fichier + info.php sous cet emplacement en tapant:

sudo vi /usr/local/www/apache24/data/info.php

Cela ouvrira un fichier vierge. Insérez ce code PHP dans le fichier:

<?php phpinfo(); ?>

Sauvegarder et quitter.

Nous pouvons maintenant tester si notre serveur Web peut afficher correctement le contenu généré par un script PHP. Pour essayer cela, il suffit de visiter cette page dans votre navigateur Web. Vous aurez à nouveau besoin de l’adresse IP publique de votre serveur.

L’adresse que vous souhaitez visiter sera:

http:///info.php

La page que vous voyez devrait ressembler à ceci:

image: https: //assets.digitalocean.com/articles/freebsd_lamp/freebsd_info_php.png [FreeBSD info.php]

Cette page vous fournit essentiellement des informations sur votre serveur du point de vue de PHP. C’est utile pour le débogage et pour vous assurer que vos paramètres sont appliqués correctement.

Si cela réussit, votre PHP fonctionne comme prévu.

Vous voudrez probablement supprimer ce fichier après ce test, car il pourrait en fait fournir des informations sur votre serveur à des utilisateurs non autorisés. Pour ce faire, vous pouvez taper ceci:

sudo rm /usr/local/www/apache24/data/info.php

Vous pouvez toujours recréer cette page si vous devez accéder aux informations ultérieurement.

Conclusion

Maintenant que vous avez une pile FAMP installée, vous avez beaucoup de choix pour ce qu’il faut faire ensuite. En gros, vous avez installé une plate-forme qui vous permettra d’installer la plupart des types de sites Web et de logiciels Web sur votre serveur.

Si vous souhaitez configurer WordPress sur votre nouvelle pile FAMP, consultez ce didacticiel: https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-apache-on-freebsd-10 -1 [Comment installer WordPress avec Apache sur FreeBSD 10.1].