chrome_reader_mode

Metti in mostra la tua personalizzazione Linux help_outline Maggiori informazioni

linux/hub √® molto pi√Ļ di quel che vedi! info_outline Leggi le intenzioni

ūüĒß #howto - Installare Anchor CMS su Centos 7 (Nginx o Apache)

Scritto da Mirko Brombin il Lun, 01/07/2019 - 14:48
In questa pagina
  • Caricamento..

Spesso si utilizza un CMS per abitudine o perchè è migliore di altri per detto dire di altra gente. Anchor CMS è una piattaforma di blogging facile da installare, versatile nell'uso ed estremamente leggera, siccome per nulla esoso di risorse.

Anchor CMS è scritto in php e trova il consenso in chi cerca qualcosa di semplice ma potente per il proprio sito web.

In questa guida andiamo a vedere come è possibile installare Anchor CMS in Centos 7 con Nginx o Apache.

Requisiti

Per prima cosa dobbiamo accertarci di soddisfare i requisiti per l'installazione. Ecco di seguito la lista direttamente dalla documentazione ufficiale di Anchor CMS:

  • Un Web server (Nginx o Apache)
  • PHP 5.6 o maggiore
    • curl
    • mcrypt
    • gd
    • php-mbstring
    • pdo_mysql o pdo_sqlite
  • Un Database server MySQL (MySQL o MariaDB)

Anchor CMS offre una documentazione completa ed esaustiva, una volta terminata la nostra guida vi consiglio di proseguire la lettura dei testi ufficiali.

Documentazione ufficiale

Installazione di php-fpm

Come dicevamo, Anchor CMS è scritto prevalentemente in php, quindi uno dei requisiti fondamentali. Per questa guida ho scelto php-fpm, un interprete particolarmente veloce e pronto all'uso. Procediamo quindi all'installazione come da prassi:

sudo yum install php php-fpm

Procediamo poi con l'installazione di alcuni moduli che estendono la compatibilità di php:

sudo yum install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-mysql php-opcache

Infine avviamo il processo ed abilitiamo l'auto esecuzione all'avvio del server:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Configurazione dominio

Il dominio sarà la maschera d'accesso (la base del link) da cui vogliamo raggiungere la nostra installazione. Un esempio è proprio questo sito web, raggiungibile appunto da: linuxhub.it.

Una volta scelto e acquistato il nostro dominio, procediamo con la configurazione dei DNS.

Per una miglior fruibilità dei contenuti, la guida su come puntare un dominio ad un IP è disponibile a questo link.

Preparazione Web server

Questa sezione della guida si suddivide in due parti, ossia la configurazione di un Web server (Nginx o Apache, in base alla vostra scelta).

Di seguito sono riportate le guide su come installare uno due Web server (Nginx e Apache). Una volta scelto seguite l'installazione con la guida appropriata, infine procedete con la sezione: Configurazione Web server.

Installazione Nginx

Fra le scelte questa √® per me la migliore. Se lo scopo del nostro sito web √® quello dei grandi numeri in termini di traffico, Nginx √® in grado di gestire con facilit√† grossi carichi, inoltre¬†la sua struttura asincrona gli permette di gestire pi√Ļ eficientemente richieste multiple, occupando la RAM per meno tempo rispetto Apache.

Per una miglior fruibilità dei contenuti, la guida su come installare Nginx su Centos 7 è disponibile a questo link.

Installazione Apache

Per una miglior fruibilità dei contenuti, la guida su come installare Apache su Centos 7 è disponibile a questo link.

Configurazione Web server

Una volta installato il Web server, possiamo procedere con lo step successivo, la configurazione.

Configurazione Nginx

Per prima cosa creiamo una locazione per i file di installazione:

mkdir -p /usr/share/nginx/il_mio_dominio_ex

dove il_mio_dominio_ex è il nome del nostro dominio. Non è indispensabile che il nome della cartella ed il dominio siano uguali ma lo consiglio per una migliore gestione.

Procediamo con la configurazione dei permessi:

chowh nginx:nginx /usr/share/nginx/il_mio_domionio_ex
chmod 775 /usr/share/nginx/il_mio_domionio_ex

In questa fase andiamo a creare un blocco server su Nginx per la nostra installazione di Anchor CMS. Portiamoci alla locazione /etc/nginx/conf.d/default.conf e cerchiamo la sezione server{..} predefinita. Una volta indentificata aggiungiamo subito sotto la nostra come di seguito:

