Installation de LAMP (Linux, Apache, MySQL, PHP et PhpMyAdmin) dans Gentoo Linux
Les performances maximales obtenues en compilant des logiciels à partir de sources avec Gentoo ont un impact minime, si l’on prend comme référence aujourd’hui le traitement de la puissance du matériel. Alors, quel est le but d’utiliser Gentoo comme plate-forme de serveur Web, pourriez-vous demander ? Eh bien, l’attribut le plus important de Gentoo est son extrême flexibilité que Portage peut fournir sur des tâches spécifiques et le contrôle total que l’utilisateur final peut obtenir sur l’ensemble du système, en raison du fait que Gentoo est compilé et construit à partir des sources et n’utilise pas de binaire pré-packagé comme la majorité des distributions Linux.
Ce guide fournit une procédure d’installation étape par étape pour la célèbre pile LAMP (Linux, Apache, MySQL et PHP/PhpMyAdmin) en utilisant un environnement d’installation Gentoo minimal.
Exigences
- Environnement Gentoo Linux minimal installé comme dans ce tutoriel (Installer Gentoo Linux)
Étape 1 : Configurer l’adresse IP statique
1. Avant de procéder à l’installation de la pile LAMP, le système doit être configuré avec une adresse IP statique, ce qui est un « must » dans le cas d’un serveur. Toutefois, avant de commencer à configurer les paramètres statiques du réseau, utilisez la commande ifconfig pour afficher les noms des cartes d’interface réseau.
# ifconfig -aComme vous pouvez le voir, le nom de la carte réseau peut différer d’autres noms communs utilisés sous Linux tels que ethX, ensXX ou autres, alors notez ce nom pour plus de paramètres.
2. Si vous avez déjà utilisé un serveur DHCP pour votre réseau, assurez-vous de démonter et de désactiver le client DHCP sur votre système à l’aide des commandes suivantes (remplacez les adresses IP et les périphériques par vos paramètres).
# rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd3. Créez ensuite un lien symbolique à partir d’un périphérique de bouclage réseau avec le nom de l’interface connectée de votre carte réseau et créez un fichier de configuration statique pour ce périphérique dans le chemin /etc/conf.d/.
# ln -s /etc/init.d/net.lo /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736Modifiez ce fichier de périphérique avec les configurations suivantes.
config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"4. Après avoir terminé de modifier les configurations statiques de la carte réseau, démarrez l’interface réseau et vérifiez les paramètres réseau et la connexion à l’aide des commandes ifconfig et ping et si tout est configuré avec succès, ajoutez-le pour démarrer le processus.
# /etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 defaultSi vous souhaitez que les serveurs de noms DNS soient configurés à l’échelle du système, modifiez le fichier /etc/resolv.conf et ajoutez une chaîne de serveur de noms pour chaque adresse IP DNS.
Étape 2 : Installer LAMP
5. Une fois que vous avez terminé avec les paramètres réseau, procédez à l’installation de la pile LAMP, mais pas avant d’avoir vérifié les profils Gentoo et mis à jour l’arborescence et le système Portage.
Pour un serveur connecté à Internet avec des correctifs de sécurité, vous voudrez probablement utiliser un profil Hardened qui modifie les paramètres de package pour l’ensemble de votre système (masques, drapeaux USE, etc.). Utilisez les commandes suivantes pour répertorier et modifier votre profil.
$ sudo eselect profile list
sudo eselect profile set 116. Une fois que vous avez défini le profil qui vous convient le mieux, mettez à jour votre système et l’arborescence Portage.
$ sudo emerge --sync
sudo emerge --update @world7. Il est maintenant temps de procéder à l’installation de LAMP. Vérifiez la documentation d’Apache Web Server pour les indicateurs USE à l’aide du commutateur de commande emerge -pv, puis modifiez le fichier Portage make.conf avec les indicateurs USE requis avant d’essayer de l’installer.
# emerge -pv apache
nano /etc/portage/make.conf8. Choisissez vos drapeaux USE pour le processus de compilation (vous pouvez le laisser tel quel si votre serveur n’a pas besoin de certains modules), puis installez Apache à l’aide de la commande suivante.
# emerge --ask www-servers/apache9. Avant de démarrer le service Apache, exécutez la commande suivante pour éviter l’erreur ServerName, puis démarrez le démon httpd.
# echo “ServerName localhost” >> /etc/apache2/httpd.conf# service apache2 start
OR
/etc/init.d/apache2 start10. À l’étape suivante, installez le langage de script dynamique PHP. En raison de la richesse des modules PHP, ce tutoriel vous présentera une grande liste de modules utilisés comme drapeaux USE, mais vous devez vous en tenir à ceux dont la configuration de votre serveur a besoin.
Tout d’abord, obtenez des drapeaux spécifiques USE pour PHP en utilisant la commande ci-dessous.
# emerge -pv php11. Ensuite, éditez le fichier /etc/portage/make.conf et utilisez les drapeaux USE suivants pour PHP5.5 (les drapeaux USE doivent être sur une seule ligne).
USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"
PHP_TARGETS="php5-5"Une autre méthode que vous pouvez utiliser consiste à faire écho aux drapeaux USE pour inclure les modules et options PHP souhaités dans le fichier /etc/portage/package.use.
# echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use12. Après avoir sélectionné les drapeaux USE requis à l’aide de l’une des deux méthodes présentées, installez PHP avec la commande suivante.
# emerge --ask dev-lang/php13. Le processus émergent de PHP peut prendre un certain temps en fonction des ressources de votre système et une fois terminé, indiquez à Apache d’utiliser les modules PHP en modifiant le fichier /etc/conf.d/apache2 et d’ajouter PHP5 sur APACHE2_OPTS directive.
# nano /etc/conf.d/apache2Faites en sorte que APACHE2_OPTS ligne ressemble à ceci.
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"Pour obtenir la liste des modules installés, utilisez la commande suivante.
# ls -al /etc/apache2/modules.d/14. Pour tester la configuration du serveur jusqu’à présent, créez un fichier phpinfo dans le répertoire racine de localhost (/var/www/localhost/htdocs/) et redémarrez le service Apache, puis pointez votre navigateur sur http://localhost/info.php ou http ://system_IP/info.php.
echo "<!--?php phpinfo(); ?-->" /var/www/localhost/htdocs/info.php
# service apache2 restart
OR
/etc/init.d/apache2 restartSi vous obtenez le même résultat que l’image ci-dessus, votre serveur est correctement configuré. Ainsi, nous pouvons aller de l’avant avec l’installation de la base de données MySQL et de PhpMyAdmin.
15. Avant d’installer la base de données MySQL, vérifiez les drapeaux USE du paquet et éditez Portage make.conf si nécessaire. Utilisez les commandes suivantes pour vérifier et installer la base de données MySQL-server.
# emerge -pv mysql
emerge --ask dev-db/mysql16. Avant de démarrer le serveur MySQL, assurez-vous que la base de données MySQL est installée sur votre système à l’aide de la commande suivante.
# /usr/bin/mysql_install_db17. Démarrez maintenant la base de données MySQL et sécurisez-la à l’aide de mysql_secure_installation en modifiant le mot de passe root, en désactivant la connexion root en dehors de localhost, en supprimant l’utilisateur anonyme et la base de données de test.
# service mysql start
mysql_secure_installation18. Pour tester la fonctionnalité de la base de données, connectez-vous à MySQL en exécutant la commande ci-dessous et quittez la base de données avec l’instruction quit.
mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;19. Si vous avez besoin d’une interface graphique pour gérer le serveur MySQL, installez le paquet PhpMyAdmin en exécutant ces commandes.
# emerge -pv phpmyadmin
emerge dev-db/phpmyadmin20. Une fois le paquet compilé et installé, créez un fichier de configuration pour PhpMyAdmin en copiant son fichier de modèle et remplacez blowfish_secret phrase de passe à l’aide d’une chaîne arbitraire.
# cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php21. Testez le processus de connexion à PhpMyAdmin en ouvrant un navigateur et utilisez l’URL suivante.
http://localhost/phpmyadmin22. Si tout est en place, vous pouvez démarrer automatiquement vos services après le redémarrage en les rendant disponibles dans tout le système à l’aide des commandes suivantes.
# rc-update -v add apache2 default
rc-update -v add mysql defaultC’est tout! Vous disposez maintenant d’un environnement web dynamique avec Apache, le langage de script PHP et la base de données relationnelle MySQL sur une plate-forme de serveur hautement flexible et personnalisable fournie par Gentoo.

























