GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal platform CMS Oktober di Debian 9

October CMS adalah platform CMS gratis, open source, dan dihosting sendiri berdasarkan Laravel PHP Framework. Kode sumber CMS Oktober dihosting di Github. Dalam tutorial ini, kami akan memandu Anda melalui proses instalasi CMS Oktober pada sistem operasi Debian 9 (stretch) 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

Sebelum melanjutkan, Anda harus memeriksa apakah server Anda memenuhi persyaratan sistem minimum. CMS Oktober memiliki persyaratan server berikut untuk hosting web:

  • PHP versi 7.0 atau lebih tinggi
  • Ekstensi PDO PHP
  • Ekstensi PHP cURL
  • Ekstensi PHP OpenSSL
  • Perpustakaan PHP Mbstring
  • Zip PHP Library
  • Perpustakaan GD PHP
  • Ekstensi XML PHP
  • Ekstensi PHP JSON
  • Apache dengan mod_rewrite  atau NGINX
  • Server database (MariaDB, MySQL, PostgreSQL)

Prasyarat

  • Sistem yang menjalankan Debian 9 (peregangan).
  • Pengguna non-root dengan hak istimewa sudo.

Langkah awal

Periksa versi sistem Debian Anda:

lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)

Siapkan zona waktu:

dpkg-reconfigure tzdata

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:

apt update && apt upgrade -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Debian:

apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https

Langkah 1 - Instal PHP dan ekstensi PHP yang diperlukan

Platform CMS Oktober membutuhkan PHP versi 7.0 atau lebih tinggi. Secara default Debian 9 memiliki PHP versi 7.0 dalam repositori perangkat lunak default yang baik untuk CMS Oktober.

Instal PHP, serta ekstensi PHP yang diperlukan:

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0-gd php7.0-xml php7.0-mbstring 

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP:

php --version

# PHP 7.0.33-0+deb9u1 (cli) (built: Dec  7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot pada sistem Debian 9, jadi tidak perlu memulai dan mengaktifkannya secara manual. Kita bisa melanjutkan ke langkah berikutnya, yaitu instalasi dan setup database.

Langkah 2 - Instal MariaDB dan buat database untuk Oktober

Oktober mendukung database MySQL/MariaDB, PostgreSQL, SQLite, dan SQL. Tim Debian mengganti MySQL dengan MariaDB sebagai database default dari Debian 9 (stretch), jadi dalam tutorial ini, kita akan menggunakan MariaDB sebagai server database. Jika Anda ingin menginstal MySQL asli, Anda dapat menambahkan dan menggunakan repositori MySQL resmi yang dikelola oleh Oracle.

Instal server database MariaDB dari repo MariaDB resmi:

sudo apt install -y software-properties-common dirmngr apt-transport-https
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server

Periksa versi MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Jalankan mysql_secure installation skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root pengguna:

sudo mysql_secure_installation

Jawab setiap pertanyaan:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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

Masuk ke MariaDB sebagai pengguna root:

sudo mysql -u root -p
# Enter password

Buat database dan pengguna MariaDB yang akan Anda gunakan untuk instalasi bulan Oktober, dan ingat kredensialnya:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Keluar dari shell MariaDB:

exit

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 SSL dari Let's Encrypt kami akan menggunakan klien Acme.sh. Acme.sh adalah perangkat lunak shell UNIX murni untuk mendapatkan sertifikat SSL 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.0

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 ke perintah di atas.

Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:

  • Untuk RSA~/example.com direktori.
  • Untuk ECC/ECDSA~/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/letsencrypt/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 Oktober

Instal server web NGINX:

sudo apt install -y nginx

Periksa versi NGINX:

sudo nginx -v
# nginx version: nginx/1.10.3

Konfigurasikan NGINX untuk Oktober dengan menjalankan:

sudo vim /etc/nginx/sites-available/october.conf

Dan isi file dengan konfigurasi berikut:

server {
listen [::]:443 ssl http2;
listen 443 ssl http2; listen [::]:80; listen 80; server_name example.com; index index.php index.html; root /var/www/october;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
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 ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_read_timeout 120s;
}

location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; } }

Aktifkan october.conf baru konfigurasi dengan menautkan file ke sites-enabled direktori.

sudo ln -s /etc/nginx/sites-available/october.conf /etc/nginx/sites-enabled

Periksa konfigurasi NGINX untuk kesalahan sintaks:

sudo nginx -t

Muat ulang layanan NGINX:

sudo systemctl reload nginx.service

Langkah 5 - Unduh dan instal platform CMS Oktober

Buat direktori root dokumen:

sudo mkdir -p /var/www/october

Ubah kepemilikan /var/www/october direktori ke [your_user]:

sudo chown -R [your_user]:[your_user] /var/www/october

Arahkan ke root dokumen:

cd /var/www/october

Unduh penginstal CMS Oktober:

wget https://octobercms.com/download -O october.zip

Buka zip penginstal CMS Oktober:

unzip october.zip
rm october.zip
mv install-master/* .

Ubah kepemilikan /var/www/october direktori ke www-data:

sudo chown -R www-data:www-data /var/www/october

Navigasikan ke install.php skrip di browser web Anda, seperti example.com/install.php dan ikuti petunjuk penginstalan.

Langkah 6 - Selesaikan penyiapan bulan Oktober

Pastikan Pemeriksaan Sistem Anda baik-baik saja, dan lanjutkan dengan menekan "Setuju & Lanjutkan tombol ".

Konfigurasikan database dan setelan pengguna admin Anda.

Anda juga dapat mengonfigurasi beberapa setelan lanjutan atau membiarkan nilai default.

Dan akhirnya ketika semuanya sudah dikonfigurasi tekan biru "Lanjutkan tombol ".

Selanjutnya, Anda akan ditanya "Bagaimana Anda ingin menyiapkan situs Anda? ". Anda akan memiliki 3 opsi: Mulai dari awalMulai dari sebuah temaGunakan ID proyek . Pilih opsi pilihan Anda.

Untuk mengakses area administrasi platform CMS Oktober, cukup tambahkan /backend ke URL/IP Anda.

Setelah penginstalan, untuk alasan keamanan Anda harus menghapus file penginstalan, install.php skrip dan install_files direktori:

sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files

Tautan

  • https://octobercms.com/
  • https://github.com/octobercms/october

Debian
  1. Cara Menginstal PHP 8.0 di Debian 11

  2. Cara Menginstal PHP di Debian 11

  3. Cara Menginstal CMS Subrion di VPS Debian 8

  1. Cara Menginstal PHP 8.0 di Debian 10 / Debian 9

  2. Cara Menginstal PHP di Debian 10 (Buster)

  3. Cara Menginstal PHP di Debian 10 Buster

  1. Cara Menginstal PHP 7.4 di Debian 10

  2. Cara Menginstal PHP 8 di Debian 10

  3. Cara Menginstal PHP 7.3 di Debian 9