Installation Wordpress sur Apache en http et https (certificat autosigné)

Mettre le système à jour :

apt update
apt upgrade -y

Installer le serveur web Apache et le serveur SQL MariaDB, avec PHP

apt install apache2 mariadb-server php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml wget -y

systemctl start apache2
systemctl enable apache2
systemctl start mysqld
systemctl enable mysql

Initialiser MariaDB :

mariadb-secure-installation

Lors de l'exécution de mysql_secure_installation répondez comme suit :


Création de la base de données et de l'utilisateur

mysqladmin -uroot create wordpressdb
mysql -uroot -e"GRANT ALL ON wordpressdb.* TO admin@localhost IDENTIFIED BY 'P@ssw0rd'"

Téléchargement et installation de Wordpress.

Nous allons utiliser le vhost par défaut d'Apache, dont le root est "/var/www/html"

rm /var/www/html/index.html
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
rm latest.tar.gz
cp -r wordpress/* /var/www/html/
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
cd /var/www/html

Indiquer à Wordpress comment se connecter sa base SQL :

cp wp-config-sample.php wp-config.php
sed -i 's/database_name_here/wordpressdb/' wp-config.php
sed -i 's/username_here/admin/' wp-config.php
sed -i 's/password_here/P@ssw0rd/' wp-config.php

Recharger Apache :

systemctl reload apache2

Vous pouvez à présent vous connecter à votre navigateur web :

http://IP-SERVEUR


Pour passer votre site de http à https :

- Installer OpenSSL

apt install openssl

- Créer le répertoire et le certificat autosigné

mkdir /etc/apache2/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/wp.key -out /etc/apache2/ssl/wp.crt

- Renseignez les champs qui apparaissent ou laissez les vide dans notre cas de figure.
Lorsque vous adressez une requête à une autorité de certification, tout doit être rempli.
En guise de "Common Name", vous pouvez spécifier le nom de domaine (pour un vrai site web) ou simplement l'adresse IP de votre serveur web (notre cas ici).

- S'assurer que les permissions sont correctes sur le répertoire hébergeant le certificat autosigné et la clef privée

chmod 600 /etc/apache2/ssl/wp.key

- Création d'un VirtualHost HTTPS

Nous allons reprendre la configuration effectuée plus haut en y ajoutant le certificat SSL et la clef privée, et en changeant le port d'écoute (80 -> 443)
Ouvrez /etc/apache2/sites-available/000-default.conf (vous observez au passage qu'il y a déjà une configuration par défaut pour un vhost SSL dans le même dossier.. on aurait d'ailleurs pu s'en servir !).

<VirtualHost *:443>
#ServerName www.example.com

# Activation du SSL
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/wp.crt
SSLCertificateKeyFile /etc/apache2/ssl/wp.key

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

- Activer le module SSL

a2enmod ssl

- Recharger Apache :

systemctl reload apache2

⬆️ Retour en haut de la page