Anchor adalah CMS blog open source ringan yang ditulis dalam PHP. Kode sumber Anchor dihosting di GitHub. Dalam tutorial ini, kita akan menginstal CMS Anchor menggunakan PHP, Nginx, MariaDB, dan Composer di sistem Fedora 29.
Persyaratan
Pastikan sistem Anda memenuhi persyaratan berikut.
- MySQL 5.6 atau lebih tinggi (disarankan MySQL 5.7).
- PHP 5.6 atau lebih tinggi dengan ekstensi PHP berikut:(
curl,
mcrypt,
gd,
mbstring,
pdo_mysql
ataupdo_sqlite
). - Apache atau Nginx. Dalam tutorial ini, kita akan menggunakan Nginx.
Prasyarat
- Sistem operasi Fedora 29.
- A non-root pengguna dengan
sudo
hak istimewa.
Langkah awal
Periksa versi sistem 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-upgrade || sudo dnf upgrade -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:
sudo dnf install -y vim wget curl git socat unzip bash-completion
Langkah 1 - Instal PHP
Anchor CMS memerlukan PHP versi 5.6 atau yang lebih baru.
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-mysql php-sqlite3 php-gd php-mcrypt php-dom
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 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 CMS Jangkar
Anchor mendukung database MySQL/MariaDB dan SQLite. Dalam tutorial ini, kita akan menggunakan MariaDB sebagai server database.
Instal MariaDB:
sudo dnf install -y mariadb-server
Periksa versi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.2.19-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 semua pertanyaan seperti yang ditunjukkan di bawah ini:
Enter current password for root (enter for none):
Set root password? [Y/n]: Y
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
Masuk ke shell MariaDB sebagai root pengguna:
mysql -u root -p
# Enter password
Buat database dan pengguna MariaDB yang akan Anda gunakan untuk instalasi Anchor CMS Anda, dan ingat kredensialnya:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Keluar dari shell MariaDB:
exit
Ganti dbname
, username
dan password
dengan nama Anda sendiri.
Langkah 3 - Instal klien Acme.sh 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 ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging
tandai ke 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
Pasang/salin sertifikat ke /etc/letsencrypt
direktori.
# 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 dan konfigurasikan NGINX
Instal server web NGINX:
sudo dnf install -y nginx
Periksa versi NGINX:
nginx -v
# nginx version: nginx/1.14.2
Mulai dan aktifkan layanan NGINX:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Jalankan sudo vim /etc/nginx/conf.d/anchor.conf
dan isi file dengan konfigurasi berikut:
server { listen 80;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/status.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com/private.key;
ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/private.key; server_name example.com; root /var/www/anchor; index index.php index.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Uji konfigurasi NGINX:
sudo nginx -t
Muat ulang NGINX:
sudo systemctl reload nginx.service
Langkah 5 - Unduh dan instal Komposer
Agar berhasil menginstal Anchor, kita perlu menginstal Composer, manajer ketergantungan untuk aplikasi PHP:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Periksa versi Komposer.
composer --version
# Composer version 1.8.4 2019-02-11 10:52:10
Langkah 6 - Download dan instal CMS Jangkar
Buat direktori root dokumen tempat Anchor seharusnya berada:
sudo mkdir -p /var/www/anchor
Ubah kepemilikan /var/www/limesurvey
direktori ke {jour_user}:
sudo chown -R {your_user}:{your_user} /var/www/anchor
CATATAN : Ganti {jour_user}
dengan nama pengguna pengguna non-root yang pertama kali Anda buat.
Arahkan ke direktori root dokumen:
cd /var/www/anchor
Download rilis terbaru Anchor CMS menggunakan Composer:
composer create-project anchorcms/anchor-cms .
Ubah kepemilikan /var/www/anchor
direktori ke nginx:
sudo chown -R nginx:nginx /var/www/anchor
Buat direktori/var/lib/php/session
dan setel kepemilikan ke nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php
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
Langkah 7 - Selesaikan penyiapan CMS Jangkar
Buka browser web Anda dan ketik URL "http://example.com" . Anda akan diarahkan ke halaman berikut:
Klik "Jalankan penginstal" tombol, untuk memulai penginstal web Anchor CMS. Setelah itu, halaman bahasa dan zona waktu akan muncul:
Pilih setelan yang Anda inginkan dan klik "Langkah Berikutnya" tombol untuk melanjutkan ke halaman konfigurasi database:
Masukkan detail basis data Anda, dan klik "Langkah Berikutnya" tombol untuk melanjutkan ke halaman konfigurasi metadata situs:
Anda dapat menetapkan nama situs atau deskripsi situs di sini, atau membiarkan default dan mengubahnya nanti melalui antarmuka backend Anchor. Klik "Langkah Berikutnya" tombol untuk langkah selanjutnya yaitu menyetel akun pertama Anda:
Setelah menyiapkan akun pertama Anda, klik "Selesai" tombol untuk menyelesaikan proses penginstalan.
Setelah Anda menyelesaikan penginstalan, pastikan untuk menghapus install
folder untuk tujuan keamanan.
sudo rm -rf /var/www/anchor/install
Tautan
- https://anchorcms.com/
- https://github.com/anchorcms/anchor-cms