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 yang besar dan kode sumber Craft dihosting di GitHub. Tutorial ini akan memandu Anda melalui prosedur pemasangan Craft CMS pada sistem Fedora 29 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 Fedora 29.
- Pengguna non-root dengan hak istimewa sudo.
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 upgrade -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:
sudo dnf install -y curl wget vim git sudo 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-curl php-gd php-pecl-imagick php-json php-mbstring php-mysqlnd php-pgsql php-zip php-intl php-xml php-pdo
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.2.16 (cli) (built: Mar 5 2019 11:05:59) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Jalankan sudo vim /etc/php.ini
dan setel memory_limit
setidaknya 256MB
:
memory_limit = 256M
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
Craft 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.12-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 Konfigurasikan NGINX
Craft CMS dapat bekerja dengan baik dengan banyak software server web populer. Dalam tutorial ini, kami memilih 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
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(/|$) {
include default.d/php.conf;
try_files $uri $uri/ /index.php?$query_string;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/www.sock;
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') === '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
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
Mulai ulang layanan PHP-FPM:
sudo systemctl restart php-fpm.service
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