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.
- Il accepte une connexion sur le port http 80.
- Il permet des connexions sans le
www
pour être redirigé vers lewww
. - Il permet d'avoir des logs dans des fichiers séparés
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