GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Pico CMS dengan Nginx di Debian 10

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 pada sistem Debian 10 (buster).

Persyaratan

Persyaratan untuk menjalankan Pico adalah:

  • Nginx
  • PHP versi 5.3.6 atau lebih baru
  • Komposer

Prasyarat

  • Sistem operasi Debian 10 (buster).
  • Pengguna non-root dengan sudo hak istimewa.

Langkah awal

Periksa versi Debian Anda:

lsb_release -ds
# Debian GNU/Linux 10 (buster)

Siapkan zona waktu:

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

sudo apt update && sudo apt upgrade -y

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

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

Langkah 1 - Instal PHP

Instal PHP, serta ekstensi PHP yang diperlukan:

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

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP:

php --version

# PHP 7.3.4-2 (cli) (built: Apr 13 2019 19:05:48) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

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

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 kita akan menggunakan acme.sh client. 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.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 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 biasa:

exit

Langkah 3 - Instal dan konfigurasikan NGINX

Instal NGINX:

sudo apt install -y nginx

Periksa versi NGINX:

sudo nginx -v
# nginx version: nginx/1.14.2

Selanjutnya, konfigurasikan NGINX untuk Pico CMS. Jalankan sudo vim /etc/nginx/sites-available/pico.conf dan tambahkan 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 unix:/var/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PICO_URL_REWRITING 1; } }

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

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

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.8.6 2019-06-11 15:03:05

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

sudo chown -R [your_username]:[your_username] /var/www/pico

Ganti [nama_pengguna_anda] pada perintah di atas dengan nama pengguna pengguna Linux yang saat ini Anda masuki.

Kemudian navigasikan ke direktori root dokumen:

cd /var/www/pico

Unduh Pico dengan komposer:

composer create-project picocms/pico-composer .

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

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

Anda telah berhasil menginstal Pico CMS pada sistem Debian 10 (buster). 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

Debian
  1. Cara Menginstal CMS Plone 4 di Debian Wheezy dengan Nginx

  2. Cara Menginstal Ghost di Debian dengan Nginx

  3. Cara menginstal DokuWiki di Debian Wheezy dengan Nginx

  1. Cara Menginstal Phorum dengan Nginx di Debian 9

  2. Cara Menginstal HTTP Git Server dengan Nginx di Debian 11

  3. Cara Menginstal WordPress dengan Nginx di Debian 10

  1. Cara Menginstal CMS Textpattern dengan Nginx di Debian 10

  2. Cara menginstal FuelPHP dengan Nginx di Debian 8 VPS

  3. Cara Menginstal WonderCMS dengan Nginx di Debian 11