======[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
#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
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
=====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/
Listen 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]
Listen 443
ServerAdmin webmaster@localhost
DocumentRoot /var/www/phpmyadmin
ServerName phpmyadmin.ginfo
ServerAlias 10.61.16.26
ErrorLog ${APACHE_LOG_DIR}/errorphpmyadmin.log
RewriteEngine On
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]]