Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori un'interfaccia Web semplice e intuitiva per la gestione dei contenuti del database con architetture completamente personalizzate. I CMS tradizionali sono costruiti come piattaforme chiuse specificamente per l'implementazione e la gestione rapida di siti Web, in genere siti e blog semplici. Tuttavia, il contenuto di oggi è consumato da una gamma molto più ampia di applicazioni, tra cui piattaforme web complesse, app native, dispositivi indossabili, chioschi, dispositivi IoT e altri progetti basati sui dati. Directus 6.4 Headless CMS consente di gestire i contenuti indipendentemente dal luogo in cui verranno utilizzati. Disaccoppiando e creando contenuti indipendenti dalle applicazioni,
In questo tutorial installeremo Directus 6.4 CMS su un VPS CentOS 7 LAMP usando il web server Apache, PHP 7.1 e un database MariaDB.
Prerequisiti
- Un'istanza del server Vultr CentOS 7 pulita con accesso SSH
Passaggio 1: aggiungere un utente Sudo
Inizieremo aggiungendo un nuovo sudo
utente.
Innanzitutto, accedi al tuo server come root
:
ssh root@YOUR_VULTR_IP_ADDRESS
Aggiungi un nuovo utente chiamato user1
(o il tuo nome utente preferito):
useradd user1
Successivamente, imposta la password per l' user1
utente:
passwd user1
Quando richiesto, inserire una password sicura e memorabile.
Ora controlla il /etc/sudoers
file per assicurarti che il sudoers
gruppo sia abilitato:
visudo
Cerca una sezione come questa:
%wheel ALL=(ALL) ALL
Questa riga ci dice che gli utenti membri del wheel
gruppo possono usare il sudo
comando per ottenere i root
privilegi. Sarà decommentato di default in modo da poter semplicemente uscire dal file.
Quindi dobbiamo aggiungere user1
al wheel
gruppo:
usermod -aG wheel user1
Possiamo verificare l' user1
appartenenza al gruppo e verificare che il usermod
comando abbia funzionato con il groups
comando:
groups user1
Ora usa il su
comando per passare al nuovo user1
account utente sudo :
su - user1
Il prompt dei comandi verrà aggiornato per indicare che si è ora connessi user1
all'account. Puoi verificarlo con il whoami
comando:
whoami
Ora riavvia il sshd
servizio in modo da poter accedere tramite ssh
il nuovo account utente sudo non root che hai appena creato:
sudo systemctl restart sshd
Esci user1
dall'account:
exit
Esci root
dall'account (che disconnetterà la ssh
sessione):
exit
Ora puoi ssh
accedere all'istanza del server dal tuo host locale usando il nuovo user1
account utente sudo non root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Se vuoi eseguire sudo senza dover digitare una password ogni volta, quindi apri di /etc/sudoers
nuovo il file, usando visudo
:
sudo visudo
Modifica la sezione per il wheel
gruppo in modo che assomigli a questo:
%wheel ALL=(ALL) NOPASSWD: ALL
Nota: la disabilitazione del requisito password per l'utente sudo non è una pratica consigliata, ma è inclusa qui in quanto può rendere la configurazione del server molto più conveniente e meno frustrante, specialmente durante sessioni di amministrazione di sistemi più lunghe. Se sei preoccupato per le implicazioni di sicurezza, puoi sempre ripristinare la modifica della configurazione all'originale dopo aver completato le attività di amministrazione.
Ogni volta che si desidera accedere root
all'account sudo
utente dall'account utente, è possibile utilizzare uno dei seguenti comandi:
sudo -i
sudo su -
Puoi uscire root
dall'account e tornare al tuo sudo
account utente in qualsiasi momento semplicemente digitando:
exit
Passaggio 2: aggiornare il sistema CentOS 7
Prima di installare eventuali pacchetti sull'istanza del server CentOS, aggiorneremo innanzitutto il sistema.
Assicurarsi di aver effettuato l'accesso al server utilizzando un utente sudo non root ed eseguire il comando seguente:
sudo yum -y update
Passaggio 3: installare Apache Web Server
Installa il web server Apache:
sudo yum -y install httpd
Quindi utilizzare il systemctl
comando per avviare e abilitare l'esecuzione automatica di Apache all'avvio:
sudo systemctl enable httpd
sudo systemctl start httpd
Controlla il tuo file di configurazione di Apache per assicurarti che la DocumentRoot
direttiva punti alla directory corretta:
sudo vi /etc/httpd/conf/httpd.conf
L' DocumentRoot
opzione di configurazione sarà simile a questa:
DocumentRoot "/var/www/html"
Ora, assicuriamoci che il mod_rewrite
modulo Apache sia caricato. Possiamo farlo cercando il termine " mod_rewrite
" nel file di configurazione dei moduli base di Apache .
Apri il file:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Cerca il termine mod_rewrite
.
Se il mod_rewrite
modulo Apache è caricato, troverai una linea di configurazione simile a questa:
LoadModule rewrite_module modules/mod_rewrite.so
Se la riga sopra inizia con un punto e virgola, sarà necessario rimuovere il punto e virgola per decommentare la linea e caricare il modulo. Questo, ovviamente, si applica anche a qualsiasi altro modulo Apache richiesto.
Ora dobbiamo modificare il file di configurazione predefinito di Apache in modo che mod_rewrite
funzioni correttamente con Directus CMS.
Apri il file:
sudo vi /etc/httpd/conf/httpd.conf
Quindi trova la sezione che inizia con <Directory "/var/www/html">
e cambia AllowOverride none
in AllowOverride All
. Il risultato finale (con tutti i commenti rimossi) sarà simile a questo:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Ora salva e chiudi il file di configurazione di Apache.
Riavvieremo Apache alla fine di questo tutorial, ma riavviare Apache regolarmente durante l'installazione e la configurazione è sicuramente una buona abitudine, quindi facciamolo ora:
sudo systemctl restart httpd
Passaggio 4: aprire le porte del Web Firewall
Ora abbiamo bisogno di aprire i valori predefiniti HTTP
e le HTTPS
porte poiché saranno bloccati firewalld
per impostazione predefinita.
Apri le porte del firewall:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Ricarica il firewall per applicare le modifiche:
sudo firewall-cmd --reload
Vedrai la parola success
visualizzata nel tuo terminale dopo ogni comando di configurazione del firewall riuscito.
Possiamo verificare rapidamente che la HTTP
porta Apache sia aperta visitando l'indirizzo IP o il dominio dell'istanza del server in un browser:
http://YOUR_VULTR_IP_ADDRESS/
Vedrai la pagina Web predefinita di Apache nel tuo browser.
Step 5: Disabilita SELinux (se abilitato)
SELinux sta per "Security Enhanced Linux". È un miglioramento della sicurezza di Linux che consente a utenti e amministratori un maggiore controllo sul controllo degli accessi. È disabilitato per impostazione predefinita sulle istanze di Vultr CentOS 7, ma tratteremo i passaggi per disabilitarlo, nel caso in cui non si stia iniziando da un'installazione pulita ed è stato precedentemente abilitato.
Per evitare problemi di autorizzazione dei file con Directus CMS, è necessario assicurarsi che SELinux sia disabilitato.
Innanzitutto, controlliamo se SELinux è abilitato o disabilitato con il sestatus
comando:
sudo sestatus
Se vedi qualcosa del genere: SELinux status: disabled
è sicuramente disabilitato e puoi saltare direttamente al punto 6. Se vedi altri messaggi, dovrai completare questa sezione.
Apri il file di configurazione SELinux con il tuo editor terminale preferito:
sudo vi /etc/selinux/config
Passare SELINUX=enforcing
a SELINUX=disabled
e quindi salvare il file.
Per applicare la modifica della configurazione, SELinux richiede un riavvio del server, quindi puoi riavviare il server utilizzando il pannello di controllo Vultr oppure puoi semplicemente usare il shutdown
comando:
sudo shutdown -r now
Al riavvio del server, la sessione SSH verrà disconnessa e potresti visualizzare un messaggio che ti informa su un 'broken pipe'
o 'Connection closed by remote host'
. Non c'è nulla di cui preoccuparsi, attendi semplicemente 20 secondi circa e poi di nuovo SSH (con il tuo nome utente e dominio):
ssh user1@YOUR_DOMAIN
Oppure (con il tuo nome utente e indirizzo IP):
ssh user1@YOUR_VULTR_IP_ADDRESS
Dopo aver effettuato nuovamente l'accesso, è necessario verificare nuovamente lo stato di SELinux con il sestatus
comando per assicurarsi che sia disabilitato correttamente:
sudo sestatus
Dovresti vedere un messaggio che dice SELinux status: disabled
. Se vedi un messaggio che dice SELinux status: enabled
(o qualcosa di simile) dovrai ripetere i passaggi precedenti e assicurarti di riavviare correttamente il tuo server.
Passaggio 6: installa PHP 7.1
CentOS 7 ci richiede di aggiungere un repository esterno per installare PHP 7.1, quindi esegui il seguente comando:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Ora possiamo installare PHP 7.1 insieme a tutti i moduli PHP necessari richiesti da Directus CMS:
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd
Passaggio 7: installare il server MariaDB (MySQL)
CentOS 7 utilizza automaticamente il database server MariaDB, che è un sostituto drop-in avanzato, completamente open source, sviluppato dalla comunità e drop-in per il server MySQL.
Installa il server di database MariaDB:
sudo yum -y install mariadb-server
Avvia e abilita l'esecuzione automatica del server MariaDB all'avvio:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Proteggi l'installazione del tuo server MariaDB:
sudo mysql_secure_installation
La root
password sarà vuota, quindi premi Invio quando ti viene richiesta la root
password.
Quando viene richiesto di creare un utente MariaDB / MySQL root
, selezionare "Y" (per Sì) e quindi immettere una root
password sicura . Rispondi semplicemente a "Y" a tutte le altre domande sì / no poiché i suggerimenti predefiniti sono le opzioni più sicure.
Passaggio 8: Creare il database per Directus CMS
Accedere alla shell MariaDB come root
utente MariaDB eseguendo il comando seguente:
sudo mysql -u root -p
Per accedere al prompt dei comandi di MariaDB, inserire semplicemente la root
password di MariaDB quando richiesto.
Eseguire le seguenti query per creare un database MariaDB e un utente del database per Directus CMS:
CREATE DATABASE directus_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'directus_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON directus_db.* TO 'directus_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Se preferisci, puoi sostituire il nome del database directus_db
e il nome utente directus_user
con qualcosa in più di tuo gradimento. (Si noti che la lunghezza massima predefinita per i nomi utente in MariaDB su CentOS 7 è di 16 caratteri). Inoltre, assicurati di sostituire "UltraSecurePassword" con una password effettivamente sicura.
Passaggio 9: installare i file CMS di Directus
Cambia la tua directory di lavoro corrente nella directory web predefinita:
cd /var/www/html/
Se ricevi un messaggio di errore che dice qualcosa del genere, 'No such file or directory'
prova il seguente comando:
cd /var/www/ ; sudo mkdir html ; cd html
La vostra directory di lavoro corrente sarà ora: /var/www/html/
. Puoi verificarlo con il pwd
comando (print working directory):
pwd
Ora usa wget
per scaricare il pacchetto di installazione di Directus CMS:
sudo wget https://github.com/directus/directus/releases/download/6.4.4/directus-build-6.4.4-20171120114156.zip
Nota: è necessario verificare la versione più recente visitando la pagina di download di Directus CMS .
Elenca la directory corrente per verificare di aver scaricato correttamente il file:
ls -la
Installiamo rapidamente in unzip
modo da poter decomprimere il file:
sudo yum -y install unzip
Ora decomprimi l'archivio zip:
sudo unzip directus-build-6.4.4-20171120114156.zip
Modifica la proprietà dei file Web per evitare problemi con le autorizzazioni:
sudo chown -R apache:apache * ./
Riavvia nuovamente Apache:
sudo systemctl restart httpd
Ora siamo pronti per passare al passaggio finale.
Passaggio 10: installazione completa di Directus CMS
È tempo di visitare l'indirizzo IP dell'istanza del server nel browser o se hai già configurato le impostazioni Vultr DNS (e gli hai concesso abbastanza tempo per propagarsi) puoi semplicemente visitare il tuo dominio.
Per accedere alla pagina di installazione di Directus CMS, inserire l'indirizzo IP dell'istanza Vultr nella barra degli indirizzi del browser, seguito da /installation/index.php
:
http://YOUR_VULTR_IP_ADDRESS/installation/index.php
La maggior parte delle opzioni di installazione sono autoesplicative, ma qui ci sono alcuni suggerimenti per aiutarti:
-
Seleziona la tua lingua e fai clic sul Next
pulsante per continuare.
-
Inserisci Project Name
i dettagli di accesso appropriati e di amministratore come mostrato di seguito:
PROJECT NAME: <project name>
ADMIN EMAIL: <admin email>
ADMIN PASSWORD: <admin password>
Clicca Next
per continuare.
-
Ora inserisci i seguenti valori del database:
DATABASE TYPE: MySQL/Percona
HOST: localhost
PORT: 3306
USER: directus_user
PASSWORD: UltraSecurePassword
DATABASE NAME: directus_db
INITIAL SCHEMA: None Clean Database
Clicca Next
per continuare.
-
Ti verrà presentata una pagina di controllo pre-installazione che mostra le opzioni selezionate e gli eventuali problemi che il programma di installazione potrebbe aver riscontrato. Se vedi un errore con il mod_rewrite
modulo visualizzato come disinstallato o disabilitato, quando lo hai effettivamente installato e abilitato, puoi semplicemente ignorare l'avviso poiché tutto funzionerà perfettamente.
Dopo aver risolto eventuali problemi importanti e aver verificato che tutto funzioni correttamente, è sufficiente fare clic su Install
per completare l'installazione.
Una volta completata l'installazione, verrai reindirizzato alla pagina di accesso dell'amministratore. Se non si viene reindirizzati, è possibile inserire manualmente l'indirizzo di accesso dell'amministratore:
http://YOUR_VULTR_IP_ADDRESS/login.php
Per motivi di sicurezza, assicurati di eliminare la /installation/
directory dalla directory webroot:
sudo rm -rf ./installation/
Ora sei pronto per iniziare ad aggiungere i tuoi contenuti e configurare il tuo Headless CMS per lavorare con le tue varie app. Assicurati di consultare l'eccellente documentazione di Directus CMS per ulteriori informazioni su come configurare Directus CMS e collegarlo a diverse app e framework.