Table des matières

Configurer un site www en http

Voici mes prises de notes pour configurer un site Internet http. Le configuration est destinée pour un site Internet commençant par www.

  Configurer Apache 2 pour un site Internet
    http://www.abonnel.fr

Pré requis et objectifs

La configuration du site Internet s'effectue dans un fichier de configuration.

Configuration Apache 2

On configure un site web à partir d'un fichier conf qui contient des directives. Dans notre exemple de fichier conf, il sera configuré le site Internet abonnel.fr et son alias www.abonnel.fr.

Le fichier à créer est /etc/apache2/sites-available/100-fr.abonnel.conf.

A noter qu'afin de prévenir notre paramétrage futur en https, la directive RewriteCond %{REQUEST_URI} !\.well-known/acme-challenge/.* permet de ne pas rediriger les appels pour Let's Encrypt (http/301). En effet, Let's encrypt n'accepte que des status http/200 lorsque nous mettrons en œuvre l'ajout d'un certificat SSL. Cette directive peut-être laissée active, même si vous ne prévoyez pas d'ajouter une certificat SSL avec Let's Encrypt.

<VirtualHost *:80>

    ServerName abonnel.fr
    ServerAlias www.abonnel.fr
    
    Protocols h2 http/1.1

    DocumentRoot /var/www/abonnel.fr/www

    <Directory /var/www/abonnel.fr/www>
        Options -Indexes +MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>


    <Location />
        Require all granted
    </Location>

    LogLevel warn
    ErrorLog ${APACHE_LOG_DIR}/abonnel.fr-error.log
    CustomLog ${APACHE_LOG_DIR}/abonnel.fr-access.log combined

    # Redirection des URL sans www
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{REQUEST_URI} !\.well-known/acme-challenge/.*
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R=301,L]

</VirtualHost>

Activer la configuration du site

On active la configuration du site en utilisant le binaire a2ensite

sudo a2ensite 100-fr.abonnel.conf

Et si tout se passe bien, on recharge la configuration d'Apache 2 sans avoir besoin de redémarre le service :

sudo service apache2 reload