Anchor è un CMS per blog open source leggero scritto in PHP. Il codice sorgente di Anchor è ospitato su GitHub. In questo tutorial, installeremo Anchor CMS utilizzando PHP, Nginx, MariaDB e Composer sul sistema Fedora 29.
Requisiti
Assicurati che il tuo sistema soddisfi i seguenti requisiti.
- MySQL 5.6 o versioni successive (consigliato MySQL 5.7).
- PHP 5.6 o versioni successive con le seguenti estensioni PHP:(
curl,
mcrypt,
gd,
mbstring,
pdo_mysql
opdo_sqlite
). - Apache o Nginx. In questo tutorial useremo Nginx.
Prerequisiti
- Sistema operativo Fedora 29.
- Un non root utente con
sudo
privilegi.
Passaggi iniziali
Controlla la tua versione del 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 check-upgrade || sudo dnf upgrade -y
Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Fedora:
sudo dnf install -y vim wget curl git socat unzip bash-completion
Passaggio 1 - Installa PHP
Anchor CMS richiede PHP versione 5.6 o successiva.
Installa PHP e le estensioni PHP necessarie:
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-mysql php-sqlite3 php-gd php-mcrypt php-dom
Per mostrare PHP compilato nei moduli, puoi eseguire:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Controlla la versione PHP:
php --version
# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 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 Anchor CMS
Anchor supporta i database MySQL/MariaDB e SQLite. In questo tutorial, utilizzeremo MariaDB come server di database.
Installa MariaDB:
sudo dnf install -y mariadb-server
Controlla la versione di MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.2.19-MariaDB, for Linux (x86_64) using readline 5.1
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 tutte le domande come mostrato di seguito:
Enter current password for root (enter for none):
Set root password? [Y/n]: Y
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 alla shell di MariaDB come utente root:
mysql -u root -p
# Enter password
Crea un database e un utente MariaDB che utilizzerai per l'installazione di Anchor CMS e ricorda le credenziali:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Esci dalla shell di MariaDB:
quit
Sostituisci dbname
, username
e password
con i tuoi nomi.
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 il certificato TLS da Let's Encrypt utilizzeremo il client acme.sh. Acme.sh è un puro software shell UNIX per ottenere certificati TLS 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 vuoi certificati falsi per i test puoi aggiungere --staging
segnala ai comandi precedenti.
Dopo aver eseguito i comandi precedenti, i tuoi certificati e chiavi sarà in:
- Per RSA :
/home/username/example.com
directory. - Per ECC/ECDSA :
/home/username/example.com_ecc
directory.
Per elencare i certificati emessi puoi eseguire:
acme.sh --list
Crea una directory in cui archiviare i tuoi certificati. Useremo il /etc/letsencrypt
directory.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installa/copia i certificati su /etc/letsencrypt
directory.
# 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"
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 e configura NGINX
Installa il server web NGINX:
sudo dnf install -y nginx
Controlla la versione di NGINX:
nginx -v
# nginx version: nginx/1.14.2
Avvia e abilita il servizio NGINX:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Esegui sudo vim /etc/nginx/conf.d/anchor.conf
e popolare il file con la seguente configurazione:
server { listen 80;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/status.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com/private.key;
ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/private.key; server_name example.com; root /var/www/anchor; index index.php index.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Prova la configurazione di NGINX:
sudo nginx -t
Ricarica NGINX:
sudo systemctl reload nginx.service
Passaggio 5:scarica e installa Composer
Per installare correttamente Anchor, dovremo installare Composer, il gestore delle dipendenze per le applicazioni PHP:
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
Controlla la versione del compositore.
composer --version
# Composer version 1.8.4 2019-02-11 10:52:10
Passaggio 6:scarica e installa Anchor CMS
Crea una directory principale del documento in cui deve risiedere Anchor:
sudo mkdir -p /var/www/anchor
Modifica la proprietà del /var/www/limesurvey
directory in {jour_user}:
sudo chown -R {your_user}:{your_user} /var/www/anchor
NOTA : Sostituisci {jour_user}
con il tuo nome utente utente non root creato inizialmente.
Vai alla directory principale del documento:
cd /var/www/anchor
Scarica l'ultima versione di Anchor CMS utilizzando Composer:
composer create-project anchorcms/anchor-cms .
Modifica la proprietà del /var/www/anchor
directory in nginx:
sudo chown -R nginx:nginx /var/www/anchor
Crea la directory/var/lib/php/session
e imposta la proprietà su nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php
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 7:completa la configurazione di Anchor CMS
Apri il browser web e digita l'URL "http://example.com" . Verrai reindirizzato alla seguente pagina:
Fai clic su "Esegui il programma di installazione" pulsante, per avviare il programma di installazione web di Anchor CMS. Dopo, dovrebbe apparire la pagina della lingua e del fuso orario:
Seleziona le impostazioni desiderate e fai clic su "Passaggio successivo" pulsante per procedere alla pagina di configurazione del database:
Inserisci i dettagli del tuo database e fai clic su "Passo successivo" pulsante per procedere alla pagina di configurazione dei metadati del sito:
Puoi impostare il nome o la descrizione del sito qui oppure lasciare le impostazioni predefinite e modificarle in un secondo momento tramite l'interfaccia back-end di Anchor. Fai clic su "Passo successivo" pulsante per il passaggio successivo che è l'impostazione del tuo primo account:
Dopo aver impostato il tuo primo account, fai clic su "Completa" per completare il processo di installazione.
Una volta completata l'installazione, assicurati di eliminare install
cartella per motivi di sicurezza.
sudo rm -rf /var/www/anchor/install
Link
- https://anchorcms.com/
- https://github.com/anchorcms/anchor-cms