La LXC Apache permet l'hébergement des services divers services web.
Type | Linux Container (machine virtuelle) hébergée sur Bor |
---|---|
Utilité | Serveur web du GInfo |
Services | Applis web, Bar'bu… |
OS | Ubuntu Server 17.04 |
Nom du LXC | bor_apache |
IP | 10.61.15.26 (DMZ BOR) |
Pour créer le Linux Container, je vous invite à suivre la seconde partie du tutoriel disponible sur cette page : Créer un Linux Container (LXC)
La seule chose à respecter lors de la création du container est le nom que vous lui donnerez : bor_apache
En suivant le précédent tutoriel pensez à :
→ attribuer une IP fixe au LXC (cf tutoriel LXC)
→ la mettre en démarrage automatique au démarrage de Bor
→ Ajouter une règle NAT pour permettre au LXC de communiquer avec l'extérieur via le port entrant 80 et 443 sur Bor
On commence par installer les paquets nécessaires :
$> sudo apt-get install apache2 php libapache2-mod-php php-mysql php-gd php-intl php-dom
Après cela normalement le serveur apache est lancé (ce qu'on peut vérifier avec un lynx localhost
)
Aussi, on s'assure que cet encart est bien présent dans /etc/apache2/apache2.conf
#Verifier que cette partie est bien présente dans le fichier. #Si elle n'est pas pareil, modifier le fichier de config pour qu'il soit identiques <Directory /var/www> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
On commence par supprimer la configuration par défaut :
$> sudo rm /etc/apache2/sites-available/000-default.conf $> sudo rm /etc/apache2/sites-available/default-ssl.conf $> sudo rm /etc/apache2/sites-enabled/000-default.conf $> sudo rm -r /var/www/html
On va créer une configuration pour un site à travers un exemple, disons par exemple, PhpMyAdmin. Le site sera accessible via https://phpmyadmin.ginfo (il faudra penser à rajouter les entrées DNS dans bind sur le routeur, on verra cela après)
On commence par créer un dossier phpmyadmin
dans /var/www
pour héberger les fichiers en question, et on donne les droits sur le dossier à l'utilisateur apache :
$> sudo mkdir /var/www/phpmyadmin $> sudo chown -R www-data:www-data /var/www/phpmyadmin
On crée donc maintenant un fichier portant le nom du site (phpmyadmin.ginfo.conf) dans /etc/apache2/sites-available/
Listen 80 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/phpmyadmin ServerName phpmyadmin.ginfo ServerAlias 10.61.16.26 ErrorLog ${APACHE_LOG_DIR}/errorphpmyadmin.log CustomLog ${APACHE_LOG_DIR}/accessphpmyadmin.log combined RewriteEngine On RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </VirtualHost> Listen 443 <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/phpmyadmin ServerName phpmyadmin.ginfo ServerAlias 10.61.16.26 ErrorLog ${APACHE_LOG_DIR}/errorphpmyadmin.log RewriteEngine On </VirtualHost>
On active ensuite cette configuration en faisant un lien symbolique de la configuration vers site-enabled :
$> sudo a2ensite phpmyadmin.ginfo
On active les ré-écritures d'URL (nécéssaire pour la config telle qu'elle est ici):
$> sudo a2enmod rewrite
Enfin on redémarre apache :
$> sudo systemctl reload apache2
Pour terminer, on déclare le domaine sur le routeur (Odin) dans /var/cache/bind/db.ginfo, en rajoutant la ligne phpmyadmin.ginfo IN CNAME bor
puis on redémarre le serveur DNS via sudo service bind9 restart
On peut maintenant mettre les fichiers du site dans /var/www/phpmyadmin