# WordPress #### Installer WordPress: Téléchargement: ```bash $ cd /volume1/web $ wget https://wordpress.org/latest.tar.gz $ tar -xzvf latest.tar.gz ``` Régler les permissions: ```bash $ sudo chown -R http:http wordpress $ sudo chmod -R 755 /volume1/web/wordpress/ $ sudo find /volume1/web/wordpress/ -type d -exec chmod 755 {} \; $ sudo find /volume1/web/wordpress/ -type f -exec chmod 644 {} \; ``` #### Créer un Virtual Host: - Aller dans **Web Station** -> **Portail de services Web** -> Créer -> **Créer un portail de service** - Sélectionner **Virtual Host** - Configurer un **hôte virtuel**: -Nom d'hôte: -Port: cocher 80/443 -Racine du document: web/wordpress -Paramètres HTTPS: cocher HSTS -Serveur principal HTTP: Nginx -PHP: PHP 7.4 DSM ajustera les permissions pour les fichiers WordPress. #### Créer une base MariaDB: ```bash $ sudo mysql -u root -p ``` ```mariadb # Supprimer une ancienne base: # DROP DATABASE wordpress; MariaDB > CREATE DATABASE wordpress; # Créer un utilisateur autorisé à se connecter uniquement depuis le NAS MariaDB > CREATE USER 'adm_wp'@'localhost' IDENTIFIED BY 'DB_password'; # Créer un utilisateur autorisé à se connecter uniquement depuis une IP fixe (interne/externe) # CREATE USER 'adm_wp'@'192.168.1.123' IDENTIFIED BY 'DB_password'; # Créer un utilisateur autorisé à se connecter uniquement depuis le réseau local # CREATE USER 'adm_wp'@'192.168.1.%' IDENTIFIED BY 'DB_password'; # Créer un utilisateur autorisé à se connecter uniquement depuis ln'importe où # CREATE USER 'adm_wp'@'%' IDENTIFIED BY 'DB_password'; # Donner tousles droits à l'utilisateur admin_wp sur la base wordpress depuis le NAS MariaDB > GRANT ALL PRIVILEGES ON wordpress . * TO 'adm_wp'@'localhost'; # On peut regrouper les 2 dernières commandes # GRANT ALL ON wordpress.* TO 'adm_wp'@'localhost' IDENTIFIED BY 'Kpm!65YU$q'; MariaDB > FLUSH PRIVILEGES; ``` Vérifier la base créee: ```mariadb MariaDB > SHOW DATABASES; +--------------------+ | Database | +--------------------+ | admin_gitea | | information_schema | | mysql | | nextcloud | | performance_schema | | wordpress | +--------------------+ MariaDB > SELECT User, Host FROM mysql.user; +-----------------+-----------+ | User | Host | +-----------------+-----------+ | adm_gitea | % | | admin_nextcloud | % | | root | 127.0.0.1 | | root | ::1 | | adm_wp | localhost | | root | localhost | +-----------------+-----------+ ``` #### Finaliser l'installation: Aller à https://clicclac.synology.me/wordpress dans Firefox. #### Permaliens: ```php # Note : avec DSM7, le chemin d'accès du fichier server.ReverseProxy.conf a changé # DSM6.2 = /etc/nginx/app.d/server.ReverseProxy.conf # DSM7 = /etc/nginx/sites-enabled/server.ReverseProxy.conf ``` Identification du dossier *réceptacle*: ```bash $ sudo nano /usr/local/etc/nginx/sites-enabled/server.webstation-vhost.conf ``` ```nginx ... include /usr/local/etc/nginx/conf.d/2bbf5ec3-353e-48c2-8564-f5ad432bb05e/user.conf*; ... ``` Création du fichier: ```bash cd /usr/local/etc/nginx/conf.d/2bbf5ec3-353e-48c2-8564-f5ad432bb05e/ # Créer un fichier de configuration nginx pour gérer les permaliens $ sudo nano user.conf.wordpress-permalink ``` ```nginx location /{ try_files $uri $uri/ /index.php?$args; } ``` Tester la configuration et recharger nginx: ```bash $ sudo nginx -t $ sudo systemctl reload nginx ``` ### Mises-à-jour Configurer le fichier config.php comme suit: ```php define( 'FS_METHOD', 'ftpext' ); define( 'FTP_PASS', 'nas_password' ); define( 'FTP_USER', 'bruno' ); define( 'FTP_HOST', 'clicclac.synology.me:21' ); ``` ou plus simplement: ```php define( 'FS_METHOD', 'direct' ); ``` #### Liens: [Installer WordPress sur Debian / nginx](../../Divers/wordpress.md)