
LAMP est un acronyme :
Avec LAMP, on peut donc mettre en place un serveur Web, hébergeant un site web dynamique écrit en PHP, tout en allant chercher des données dans une base MariaDB.
Les 4 éléments à installer sont :
- Le serveur Web www-servers/apache
- PHP dev-lang/php
- Le moteur de base de données : dev-db/mariadb
- L'outil de sélection de version de PHP app-eselect/eselect-php
Les USE par défaut de mariadb et apache sont bons.
Pour PHP, il va falloir régler les USE que l'on souhaite dans le fichier
/etc/portage/package.use/custom.
Je désactive fpm et postgres (qui va installer postgresql server que je n'utilise pas). J'active apache2 (puisque pas de PHP-FPM). J'active d'autres USE de modules PHP communs :
Concernant eselect-php, j'ajoute le FLAG apache2 et désactive fpm :
Après ceci, on installe les 4 paquets :
Configuration POST-Installation
Pour apache2, éditer le fichier
/etc/conf.d/apache2 et modifier la ligne
APACHE2_OPTS en y rajoutant au besoin :
Ce qui donne une ligne similaire à celle-ci :
On ajoute ensuite apache2 en service à lancer au démarrage:
Enfin, lancer apache2.
On initialise MariaDB avec
On en profite pour définir un mot de passe root :
On ajoute ensuite le service MariaDB au démarrage de la machine :
Enfin, on lance MariaDB :
Pour tester le serveur web, se rendre avec un navigateur internet sur
http://ip-du-serveur..
Si la page affiche "It works!" apache est bien installé.
Pour tester MariaDB, ouvrir une console en local en saisissant
mysql .
Tester une commande SQL (par exemple, afficher la liste des utilisateurs créés.
Pour vérifier que l'exécution de PHP fonctionne, on va créer une page PHP à la volée, puis tenter de l'afficher avec notre navigateur web.
On vérifie que php nous retourne bien une réponse (on doit avoir un tableau avec un certain nombre de variables php.
Si la page affiche
<?php phpinfo();?> php n'est pas bien initialisé.
Vérifier que les USE de PHP sont bien réglés, que la ligne APACHE2_OPTS ait bien été modifiée et que le service apache2 ait bien été redémarré.
On peut aussi installer plusieurs versions de PHP, en sélectionnant le slot (ici installation de PHP 7.3 et 7.4 :
Après pour sélectionner la version de PHP utilisée (par exemple pour apache), exécuter :
La liste apparaît :
Sélectionner la version souhaitée (par exemple PHP 7.4) avec :
Un avertissement indique :
Code TEXT :Please restart apache for the changes to take effect.
Il faut donc redémarrer apache pour prendre en compte la modif :
On peut évidemment sélectionner une version différente de PHP sous apache, le php appelé en ligne de commande (cli) ou utilisé par fpm.
Avec eselect il est donc facile de revenir à une ancienne version de PHP en cas d'incompatibilités.
Il peut arriver, dans le cas où la machine s'appelle
srv-gentoo que ce message apparaisse au lancement d'Apache :
apr_sockaddr_info_get() failed for srv-gentoo
Pour résoudre cela, c'est simple, c'est que le fichier hosts n'est pas correctement configuré.
Bien mettre le nom du serveur dedans sur la ligne 127.0.0.1 :