GNU/Linux >> Linux Esercitazione >  >> Linux

Come proteggere l'installazione di WordPress con Bedrock – Google Cloud

Come proteggere l'installazione di WordPress con Bedrock su Google Cloud Platform. Bedrock è un boilerplate di WordPress con una diversa struttura di directory migliorata e una configurazione più semplice.

È più sicuro isolando la radice Web e limitando l'accesso a file non Web e password più sicure utilizzando wp-password-becrypt che sostituisce l'hashing MD5 con il moderno metodo bcrypt.

In questa guida imparerai come installare e configurare WordPress utilizzando Bedrock. Questa configurazione è stata testata su Google Cloud Platform.

Prerequisiti

  • Se sei su Google Cloud devi configurare un'istanza VM con Ubuntu 20.04.
  • Completa la configurazione della LAMP con Let'sEncrypt SSL

Una volta completati i prerequisiti di cui sopra, puoi procedere alla configurazione di Bedrock.

Installa il compositore

Composer è necessario per installare e configurare Bedrock. Puoi installare il compositore usando il seguente comando.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Imposta WordPress basato su Bedrock

Naviga nella tua directory principale web.

cd /var/www/html/yourpath/public

Scarica WordPress basato su Bedrock usando Composer.

sudo composer create-project roots/bedrock .

Nota il . alla fine, il che significa configurare i contenuti di WordPress direttamente all'interno di questa cartella senza creare una sottodirectory denominata bedrock .

Ora se controlli la struttura usando ls comando, vedrai la struttura come di seguito.

├── 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
  • Il web directory è la radice web del tuo WordPress.
  • Il app directory conterrà i tuoi caricamenti, temi e plug-in.

Con questa struttura di directory non avrai wp-content e invece avrai app directory.

I tuoi file di amministrazione si troveranno all'interno di wp directory.

Configura Bcrypt per password sicura

Installa Bcrypt usando il compositore per proteggere le tue password usando bcrypt.

sudo composer require roots/wp-password-bcrypt

Questo comando includerà un file chiamatowp-password-bcrypt.php che verrà caricato automaticamente da Composer e non apparirà nei tuoi plug-in.

Configura Apache per utilizzare la radice Web corretta

Ora devi aggiornare il Documentroot e Directory percorsi per puntare alla directory web.

Modifica la configurazione del tuo host virtuale con il comando seguente.

sudo nano /etc/apache2/sites-available/domainname.conf

Assicurati che il tuo file abbia lo stesso aspetto di seguito.

<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>

Premi CRTL + X seguito da Y e ENTER per salvare ed uscire dal file.

Ora fai lo stesso per l'host virtuale che ha la configurazione SSL in modo che punti alla radice web corretta.

Riavvia Apache per rendere effettive le modifiche.

sudo service apache2 restart

Crea database per WordPress

Se hai già database e utente puoi saltare per configurare .env file.

Accedi alla tua console MySQL.

mysql -u root -p

Usa la password che hai utilizzato durante la configurazione del server.

Esegui il comando seguente per creare un nuovo database.

CREATE DATABASE database_name /*\!40100 DEFAULT CHARACTER SET utf8mb4 */;

Crea un nuovo utente e assegnalo al database sopra creato.

CREATE USER 'username'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

Privilegi di lavaggio.

FLUSH PRIVILEGES;

Ora hai un nuovo database, nome utente e password per il tuo WordPress.

Configura WordPress con il database

Modifica il file .env che si trova all'esterno della radice web.

sudo nano /var/www/html/yourpath/public/.env

Aggiorna quanto segue con i dettagli che hai utilizzato in precedenza.

  • DB_NAME => database_name
  • DB_USER => nome utente
  • DB_PASSWORD => password_sicura
  • Decommenta DB_HOST e DB_PREFIX.
  • Modifica il DB_PREFIX con quello che desideri.

Genera sali utilizzando questo URL (https://roots.io/salts.html) e sostituisci le chiavi di seguito.

Configura .htaccess

Ora configuri il file .htaccess o puoi anche aggiornare i permalink per avere degli URL graziosi

sudo nano /var/www/html/yourpath/public/web/.htaccess

Aggiungi la configurazione seguente.

#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

Ora puoi controllare il tuo sito web sul browser web e seguire le istruzioni sullo schermo per completare l'installazione.

Conclusione

Ora hai imparato come installare WordPress in modo sicuro con Bedrock

Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.


Linux
  1. Come eliminare gli account utente con Home Directory in Linux

  2. Come configurare il cluster Kubernetes su Google Cloud Platform (GCP)

  3. Come iniziare con un server cloud FreeBSD

  4. Come proteggere una connessione SSL con Apache su Ubuntu 18.04

  5. Come tarare i file con un ordine ordinato?

Come installare WordPress con EasyEngine su Ubuntu 20.04

Come distribuire WordPress su Jelastic Cloud

Come proteggere un firewall Linux con le regole IPtables

Come proteggere SSH con Fail2Ban

Come connettersi con Samba a Linux Active Directory

Come installare e configurare WordPress con Ansible