Files

66 lines
2.3 KiB
Markdown

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 le `www`.
- 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
```