Comment sécuriser l'installation de WordPress avec Bedrock sur Google Cloud Platform. Bedrock est un passe-partout WordPress avec une structure de répertoire améliorée différente et une configuration plus facile.
Il est plus sécurisé en isolant la racine Web et en limitant l'accès aux fichiers non Web et des mots de passe plus sécurisés à l'aide de wp-password-becrypt qui remplace le hachage MD5 par la méthode bcrypt moderne.
Dans ce guide, vous allez apprendre à installer et à configurer WordPress à l'aide de Bedrock. Cette configuration est testée sur Google Cloud Platform.
Prérequis
- Si vous êtes sur Google Cloud, vous devez configurer une instance de VM avec Ubuntu 20.04.
- Configuration complète de LAMP avec Let'sEncrypt SSL
Une fois que vous avez rempli les conditions préalables ci-dessus, vous pouvez procéder à la configuration de Bedrock.
Installer Composer
Composer est requis pour installer et configurer Bedrock. Vous pouvez installer composer à l'aide de la commande suivante.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
Configurer WordPress basé sur Bedrock
Naviguez dans votre répertoire racine Web.
cd /var/www/html/yourpath/public
Téléchargez WordPress basé sur Bedrock en utilisant Composer.
sudo composer create-project roots/bedrock .
Remarquez le . à la fin, ce qui signifie configurer le contenu WordPress directement dans ce dossier sans créer de sous-répertoire nommé bedrock .
Maintenant, si vous vérifiez la structure en utilisant ls commande, vous verrez la structure comme ci-dessous.
├── composer.json
├── config
│ ├── application.php
│ └── environments
│ ├── development.php
│ ├── staging.php
│ └── production.php
├── vendor
└── web
├── app
│ ├── mu-plugins
│ ├── plugins
│ ├── themes
│ └── uploads
├── wp-config.php
├── index.php
└── wp - Le
webrépertoire est la racine Web de votre WordPress. - Le
apprépertoire contiendra vos téléchargements, thèmes et plugins.
Avec cette structure de répertoires, vous n'aurez pas wp-content et au lieu de cela, vous aurez app répertoire.
Vos fichiers d'administration seront situés dans le wp répertoire.
Configurer Bcrypt pour un mot de passe sécurisé
Installez Bcrypt en utilisant composer pour sécuriser vos mots de passe en utilisant bcrypt.
sudo composer require roots/wp-password-bcrypt
Cette commande inclura un fichier nommé wp-password-bcrypt.php qui sera automatiquement chargé automatiquement par Composer et n'apparaîtra pas dans vos plug-ins.
Configurer Apache pour utiliser la racine Web correcte
Vous devez maintenant mettre à jour le Documentroot et Directory chemins pour pointer vers le répertoire web.
Modifiez la configuration de votre hôte virtuel avec la commande ci-dessous.
sudo nano /etc/apache2/sites-available/domainname.conf
Assurez-vous que votre fichier ressemble à celui ci-dessous.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName domainname.com
ServerAlias www.domainname.com
DocumentRoot /var/www/html/domainname/public/web
<Directory /var/www/html/domainname/public/web>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Tapez CRTL + X suivi de Y et ENTER pour enregistrer et quitter le fichier.
Faites maintenant de même pour l'hôte virtuel qui a la configuration SSL pour pointer vers la racine Web correcte.
Redémarrez Apache pour que les modifications prennent effet.
sudo service apache2 restart
Créer une base de données pour WordPress
Si vous avez déjà une base de données et un utilisateur, vous pouvez passer à la configuration .env fichier.
Connectez-vous à votre console MySQL.
mysql -u root -p
Utilisez le mot de passe que vous avez utilisé lors de la configuration du serveur.
Exécutez la commande ci-dessous pour créer une nouvelle base de données.
CREATE DATABASE database_name /*\!40100 DEFAULT CHARACTER SET utf8mb4 */;
Créez un nouvel utilisateur et attribuez-le à la base de données créée ci-dessus.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'secure_password'; GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
Privilèges de rinçage.
FLUSH PRIVILEGES;
Vous avez maintenant une nouvelle base de données, un nom d'utilisateur et un mot de passe pour votre WordPress.
Configurer WordPress avec la base de données
Modifiez le fichier .env situé en dehors de la racine Web.
sudo nano /var/www/html/yourpath/public/.env
Mettez à jour les éléments suivants avec les détails que vous avez utilisés auparavant.
- DB_NAME => nom_base de données
- DB_USER => nom d'utilisateur
- DB_PASSWORD => secure_password
- Décommentez DB_HOST et DB_PREFIX.
- Modifiez le DB_PREFIX avec celui que vous souhaitez.
Générez des sels en utilisant cette URL (https://roots.io/salts.html) et remplacez les clés ci-dessous.
Configurer .htaccess
Maintenant, vous configurez le fichier .htaccess ou vous pouvez également actualiser les permaliens pour avoir de jolies URL
sudo nano /var/www/html/yourpath/public/web/.htaccess
Ajoutez-y la configuration ci-dessous.
#BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#END WordPress Vous pouvez maintenant vérifier votre site Web sur le navigateur Web et suivre les instructions à l'écran pour terminer l'installation.
Conclusion
Vous savez maintenant comment installer WordPress en toute sécurité avec Bedrock
Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.