musee:infrastructure:bor:lxc_apache

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
musee:infrastructure:bor:lxc_apache [13/10/2018 00:56] – ↷ Page déplacée de infrastructure:bor:lxc_apache à musee:infrastructure:bor:lxc_apache pnahoummusee:infrastructure:bor:lxc_apache [16/10/2018 01:48] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 157.55.39.138
Ligne 1: Ligne 1:
 +======[Bor] LXC Apache ======
  
 +La LXC Apache permet l'hébergement des services divers services web. 
 +
 +===== Présentation =====
 +
 +^ Type | Linux Container (machine virtuelle) hébergée sur [[infrastructure: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)  |
 +=====Création de la LXC sur Bor=====
 +Pour créer le Linux Container, je vous invite à suivre la seconde partie du tutoriel disponible sur cette page : [[musee:tutoriels:faire_un_lxc#creation_d_un_linux_container_lxc| 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** 
 +
 +====Configuration de la LXC====
 +En suivant le précédent tutoriel pensez à : 
 +
 +-> attribuer une IP fixe au LXC (cf tutoriel [[musee:tutoriels:faire_un_lxc|LXC]])
 +
 +-> la mettre en démarrage automatique au démarrage de [[infrastructure:bor]]
 +
 +-> [[musee:tutoriels:ouvrir_un_service_lxc_depuis_de_l_exterieur|Ajouter une règle NAT]] pour permettre au LXC de communiquer avec l'extérieur via le port entrant 80 et 443 sur [[infrastructure:bor]]
 +=====Installation de Apache=====
 +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
 +
 +<file bash /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>
 +</file>
 +=====Configuration initiale et création d'un site=====
 +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
 +
 +=====Création d'un site avec le système des VirtualHost Apache (exemple de PhpMyAdmin)=====
 +  
 +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/
 +
 +<file bash /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>
 +</file>
 +
 +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
 +=====Références=====
 +
 +* [[https://doc.ubuntu-fr.org/lamp]]