Alpine Linux - Installation d'un serveur web

Cette documentation n'est pas du tout terminée.

On va faire simple et un peu sale : Apache2 et PHP-FPM basique.

Documentations

Apache - Alpine wiki

Apache with php-fpm - Alpine wiki

Apache2

Installer Apache2

Installer Apache2 :

apk add apache2

Démarrer le service et l'activer au démarrage :

rc-service apache2 start rc-update add apache2

Configurer Apache

Comme on est jamais trop sûr, je vais faire une copie du fichier de conf d'Apache :

cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak

Créer un dossier pour les configurations des vhost :

mkdir /etc/apache2/vhost.d

Modifier httpd.conf pour ajouter ce dossier. A la fin, ajouter :

IncludeOptional /etc/apache2/vhost.d/*.conf

Créer un fichier de conf Apache. Par exemple :

<VirtualHost *:80> ServerName erreur503.xyz DocumentRoot /var/www/erreur503.xyz <Directory /var/www/erreur503.xyz> AllowOverride All Require all granted </Directory> </VirtualHost>

Redémarrer Apache2 :

rc-service apache2 restart

PHP

Installer php-fpm

Installer les paquets :

apk add apache2-proxy php php-fpm php-opcache

Activer et démarrer les services :

rc-service php-fpm83 start rc-update add php-fpm83 rc-service apache2 restart

Configurer Apache

Dans httpd.conf, décommenter la ligne suivante :

LoadModule mpm_event_module modules/mod_mpm_event.so

Commenter celle d'en dessous :

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Cela doit donner quelque chose comme ça :

LoadModule mpm_event_module modules/mod_mpm_event.so #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Ajouter les lignes suivantes :

<FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>

Dans /etc/php83/php-fpm.d/www.conf, modifier les lignes avec l'utilisateur qui fait tourner Apache :

user = apache group = apache

On ajoute les lignes suivantes dans le vhost Apache :

<FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>

Par exemple :

<VirtualHost *:80> ServerName erreur503.xyz DocumentRoot /var/www/erreur503.xyz <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> <Directory /var/www/erreur503.xyz> AllowOverride All Require all granted </Directory> </VirtualHost>

On peut vérifier en créant un fichier phpinfo.php :

<?php phpinfo(); ?>