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_mysqlopdo_sqlite). - Apache o Nginx. In questo tutorial useremo Nginx.
Prerequisiti
- Sistema operativo Fedora 29.
- Un non root utente con
sudoprivilegi.
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.comdirectory. - Per ECC/ECDSA :
/home/username/example.com_eccdirectory.
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.comsudo 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