Apache

Installation :

sudo apt install apache2

Utilisation

par défaut le répertoire /var/www/html est créer avec un index.html, pour mètre en ligne votre site il suffit de mettre l'intégraliter de vaut fichier de votre server web dans le répertoire /var/www/html.
si vous voulez utiliser des .php il vous faudras installer un paquet :

apt install libapache2-mod-php

Configuration

VirtualHost

chaque site correspond a un virtual host, ces VH sont stoquer dans le répertoire /etc/apache2/sites-available/.
par défaut il existe 2 VH :

  • 000-default.conf :
<VirtualHost *:80> # 80 correspond au port, donc le port 80 pour http
    ServerAdmin webmaster@localhost # optionel, permet de définir le mail de l'admin
    DocumentRoot /var/www/html # défini le répertoire du site web, donc la racine du site web
    ErrorLog ${APACHE_LOG_DIR}/error.log #log d'erreur
    CustomLog ${APACHE_LOG_DIR}/access.log combined #log d'acces
</VirtualHost>
  • default-ssl.conf : ce VH correspond au même site qu'au dessus mais cette vois en https, donc port 443
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SSLEngine on
        SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile   /etc/ssl/private/ssl-cert-snakeoil.key
        <FilesMatch "\.(?:cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>
</VirtualHost>

Crée un VH :

ce VH a valeur d'exemple :

<VirtualHost *:80>
    ServerAdmin webmaster@nouveau.fr
    ServerName nouveau.fr #défini le nom de domain par lequel le site seras appeler
    ServerAlias www.nouveau.fr

    DocumentRoot /var/www/nouveau

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All #défini si un utilisateur peut ajouter des option dans un .htaccess
        Require all granted #défini qui peut accéder au répertoire, peut etre modifie pour autoriser que certaine ip
    </Directory>
</VirtualHost>

Pour ajouter un VH vous devez executez ces deux commande :

sudo a2ensite nouveau.fr
sudo systemctl reload apache2

HTTPS :