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 :
- Enter current password for root (enter for none) : ENTRER
- Switch to unix_socket authentication : Y
- Change the root password : n
- Remove anonymous users : Y
- Disallow root login remotely ? : Y
- Remove test database and access to it ? : Y
- Reload privilege tables now ? : Y
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"
- Supprimer la page par défaut d'Apache :
rm /var/www/html/index.html
- Télécharger la dernière version de Wordpress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
rm latest.tar.gz
- Déplacez le contenu de Wordpress dans "/var/www/html"
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
↑ Haut de page