Bolt adalah CMS yang canggih, ringan, dan sederhana yang dibuat dengan PHP. Ini dirilis di bawah lisensi MIT open source dan kode sumber dihosting sebagai repositori publik di Github. Bolt adalah alat untuk Manajemen Konten, yang berusaha sesederhana dan sesederhana mungkin. Ini cepat diatur, mudah dikonfigurasi, menggunakan template yang elegan. Bolt dibuat menggunakan pustaka sumber terbuka modern dan paling cocok untuk membangun situs dalam HTML5 dengan markup modern. Dalam tutorial ini, kita akan melakukan penginstalan Bolt CMS pada sistem Fedora 29 dengan menggunakan Nginx sebagai server web, MariaDB sebagai server database, dan secara opsional Anda dapat mengamankan lapisan transport dengan menggunakan klien acme.sh dan Let's Encrypt certificate authority untuk menambahkan Dukungan SSL.
Persyaratan
Persyaratan sistem untuk Bolt sederhana, dan harus berjalan di server web yang cukup modern:
- PHP versi 5.5.9 atau lebih tinggi dengan ekstensi PHP umum berikut:pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.
- Akses ke SQLite (yang disertakan dengan PHP), atau MySQL atau PostgreSQL.
- Apache dengan
mod_rewrite
diaktifkan (.htaccess
file) atau Nginx (konfigurasi host virtual dibahas di bawah). - Minimal 32MB memori yang dialokasikan untuk PHP.
Prasyarat
- Sistem operasi yang menjalankan Fedora 29.
- Pengguna non-root dengan hak istimewa sudo.
Langkah awal
Periksa versi Fedora Anda:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Siapkan zona waktu:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru untuk paket perangkat lunak default sistem operasi Anda:
sudo dnf check-update; sudo dnf update -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:
sudo dnf install -y curl wget vim git unzip socat bash-completion
Langkah 1 - Instal PHP dan ekstensi PHP yang diperlukan
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-zip php-pgsql php-sqlite3 php-curl php-gd php-mysqlnd php-intl php-json php-opcache php-xml php-process
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.2.14 (cli) (built: Jan 8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies
Mulai dan aktifkan layanan PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.
Langkah 2 - Instal MariaDB dan buat database untuk Bolt CMS
Bolt CMS mendukung database MySQL, MariaDB, dan PostgreSQL. Dalam tutorial ini, kita akan menggunakan MariaDB sebagai server database.
Instal server database MariaDB:
sudo dnf install -y mariadb-server
Periksa versi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1
Mulai dan aktifkan layanan MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Jalankan mysql_secure installation
skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root
pengguna:
sudo mysql_secure_installation
Jawab setiap pertanyaan:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Hubungkan ke Shell MariaDB sebagai pengguna root:
sudo mysql -u root -p
# Enter password
Buat database MariaDB dan pengguna kosong untuk Bolt CMS dan ingat kredensialnya:
MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
Keluar dari MariaDB:
MariaDB> exit
Ganti dbname
, username
dan password
dengan nama Anda sendiri.
Langkah 3 - Instal acme.sh
klien dan dapatkan sertifikat Let's Encrypt (opsional )
Mengamankan situs web Anda dengan HTTPS tidak diperlukan, tetapi ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat TLS dari Let's Encrypt, kami akan menggunakan klien acme.sh. Acme.sh adalah software shell unix murni untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.
Unduh dan instal acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Periksa versi acme.sh :
acme.sh --version
# v2.8.1
Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Jika Anda menginginkan sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging
tandai perintah di atas.
Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:
- Untuk RSA :
/home/username/example.com
direktori. - Untuk ECC/ECDSA :
/home/username/example.com_ecc
direktori.
Untuk membuat daftar sertifikat yang dikeluarkan, Anda dapat menjalankan:
acme.sh --list
Buat direktori untuk menyimpan sertifikat Anda. Kami akan menggunakan /etc/letsencrypt
direktori.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Instal/salin sertifikat ke direktori /etc/letsencrypt.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
Semua sertifikat akan diperpanjang secara otomatis setiap 60 hari.
Setelah mendapatkan sertifikat keluar dari pengguna root dan kembali ke pengguna sudo normal:
exit
Langkah 4 - Instal NGINX dan konfigurasikan NGINX untuk Bolt CMS
Bolt CMS dapat berfungsi dengan baik dengan banyak software server web populer. Dalam tutorial ini, kami memilih Nginx. Jika Anda lebih suka server web Apache daripada Nginx, lihat https://docs.bolt.cm/3.6/installation/webserver/apache untuk mempelajari lebih lanjut.
Download dan instal Nginx dari repositori Fedora:
sudo dnf install -y nginx
Periksa versi Nginx:
nginx -v
# nginx version: nginx/1.14.1
Mulai dan aktifkan layanan Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurasi Nginx untuk Bolt CMS dengan menjalankan:
sudo vim /etc/nginx/conf.d/bolt.conf
Dan isi file dengan konfigurasi berikut:
server {
listen 80;
listen 443 ssl http2;
server_name example.com;
root /var/www/bolt/public;
index index.php;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /bolt {
try_files $uri /index.php?$query_string;
}
location ^~ /bolt/ {
try_files $uri /index.php?$query_string;
}
location ~ /index.php/(.*) {
rewrite ^/index.php/(.*) /$1 permanent;
}
location ~ /\. { deny all; }
location ~ /\.(htaccess|htpasswd)$ { deny all; }
location ~ /\.(?:db)$ { deny all; }
location ~* /(.*)\.(?:markdown|md|twig|yaml|yml)$ { deny all; }
location ~ [^/]\.php(/|$) {
include default.d/php.conf;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_param HTTPS $https if_not_empty;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
}
CATATAN : Untuk konfigurasi Nginx yang lengkap dan siap produksi untuk CMS Bolt, lihat https://docs.bolt.cm/3.6/installation/webserver/nginx.
Periksa konfigurasi Nginx untuk kesalahan sintaks:
sudo nginx -t
Muat ulang layanan Nginx:
sudo systemctl reload nginx.service
Langkah 5 - Pasang CMS Baut
Buat /var/www
direktori:
sudo mkdir -p /var/www/
Buka /var/www
direktori:
cd /var/www/
Unduh rilis terbaru Bolt CMS melalui wget dan unzip:
sudo wget https://bolt.cm/distribution/bolt-latest.zip && sudo unzip bolt-latest.zip
Hapus bolt-latest.zip
yang diunduh berkas:
sudo rm bolt-latest.zip
Ganti nama direktori bolt-v3.6.4 menjadi hanya bolt:
sudo mv bolt-v3.6.4 bolt
Ubah direktori ke root dokumen:
cd /var/www/bolt
Untuk menyelesaikan penginstalan, Anda perlu mengganti nama file berikut:
sudo mv .bolt.yml.dist .bolt.yml
sudo mv composer.json.dist composer.json
sudo mv composer.lock.dist composer.lock
sudo mv src/Site/CustomisationExtension.php.dist src/Site/CustomisationExtension.php
Berikan kepemilikan yang sesuai:
sudo chown -R nginx:nginx /var/www/bolt
Jalankan sudo vim /etc/php-fpm.d/www.conf
dan setel pengguna dan grup ke nginx
. Awalnya, mereka akan disetel ke apache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Mulai ulang layanan PHP-FPM:
sudo systemctl restart php-fpm.service
Navigasikan ke folder tempat Anda mengupload Bolt CMS di browser web dan ikuti petunjuk di layar.
Langkah 6 - Selesaikan Pemasangan dan Penyiapan Bolt CMS
Setelah membuka situs Anda di browser web, Anda akan diarahkan ke halaman berikut:
Isi informasi yang diperlukan untuk membuat pengguna dan klik "Buat pengguna pertama" tombol untuk melanjutkan. Setelah itu antarmuka admin Bolt CMS akan muncul:
Instalasi Bolt CMS sekarang selesai. Untuk mengakses Bolt CMS admin tambahkan /bolt
ke IP atau domain situs Anda.
Tautan
- https://bolt.cm/
- https://github.com/bolt/bolt