Pico adalah CMS file datar open-source sederhana dan cepat yang ditulis dalam PHP. Ini berarti tidak ada backend administrasi dan database yang harus ditangani. Anda cukup membuat file .md di folder konten dan itu menjadi halaman. Pico menggunakan mesin templating Twig, untuk tema yang kuat dan fleksibel. Kode sumber Pico tersedia di Github. Dalam tutorial ini, kita akan menginstal Pico CMS dengan Nginx di sistem CentOS 7.
Persyaratan
Persyaratan untuk menjalankan Pico adalah:
- Nginx
- PHP versi 5.3.6 atau lebih baru
- Komposer
Prasyarat
- Sistem operasi CentOS 7 .
- Pengguna non-root dengan
sudo
hak istimewa .
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 bash-completion epel-release
Langkah 1 - Instal PHP
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-json php72w-zip php72w-xml php72w-mbstring
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.2.19 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies
Mulai dan aktifkan layanan PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Langkah 2 - Instal acme.sh
klien dan dapatkan sertifikat Let's Encrypt (opsional )
Mengamankan forum Anda dengan HTTPS tidak diperlukan, tetapi merupakan 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 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.2
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 ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging
tandai perintah di atas.
Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:
- Untuk RSA :
/home/username/example.com
direktori. - Untuk ECC/ECDSA :
/home/username/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/letsecnrypt/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 3 - Instal dan konfigurasikan NGINX
Download dan instal Nginx dari repositori CentOS:
sudo yum install -y nginx
Periksa versi Nginx:
nginx -v
# nginx version: nginx/1.12.2
Mulai dan aktifkan layanan Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurasikan NGINX untuk Pico CMS dengan menjalankan:
sudo vim /etc/nginx/conf.d/pico.conf
Dan isi file dengan konfigurasi berikut:
server {
listen 80;
listen 443 ssl;
server_name example.com;
root /var/www/pico;
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;
index index.php;
location ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) {
deny all;
}
location / {
index index.php;
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param PICO_URL_REWRITING 1;
}
}
Periksa konfigurasi NGINX untuk kesalahan sintaks:
sudo nginx -t
Muat ulang layanan NGINX:
sudo systemctl reload nginx.service
Langkah 4 - 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') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { 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.9.0 2019-08-02 20:55:32
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 5 - Instal Pico CMS
Buat direktori root dokumen untuk Pico CMS:
sudo mkdir -p /var/www/pico
Ubah kepemilikan /var/www/pico
direktori ke your_username
yang seharusnya Anda buat sebelumnya dan Anda harus masuk sebagai pengguna ini.
sudo chown -R your_username:your_username /var/www/pico
CATATAN: Jangan lupa ganti nama_penggunaAnda dengan nama yang telah Anda pilih.
Arahkan ke direktori root dokumen:
cd /var/www/pico
Unduh Pico dengan komposer:
composer create-project picocms/pico-composer .
Berikan kepemilikan yang sesuai:
sudo chown -R nginx:nginx /var/www/pico
Jalankan sudo vim /etc/php-fpm.d/www.conf
dan atur pengguna dan grup ke nginx
. Awalnya, mereka akan diatur ke apache.
Jalankan:
sudo vim /etc/php-fpm.d/www.conf
Dan atur pengguna dan grup ke nginx, seperti di bawah ini:
user = nginx
group = nginx
Dan terakhir, mulai ulang layanan PHP-FPM agar perubahan ini diterapkan:
sudo systemctl restart php-fpm.service
Anda telah berhasil menginstal Pico CMS di server CentOS 7. Anda sekarang dapat dengan mudah membuat folder konten Anda sendiri di direktori root Pico, membuat file .md di direktori konten dan file-file itu menjadi halaman Anda.
Tautan
- http://picoms.org/
- https://github.com/picoms/Pico