musee:infrastructure:bor:lxc_apache

[Bor] LXC Apache

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

/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/

/etc/apache2/sites-available/phpmyadmin.ginfo.conf
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

  • musee/infrastructure/bor/lxc_apache.txt
  • Dernière modification : 16/10/2018 01:48
  • de 157.55.39.138