Installation de Wordpress et sécurisation de l'instance
Installation de Wordpress
- Installation de Apache
- Exécuter la commande
sudo apt-get install apache2
- Installation de PHP et compléments nécessaires à Wordpress
- Exécuter la commande
sudo apt-get install php7.3 libapache2-mod-php7.3 php7.3-common php7.3-mbstring php7.3-xmlrpc php7.3-soap php7.3-gd php7.3-xml php7.3-intl php7.3-mysql php7.3-cli php7.3-ldap php7.3-zip php7.3-curl
- Création et configuration de la base de données MariaDB
- Installer mysql
sudo apt install default-mysql-server
- Sécuriser l'installation de Mysql :
sudo mysql_secure_installation
en répondant Oui à toutes les questions et en définissant un mot de passe pour l'utilisateur root. - Créer la base de données dédiée à wordpress
sudo mysql -u root -p
- Exécuter les commandes mysql suivantes :
CREATE DATABASE <ma_base_wordpress>;
GRANT ALL PRIVILEGES on <ma_base_wordpress>.* TO <mon_utilisateur_wordpress>@'localhost' IDENTIFIED BY <passwd_wordpress>;
FLUSH PRIVILEGES;
EXIT;
- Téléchargement et installation de Wordpress
- Télécharger la dernière version de wordpress :
wget -c https://wordpress.org/latest.tar.gz
- Décompresser l'archive
tar -xvzf latest.tar.gz
- La déplacer dans le répertoire html
sudo mv wordpress/ /var/www/html/
- Définir les permissions adéquates sur ce répertoire
sudo chown -R www-data:www-data /var/www/html/wordpress/
puissudo chmod 755 -R /var/www/html/wordpress/
- Configuration Apache
- Créer un nouvelle configuration pour wordpress
sudo nano /etc/apache2/sites-available/wordpress.conf
- Y intégrer le contenu suivant :
<VirtualHost *:80> ServerAdmin adminsys@domaine-sinp DocumentRoot /var/www/html/wordpress ServerName <ip-publique> <Directory /var/www/html/wordpress> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/<ip-publique>_error.log CustomLog ${APACHE_LOG_DIR}/<ip-publique>_access.log combined </VirtualHost>
- Activer le mod rewrite (redirections) de apache :
sudo a2enmod rewrite
- Activer la configuration du site :
sudo ln -s /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf
- Puis relancer Apache :
sudo apachectl restart