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.