Craft adalah CMS open source yang ditulis dalam PHP. Craft memungkinkan Anda membuat dan mengelola konten yang tampak hebat dengan mudah, serta merancang dan membangun apa yang Anda butuhkan. Ini adalah CMS yang aman dan skalabel dengan ekosistem plugin besar dan kode sumber Craft dihosting di GitHub. Tutorial ini akan memandu Anda melalui prosedur penginstalan Craft CMS pada sistem CentOS baru menggunakan Nginx sebagai server web dan kami akan mengamankan situs web dengan sertifikat SSL Let's encrypt.
Persyaratan
Kerajinan membutuhkan yang berikut:
- PHP versi 7.0 atau lebih tinggi dengan ekstensi PHP berikut:(ctype, cURL, GD atau ImageMagick, iconv, JSON, Multibyte String, OpenSSL, PCRE, PDO MySQL Driver atau PDO Driver PostgreSQL, PDO, Reflection, SPL, Zip, Internasional, DOM)
- MySQL 5.5+ dengan InnoDB, MariaDB 5.5+, atau PostgreSQL 9.5+
- Setidaknya 256MB memori dialokasikan untuk PHP
- Setidaknya 200MB ruang disk kosong
Prasyarat
- Sistem operasi yang menjalankan CentOS 7.
- Pengguna non-root dengan hak istimewa sudo.
Langkah awal
Periksa versi CentOS Anda:
cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)
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 yum update -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi CentOS:
sudo yum install -y curl wget vim git unzip socat
Langkah 1 - Instal PHP dan ekstensi PHP yang diperlukan
Siapkan repo Webtatic YUM:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-pecl-imagick php72w-json php72w-mbstring php72w-mysql php72w-pgsql php72w-zip php72w-intl php72w-xml php72w-pdo
Periksa versi PHP:
php --version
# PHP 7.2.13 (cli) (built: Dec 6 2018 23:18:37) ( 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
Jalankan sudo vim /etc/php.ini
dan setel memory_limit
setidaknya 256MB
:
memory_limit = 256M
Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.
Langkah 2- Instal MariaDB dan buat database
Craft CMS mendukung database MySQL/MariaDB dan PostgreSQL. Dalam tutorial ini, kita akan menggunakan MariaDB sebagai server database.
Instal server database MariaDB:
sudo yum install -y mariadb-server
Periksa versi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
Memulai dan mengaktifkan 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:
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 dan pengguna MariaDB kosong untuk Craft 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 mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Periksa versi Acme.sh :
/etc/letsencrypt/acme.sh --version
# v2.8.0
Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:
- Untuk RSA :
/etc/letsencrypt/example.com
direktori. - Untuk ECC/ECDSA :
/etc/letsencrypt/example.com_ecc
direktori.
Langkah 4 - Instal dan Konfigurasi Nginx
Craft CMS dapat bekerja dengan baik dengan banyak perangkat lunak server web populer. Dalam tutorial ini, kami memilih Nginx.
Unduh dan instal rilis arus utama Nginx terbaru dari repositori resmi Nginx.
Untuk memeriksa tanda tangan, Anda perlu mendownload kunci penandatanganan Nginx dan mengimpornya ke rpm
keyring program:
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
Untuk menyiapkan repositori yum untuk CentOS, buat file bernama /etc/yum.repos.d/nginx_mainline.repo
dengan isi sebagai berikut:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=1 enabled=1
Instal paket Nginx arus utama terbaru:
sudo yum install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Mulai dan aktifkan layanan Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Periksa versi Nginx:
nginx -v
# nginx version: nginx/1.15.8
Konfigurasikan Nginx untuk CMS Kerajinan dengan menjalankan:
sudo vim /etc/nginx/conf.d/craft.conf
Dan isi file dengan konfigurasi berikut:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
root /var/www/craft/web;
index index.php;
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
location / {
try_files $uri/index.html $uri $uri/ /index.php?$query_string;
}
location ~ [^/]\.php(/|$) {
try_files $uri $uri/ /index.php?$query_string;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTP_PROXY "";
}
}
Ganti example.com dengan nama domain Anda sendiri pada file di atas.
CATATAN : Untuk konfigurasi Nginx yang lengkap dan siap produksi untuk Craft, kunjungi https://github.com/nystudio107/nginx-craft. Konfigurasi sengaja disederhanakan agar konfigurasi tetap padat dan sederhana.
Uji konfigurasi Nginx:
sudo nginx -t
Muat ulang Nginx:
sudo systemctl reload nginx.service
Langkah 5 - Instal Komposer
Instal Composer, pengelola ketergantungan PHP secara global:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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.0 2018-12-03 10:31:16
CATATAN: Perintah penginstalan komposer akan berubah di masa mendatang, jadi periksa https://getcomposer.org/download/ untuk perintah terbaru jika perintah di atas tidak berfungsi.
Langkah 6 - Instal CMS Craft
Craft CMS dapat diunduh dengan Composer atau dengan mengunduh secara manual .zip
atau tar.gz
arsip. Dalam tutorial ini kita akan menggunakan Composer untuk mendownload Craft CMS.
Buat direktori root dokumen tempat CMS Kerajinan harus berada:
sudo mkdir -p /var/www/craft
Arahkan ke direktori root dokumen:
cd /var/www/craft
Ubah kepemilikan /var/www/craft
direktori ke {your_username}.
sudo chown -R {your_username}:{your_username} /var/www/craft
Untuk membuat proyek Kerajinan baru, jalankan perintah ini:
composer create-project craftcms/craft .
Ubah kepemilikan /var/www/craft
direktori ke nginx:
sudo chown -R nginx:nginx /var/www/craft
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
Buat /var/lib/php/session/
direktori dan ubah kepemilikan menjadi nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session
Di browser web Anda, buka http://<Hostname>/index.php?p=admin/install
(menggantikan <Hostname>
dengan nama host server web Anda). Jika Anda telah melakukan semuanya dengan benar sejauh ini, Anda akan disambut oleh Wizard Penyiapan Craft.
Langkah 7 - Selesaikan penyiapan CMS Craft
Setelah membuka URL instalasi Anda, halaman seperti di bawah ini akan muncul. Klik "Instal Kerajinan" tombol:
Terima lisensi dengan mengklik "Mengerti" tombol:
Isi detail database dan klik "Berikutnya" tombol:
Buat akun Craft dan klik "Berikutnya" tombol:
Siapkan situs Anda dan klik "Selesaikan" tombol:
Setelah ini Anda akan diarahkan ke halaman admin Craft:
Tautan
- https://craftcms.com/
- https://github.com/craftcms/cms
- https://github.com/nystudio107/nginx-craft