GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengamankan Instalasi WordPress dengan Bedrock – Google Cloud

Cara Mengamankan Instalasi WordPress dengan Bedrock di Google Cloud Platform. Bedrock adalah boilerplate WordPress dengan struktur direktori berbeda yang ditingkatkan dan konfigurasi yang lebih mudah.

Ini lebih aman dengan mengisolasi root web dan membatasi akses ke file non-web dan kata sandi yang lebih aman menggunakan wp-password-becrypt yang menggantikan hashing MD5 dengan metode bcrypt modern.

Dalam panduan ini Anda akan belajar cara menginstal dan mengkonfigurasi WordPress menggunakan Bedrock. Penyiapan ini diuji di Google Cloud Platform.

Prasyarat

  • Jika Anda menggunakan Google Cloud, Anda perlu menyiapkan Instans VM dengan Ubuntu 20.04.
  • Selesaikan penyiapan LAMP dengan Let'sEncrypt SSL

Setelah Anda menyelesaikan prasyarat di atas, Anda dapat melanjutkan ke penyiapan Batuan Dasar.

Instal Komposer

Komposer diperlukan untuk menginstal dan mengkonfigurasi Bedrock. Anda dapat menginstal composer menggunakan perintah berikut.

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

Mengatur WordPress berbasis batuan dasar

Navigasikan direktori root web Anda.

cd /var/www/html/yourpath/public

Unduh WordPress berbasis batuan dasar menggunakan Composer.

sudo composer create-project roots/bedrock .

Perhatikan . di akhir, yang berarti mengatur konten WordPress langsung di dalam folder ini tanpa membuat subdirektori bernama bedrock .

Sekarang jika Anda memeriksa struktur menggunakan ls perintah, Anda akan melihat struktur seperti di bawah ini.

├── 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
  • web direktori adalah root web WordPress Anda.
  • app direktori akan memiliki unggahan, tema, dan plugin Anda.

Dengan struktur direktori ini Anda tidak akan memiliki wp-content dan alih-alih itu Anda akan memiliki app direktori.

File admin Anda akan ditempatkan di dalam wp direktori.

Konfigurasikan Bcrypt untuk Kata Sandi Aman

Instal Bcrypt menggunakan composer untuk mengamankan kata sandi Anda menggunakan bcrypt.

sudo composer require roots/wp-password-bcrypt

Perintah ini akan menyertakan file bernamawp-password-bcrypt.php yang akan otomatis dimuat secara otomatis oleh Composer dan tidak akan muncul di plugin Anda.

Konfigurasikan Apache untuk menggunakan Root Web yang Benar

Sekarang Anda perlu memperbarui Documentroot dan Directory jalur untuk menunjuk ke direktori web.

Edit konfigurasi host virtual Anda dengan perintah di bawah ini.

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

Pastikan file Anda terlihat sama seperti di bawah ini.

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

Tekan CRTL + X diikuti oleh Y dan ENTER untuk menyimpan dan keluar dari file.

Sekarang lakukan hal yang sama untuk virtual host yang memiliki konfigurasi SSL untuk menunjuk ke root web yang benar.

Mulai ulang Apache agar perubahan diterapkan.

sudo service apache2 restart

Buat Basis Data untuk WordPress

Jika Anda sudah memiliki database dan pengguna, Anda dapat melewati untuk mengkonfigurasi .env berkas.

Masuk ke konsol MySQL Anda.

mysql -u root -p

Gunakan sandi yang Anda gunakan saat menyiapkan server.

Jalankan perintah di bawah ini untuk membuat database baru.

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

Buat pengguna baru dan tetapkan ke database yang dibuat di atas.

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

Hak Istimewa Siram.

FLUSH PRIVILEGES;

Sekarang Anda memiliki database, nama pengguna, dan kata sandi baru untuk WordPress Anda.

Konfigurasi WordPress dengan Database

Edit file .env yang terletak di luar root web.

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

Perbarui yang berikut dengan detail yang Anda gunakan sebelumnya.

  • DB_NAME => database_name
  • DB_USER => nama pengguna
  • DB_PASSWORD => kata sandi_aman
  • Batalkan komentar pada DB_HOST dan DB_PREFIX.
  • Ubah DB_PREFIX dengan yang Anda inginkan.

Hasilkan garam menggunakan URL ini (https://roots.io/salts.html) dan ganti kunci di bawah.

Konfigurasikan .htaccess

Sekarang Anda mengonfigurasi file .htaccess atau Anda juga dapat menyegarkan tautan permanen untuk mendapatkan URL yang cantik

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

Tambahkan konfigurasi di bawah ini.

#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

Sekarang Anda dapat memeriksa situs web Anda di browser web dan mengikuti petunjuk di layar untuk menyelesaikan penginstalan.

Kesimpulan

Sekarang Anda telah mempelajari cara menginstal WordPress secara aman dengan Bedrock

Terima kasih atas waktunya. Jika Anda menghadapi masalah atau umpan balik, silakan tinggalkan komentar di bawah.


Linux
  1. Cara Menghapus Akun Pengguna dengan Direktori Rumah di Linux

  2. Cara mengamankan koneksi SSL dengan Apache di Ubuntu 18.04

  3. Bagaimana cara tar file dengan urutan yang diurutkan?

  1. Cara Menyiapkan Cluster Kubernetes di Google Cloud Platform (GCP)

  2. Cara Menginstal EndeavourOS Langkah demi Langkah dengan Tangkapan Layar

  3. Bagaimana Memulai Dengan Server Cloud FreeBSD

  1. Bagaimana mengintegrasikan ONLYOFFICE 9.6 dengan WordPress

  2. Cara membuat Mesin Virtual (VM) di Google Cloud Platform (GCP)

  3. Cara Mengamankan Server Linux dengan SE Linux