PyroCMS adalah CMS dan platform pengembangan open source, canggih, modular, dan dibangun dengan Laravel 5, yang memungkinkan Anda membangun situs web dan aplikasi Laravel yang lebih baik dengan lebih cepat.
Dalam tutorial ini, kami akan memandu Anda melalui proses instalasi PyroCMS 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 Mari Enkripsi otoritas sertifikat untuk menambahkan dukungan SSL.
Persyaratan
Untuk menginstal PyroCMS, pastikan sistem Anda memenuhi persyaratan berikut:
- Setidaknya 1GB RAM atau Swap dikonfigurasi
- PHP versi 7.0 atau yang lebih baru dengan ekstensi PDO, cURL, SQLite, OpenSSL, Mbstring, Fileinfo, Tokenizer, GD PHP.
- MariaDB
- NGINX
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
Unduh dan instal PHP 7.0 dan ekstensi PHP yang diperlukan:
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-mysql php7.0-curl php7.0-sqlite3 php7.0-mbstring php7.0-gd php7.0-xml
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 PyroCMS
Instal MariaDB:
sudo apt install -y mariadb-server
Periksa versi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.1.37-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 PyroCMS, 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.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 menginginkan sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging
tandai ke perintah di atas.
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"
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.
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 PyroCMS
Instal server web NGINX:
sudo apt install -y nginx
Periksa versi NGINX:
sudo nginx -v
# nginx version: nginx/1.10.3
Konfigurasikan NGINX untuk PyroCMS dengan menjalankan:
sudo vim /etc/nginx/sites-available/pyro.conf
Dan isi file dengan konfigurasi berikut:
server {
listen 80;
listen 443 ssl;
server_name example.com;
index index.php index.html;
root /var/www/pyro/public;
location / {
try_files $uri $uri/ /index.php?$args;
}
rewrite ^/(.*)/$ /$1 permanent;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Aktifkan pyro.conf
baru konfigurasi dengan menautkan file ke sites-enabled
direktori.
sudo ln -s /etc/nginx/sites-available/pyro.conf /etc/nginx/sites-enabled
Periksa konfigurasi NGINX untuk mengetahui kesalahan sintaks:
sudo nginx -t
Muat ulang layanan 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
Langkah 6 - Instal PyroCMS
Buat direktori root dokumen tempat PyroCMS seharusnya berada:
sudo mkdir -p /var/www/pyro
Ubah kepemilikan /var/www/pyro
direktori ke [your_user]:
sudo chown -R [your_user]:[your_user] /var/www/pyro
Arahkan ke root dokumen:
cd /var/www/pyro
Download rilis stabil terbaru PyroCMS melalui composer
:
composer create-project pyrocms/pyrocms .
Ubah kepemilikan /var/www/pyro
direktori ke www-data
.
sudo chown -R www-data:www-data /var/www/pyro
Langkah 7 - Selesaikan penyiapan PyroCMS
Akses situs Anda di browser web melalui nama domain atau alamat IP dan ikuti wizard penginstalan web PyroCMS.
Setelah Anda mengisi semua informasi yang diperlukan, penginstalan PyroCMS Anda selesai.
Tautan
- https://pyrocms.com/
- https://github.com/pyrocms/pyrocms