======[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]]