Wordpress (Serveur de blog)
Environnement
- Conteneur LXC Proxmox
- Ubuntu 18.04
Installation
Installer Apache2, MariaDB et PHP :
apt install -y apache2 mariadb-server php7.2 php7.2-cli php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
Activer les modules Apache Rewrite :
a2enmod actions rewrite
Redémarrer Apache :
systemctl restart apache2
Configuration
Sécuriser l'installation de MariaDB :
mysql_secure_installation
Se connecter à MariaDB et modifier le mode de connexion pour passer du compte root système au compte root MariaDB :
mysql -u root
USE mysql;
UPDATE user SET plugin='' WHERE User='root';
FLUSH PRIVILEGES;
exit;
- Se connecter à MariaDB et créer la base de données pour Wordpress :
mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER 'wordpress-admin'@'localhost' IDENTIFIED BY 'mot_de_passe';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-admin'@'localhost';
FLUSH PRIVILEGES;
exit;
Redémarrer MariaDB :
systemctl restart mariadb
Autoriser le téléversement d'un fichier de 128 Mio avec PHP :
cp -p /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
cp -p /etc/php/7.2/cli/php.ini /etc/php/7.2/cli/php.ini.bak
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/cli/php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/cli/php.ini
- Activer le Optimizer Plus Cache dans PHP :
sed -i s'/;opcache.enable=1/opcache.enable=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.enable_cli=0/opcache.enable_cli=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.memory_consumption=128/opcache.memory_consumption=128/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=10000/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.revalidate_freq=2/opcache.revalidate_freq=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.save_comments=1/opcache.save_comments=1/' /etc/php/7.2/apache2/php.ini
Sauvegarder le virtualhost par défaut:
mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak
Éditer le virtualhost par défaut et le modifier de la manière suivante (/!\ à adapter à son besoin) :
nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerName wordpress.domaine.lan
ServerAdmin admin@domaine.lan
DocumentRoot /var/www/wordpress/
AllowEncodedSlashes NoDecode
<Directory /var/www/wordpress/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Redémarrer Apache :
systemctl restart apache2
Se placer dans /var/www/ et télécharger Wordpress :
cd /var/www/
wget https://fr.wordpress.org/latest-fr_FR.zip
Décompresser l'archive, la supprimer et attribuer la propriété du dossier à l'utilisateur www-data :
unzip latest-fr_FR.zip
rm /var/www/latest-fr_FR.zip
chown -R www-data:www-data /var/www/wordpress
Redémarrer Apache :
systemctl restart apache2
Dans un navigateur Web, se connecter à l'adresse du serveur et finir l'installation.