Pagekit è un CMS open source (licenza MIT) moderno, intuitivo, modulare e flessibile costruito con componenti Symfony e Vue.js. Ti dà gli strumenti per creare bellissimi siti web. Ha un ricco sistema di temi e plugin.
In questo tutorial, ti guideremo attraverso il processo di installazione di Pagekit CMS su un sistema operativo Fedora 29 utilizzando NGINX come server Web, MariaDB come server di database e, facoltativamente, puoi proteggere il livello di trasporto utilizzando acme.sh client e Let's Encrypt autorità di certificazione per aggiungere il supporto SSL.
Requisiti
Per installare Pagekit, assicurati che il tuo server soddisfi i seguenti requisiti:
- Apache versione 2.2 o successiva o server web NGINX.
- MySQL versione 5.1 o successiva o SQLite 3.
- Versione PHP 5.5.9 o successiva.
- Estensioni PHP richieste:JSON, Session, ctype, Tokenizer, SimpleXML, DOM, mbstring, PCRE 8.0+, ZIP e PDO con driver MySQL o SQLite.
- Estensioni PHP opzionali:cURL, iconv e XML Parser, nonché APC o XCache per la memorizzazione nella cache.
Prerequisiti
- Un sistema che esegue Fedora 29.
- Un utente non root con privilegi sudo.
Passaggi iniziali
Controlla la versione del tuo sistema Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Imposta il fuso orario:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:
sudo dnf upgrade -y
Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Fedora:
sudo dnf install -y curl wget vim git sudo unzip socat bash-completion
Passaggio 1:installa PHP e le estensioni PHP necessarie
La piattaforma CMS di Pagekit richiede PHP versione 7.0 o successiva. Fedora 29 contiene la versione PHP 7.2 nel suo repository predefinito.
Scarica e installa PHP e le estensioni PHP richieste:
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-zip php-mysqlnd php-sqlite3 php-curl php-xml php-json
Per mostrare PHP compilato nei moduli, puoi eseguire:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Controlla la versione PHP:
php --version
# PHP 7.2.14 (cli) (built: Jan 8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies
Avvia e abilita il servizio PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Possiamo passare al passaggio successivo, che è l'installazione e la configurazione del database.
Passaggio 2:installa MariaDB e crea un database per Pagekit
Pagekit CMS supporta i database MySQL, MariaDB e SQLite. In questo tutorial, useremo MariaDB come server di database.
Installa server di database MariaDB:
sudo dnf install -y mariadb-server
Controlla la versione di MariaDB:
mysql --version
Avvia e abilita il servizio MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Esegui mysql_secure installation
script per migliorare la sicurezza di MariaDB e impostare la password per MariaDB root
utente:
sudo mysql_secure_installation
Rispondi a ciascuna delle domande:
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
Accedi a MariaDB come utente root:
sudo mysql -u root -p
# Enter password
Crea un database e un utente MariaDB che utilizzerai per l'installazione di Pagekit e ricorda le credenziali:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Esci dalla shell di MariaDB:
quit
Fase 3:installa il client Acme.sh e ottieni il certificato Let's Encrypt (opzionale)
Proteggere il tuo sito web con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere un certificato SSL da Let's Encrypt utilizzeremo il client Acme.sh. Acme.sh è un puro software shell UNIX per ottenere certificati SSL da Let's Encrypt con zero dipendenze.
Scarica e installa 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 ~
Controlla la versione di acme.sh:
acme.sh --version
# v2.8.1
Ottieni RSA e ECC/ECDSA certificati per il tuo dominio/nome host:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Se desideri certificati falsi per i test, puoi aggiungere --staging
segnala ai comandi precedenti.
Per elencare i certificati emessi puoi eseguire:
acme.sh --list
Crea una directory in cui archiviare i tuoi certificati. Useremo /etc/letsencrypt
directory.
mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installa/copia i certificati nella directory /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"
Dopo aver eseguito i comandi precedenti, i tuoi certificati e chiavi sarà in:
- Per RSA : /etc/letsencrypt
/example.com
directory. - Per ECC/ECDSA : /etc/letsencrypt
/example.com_ecc
directory.
Tutti i certificati verranno rinnovati automaticamente ogni 60 giorni.
Dopo aver ottenuto i certificati, esci dall'utente root e torna al normale utente sudo:
exit
Passaggio 4:installa NGINX e configura NGINX per Pagekit
Installa server web NGINX:
sudo dnf install -y nginx
Controlla la versione di NGINX:
nginx -v
# nginx version: nginx/1.14.1
Avvia e abilita il servizio Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Configura NGINX per Pagekit eseguendo:
sudo vim /etc/nginx/conf.d/pagekit.conf
E popolare il file con la seguente configurazione:
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/pagekit;
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 default.d/php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
}
Controlla la configurazione di NGINX per errori di sintassi:
sudo nginx -t
Ricarica il servizio NGINX :
sudo systemctl reload nginx.service
Passaggio 5:scarica e installa Pagekit CMS
Crea una directory principale del documento in cui dovrebbe risiedere Pagekit:
sudo mkdir -p /var/www/pagekit
Modifica la proprietà del /var/www/pagekit
directory in [your_user]:
sudo chown -R [your_user]:[your_user] /var/www/pagekit
Vai alla radice del documento:
cd /var/www/pagekit
Scarica l'ultima versione stabile di Pagekit CMS tramite wget
:
wget https://github.com/pagekit/pagekit/releases/download/1.0.16/pagekit-1.0.16.zip
Decomprimi il contenuto del CMS di Pagekit e rimuovi il .zip
scaricato file.
unzip pagekit-1.0.16.zip
rm pagekit-1.0.16.zip
Fornisci la proprietà appropriata:
sudo chown -R nginx:nginx /var/www/pagekit
Esegui sudo vim /etc/php-fpm.d/www.conf
e imposta l'utente e il gruppo su nginx
. Inizialmente, verranno impostati su apache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Riavvia il servizio PHP-FPM:
sudo systemctl restart php-fpm.service
Passaggio 6:completa la configurazione del kit di pagine
Apri il tuo sito in un browser web e dovresti vedere la seguente pagina:
Fai clic sull'icona della freccia destra per procedere con l'installazione. Scegli la tua lingua e fai clic sul pulsante "Avanti":
Quindi, scegli il tuo database SQLite o MySQL e compila i campi richiesti e fai clic sul pulsante "Avanti":
Dopodiché, imposta il tuo sito inserendo il titolo del sito e creando un account utente amministratore:
E questo dovrebbe essere tutto. Verrai reindirizzato alla pagina di accesso di Pagekit. Fornisci il tuo nome utente e password per accedere alla dashboard di Pagekit.
È tutto. Se sei bloccato, controlla i documenti ufficiali di Pagekit.
Link
- https://pagekit.com/
- https://github.com/pagekit/pagekit