GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal CMS Craft di CentOS 7

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 dbnameusername 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.

CATATANUntuk 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:

  • https://craftcms.com/
  • https://github.com/craftcms/cms
  • https://github.com/nystudio107/nginx-craft

Cent OS
  1. Cara Menginstal PHP 5.5 di CentOS

  2. Cara Menginstal PHP 5.6 di CentOS 7

  3. Cara Menginstal PHP 7.3 di CentOS 8

  1. Cara Menginstal PHP 7, 7.2 &7.3 Pada CentOS 7

  2. Cara Menginstal PHP di CentOS 8

  3. Cara Menginstal CMS Typesetter di CentOS

  1. Cara Menginstal PHP 8 di CentOS 8 / RHEL 8

  2. Cara Menginstal ProcessWire CMS di CentOS 7

  3. Cara Menginstal platform CMS Oktober di CentOS 7