server {
    listen       80;
    server_name  il_mio_dominio.ex www.il_mio_dominio.ex;

    root   /usr/share/nginx/il_mio_dominio_ex;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

dove:

  • il_mio_dominio.ex¬†- √® ovviamente il dominio in nostro possesso che vogliamo dedicare al nuovo sito web
  • /usr/share/nginx/html/il_mio_dominio_ex¬†- √® il percorso creato precedentemente dove andremo a posizionare i file di installazione

Procediamo con la modifica di alcune impostazioni di php-fpm necessarie con Nginx. Andiamo ad aprire il file di configurazione nella locazione /etc/php-fpm.d/www.conf, cerchiamo la voce listen e modifichiamo come di seguito:

listen = /var/run/php-fpm/php-fpm.sock

portiamoci poi alle voci listen.owner e listen.group rendendole:

listen.owner = nobody
listen.group = nobody

infine cerchiamo le voci user e group ed adattiamole come di seguito:

user = nginx
group = nginx

Non ci resta che riavviare i processi:

sudo systemctl restart php-fpm nginx

Configurazione Apache

Creiamo ora una posizione da usare successivamente nell'installazione. Creiamo la directory:

mkdir -p /var/www/il_mio_dominio_ex

dove il_mio_dominio_ex è il nome del nostro dominio. Non è indispensabile che il nome della cartella e quello del dominio siano uguali ma lo consiglio per una migliore gestione.

Impostiamo i permessi alla nuova locazione:

chowh apache:apache /var/www/il_mio_domionio_ex
chmod 775 /var/www/il_mio_domionio_ex

Andiamo ora a creare la configurazione Apache per il nostro sito web. Creiamo quindi il file alla locazione /etc/httpd/vhosts.d/il_mio_dominio.ex.conf (dove il_mio_dominio.ex è il nome del dominio da cui faremo accesso al sito web) col seguente contenuto:

<VirtualHost localhost:80>
ServerAdmin [email protected]_mio_dominio.ex
DocumentRoot "/var/www/html/il_mio_dominio_ex/"
ServerName il_mio_dominio.ex
ServerAlias www.il_mio_dominio.ex
ErrorLog "/var/log/httpd/il_mio_dominio.ex-error_log"
CustomLog "/var/log/httpd/il_mio_dominio.ex-access_log" combined

<Directory "/var/www/html/il_mio_dominio_ex/">
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

dove:

  • il_mio_dominio.ex¬†- √® ovviamente il dominio in nostro possesso che vogliamo dedicare al nuovo sito web
  • /usr/share/nginx/html/il_mio_dominio_ex¬†- √® il percorso creato precedentemente

Andiamo ora a modificare alcune configurazioni per istruire Apache ad usare php-fpm per la gestione delle richieste php. Creiamo un nuovo file di configurazione alla locazione /etc/httpd/conf.d/php.conf col seguente contenuto:

<Proxy "unix:/var/run/php-fpm/default.sock|fcgi://php-fpm">
    	ProxySet disablereuse=off
</Proxy>

<FilesMatch \.php$>
	SetHandler proxy:fcgi://php-fpm
</FilesMatch>

#
# Allow php to handle Multiviews
#
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

Portiamoci al file /etc/php-fpm.d/www.conf e cerchiamo la voce listen modificandola come di seguito:

listen = /var/run/php-fpm/default.sock

modifichiamo poi le seguenti voci:

listen.owner = apache
listen.group = apache
listen.mode = 0660
user = apache
group = apache

Riavviamo infine i processi con:

systemctl restart php-fpm httpd

Installazione e configurazione di MariaDB

Procediamo ora con l'installazione del Database server, ossia di mariadb e mariadb-server:

sudo yum install mariadb-server mariadb

ed avviamo poi il processo con systemctl:

sudo systemctl start mariadb

Per quanto riguarda la configurazione, viene in nostro soccorso il wizard mysql, una installazione guidata di mysql, digitiamo quindi:

sudo mysql_secure_installation

e seguiamo le istruzioni a schermo, ricordando di annotare la password una volta fornita poichè ci servirà nella fase di installazione.

Di seguito le scelte che consiglio nella fase di installazione guidata di mysql:

  • Set root password? Si
  • Remove¬†anonymous users? Si
  • Disallow root login remotely? Si

Creazione del database

In questa sezione andiamo a creare un database che useremo poi in fase di installazione di Anchor CMS.

Facciamo accesso alla console mysql digitando quindi:

mysql -u root -p

ci verrà chiesta la password inserita in fase di configurazione di mysql, inseriamola e creiamo il nuovo database:

CREATE DATABASE il_mio_dominio;

dove il_mio_dominio sarà il nome del database. Creiamo ora l'utente, digitiamo la query:

CREATE USER [email protected] IDENTIFIED BY 'la_mia_password';

dove:

  • il_mio_user - √® il nome utente con cui faremo accesso al database
  • la_mia_password - √® la password del nostro utente

diamo ora i permessi di accesso al nostro utente con la seguente query:

GRANT ALL PRIVILEGES ON il_mio_dominio.* TO [email protected];
FLUSH PRIVILEGES;

chiudiamo infine la console:

exit

Installazione di Anchor CMS:

Eccoci alla fase finale, la vera e propria installazione di Anchor CMS.

Per questa fase utilizzeremo git per clonare i file di installazione dalla repository GitHub di Anchor CMS. Otteniamo quindi una copia dei file di installazione:

cd /il_mio_dominio_ex
git clone https://github.com/anchorcms/anchor-cms.git
mv /il_mio_dominio_ex/anchor-cms/* /il_mio_dominio_ex/

dove: /il_mio_dominio_ex è la directory che abbiamo precedentemente configurato per la nostra installazione.

Impostiamo i permessi per content e admin/config:

chmod -R 775 content admin/config

Visitiamo ora il nostro dominio e proseguiamo con l'installazione guidata da browser.

Good¬†*nixÔĽŅ
 - Mirko

Etichette