GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sécuriser l'installation de WordPress avec Bedrock - Google Cloud

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 web répertoire est la racine Web de votre WordPress.
  • Le app ré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.


Linux
  1. Comment supprimer des comptes d'utilisateurs avec le répertoire personnel sous Linux

  2. Comment configurer le cluster Kubernetes sur Google Cloud Platform (GCP)

  3. Comment démarrer avec un serveur cloud FreeBSD

  4. Comment sécuriser une connexion SSL avec Apache sur Ubuntu 18.04

  5. Comment tarer les fichiers avec un ordre trié ?

Comment installer WordPress avec EasyEngine sur Ubuntu 20.04

Comment déployer WordPress sur Jelastic Cloud

Comment sécuriser un pare-feu Linux avec les règles IPTables

Comment sécuriser SSH avec Fail2Ban

Comment se connecter avec Samba à Linux Active Directory

Comment installer et configurer WordPress avec Ansible