Backdrop CMS 1.8.0 è un sistema di gestione dei contenuti (CMS) semplice e flessibile, ottimizzato per dispositivi mobili, gratuito e open source che consente ai web designer di progettare bellissimi siti Web senza alcuna conoscenza dei linguaggi di programmazione web. Backdrop CMS 1.8.0 offre un controllo degli accessi avanzato, un'API solida, un'installazione aggiuntiva integrata ed è progettato tenendo conto delle migliori pratiche di sicurezza Web.
In questo tutorial installeremo Backdrop CMS 1.8.0 su un VPS Fedora 26 LAMP usando il web server Apache, PHP 7.1 e un database MariaDB.
Prerequisiti
- Un'istanza del server Vultr Fedora 26 pulita con accesso SSH
Passaggio 1: aggiungere un utente Sudo
Inizieremo aggiungendo un nuovo sudoutente.
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' user1utente:
passwd user1
Quando richiesto, inserire una password sicura e memorabile.
Ora controlla il /etc/sudoersfile per assicurarti che il sudoersgruppo sia abilitato:
visudo
Cerca una sezione come questa:
%wheel ALL=(ALL) ALL
Assicurati che sia senza commenti. Questa riga ci dice che gli utenti membri del wheelgruppo possono usare il sudocomando per ottenere i rootprivilegi.
Dopo aver modificato il file, è possibile salvare ed uscire premendo Esce quindi entrando :wqper "scrivere" e "chiudere" il file.
Quindi dobbiamo aggiungere user1al wheelgruppo:
usermod -aG wheel user1
Possiamo verificare l' user1appartenenza al gruppo e verificare che il usermodcomando abbia funzionato con il groupscomando:
groups user1
Ora usa il sucomando per passare al nuovo user1account utente sudo :
su - user1
Il prompt dei comandi verrà aggiornato per indicare che si è ora connessi user1all'account. Puoi verificarlo con il whoamicomando:
whoami
Ora riavvia il sshdservizio in modo da poter accedere tramite sshil nuovo account utente sudo non root che hai appena creato:
sudo systemctl restart sshd
Esci user1dall'account:
exit
Esci rootdall'account (che disconnetterà la sshsessione)
exit
Ora puoi sshaccedere all'istanza del server dal tuo host locale usando il nuovo user1account 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/sudoersnuovo il file, usando visudo:
sudo visudo
Modifica la sezione per il wheelgruppo 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 rootall'account sudoutente dall'account utente, è possibile utilizzare uno dei seguenti comandi:
sudo -i
sudo su -
Puoi uscire rootdall'account e tornare al tuo sudoaccount utente in qualsiasi momento semplicemente digitando:
exit
Step 2: Aggiorna Fedora 26 System
Prima di installare i pacchetti sull'istanza del server Fedora, aggiorneremo il sistema.
Assicurarsi di aver effettuato l'accesso al server utilizzando un utente sudo non root ed eseguire il comando seguente:
sudo dnf -y update
Passaggio 3: installare Apache Web Server
Installa il web server Apache:
sudo dnf -y install httpd
Quindi utilizzare il systemctlcomando 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 DocumentRootdirettiva punti alla directory corretta:
sudo vi /etc/httpd/conf/httpd.conf
L' DocumentRootopzione di configurazione dovrebbe apparire così:
DocumentRoot "/var/www/html"
Ora, assicuriamoci che il mod_rewritemodulo 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_rewritemodulo 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 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 HTTPe le HTTPSporte poiché saranno bloccati firewalldper 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 successvisualizzata nel tuo terminale dopo ogni comando di configurazione del firewall riuscito.
Possiamo verificare rapidamente che la HTTPporta 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.
Passaggio 5: disabilitare SELinux
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. È abilitato di default in Fedora 26, ma sicuramente non è essenziale per la sicurezza del server poiché molte distribuzioni di server Linux non vengono installate o abilitate di default.
Per evitare problemi di autorizzazione dei file con Backdrop CMS più avanti, per ora disabiliteremo SELinux. Quindi apri il file di configurazione SELinux con il tuo editor di terminali preferito:
sudo vi /etc/selinux/config
Passare SELINUX=enforcinga SELINUX=disabled, 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 shutdowncomando per spegnere e riavviare in modo pulito il server:
sudo shutdown -r now
Al riavvio del server, la sessione SSH verrà disconnessa e potresti visualizzare un messaggio che ti 'broken pipe'informa o ti informa '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 lo stato di SELinux con il sestatuscomando per assicurarsi che sia disabilitato correttamente:
sudo sestatus
Vedrai 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
Ora possiamo installare PHP 7.1 insieme a tutti i moduli PHP necessari richiesti da Backdrop CMS:
sudo dnf -y install php php-mysqlnd php-mbstring php-gd php-common php-pdo
Passaggio 7: installare il server MariaDB (MySQL)
Per impostazione predefinita, Fedora 26 utilizza il server di database MariaDB, che è un sostituto drop-in avanzato, completamente open source, sviluppato dalla comunità, per il server MySQL.
Installa il server di database MariaDB:
sudo dnf -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 rootpassword sarà probabilmente vuota, quindi premi semplicemente " Enter" quando ti viene richiesta la rootpassword.
Quando viene richiesto di creare un utente MariaDB / MySQL root, selezionare " Y" (per Sì), quindi inserire una rootpassword sicura . Rispondi semplicemente " Y" a tutte le altre domande sì / no poiché i suggerimenti predefiniti sono le opzioni più sicure.
Passaggio 8: Creare il database per CMS sullo sfondo
Accedere alla shell MariaDB come rootutente MariaDB eseguendo il comando seguente:
sudo mysql -u root -p
Per accedere al prompt dei comandi di MariaDB, inserire semplicemente la rootpassword di MariaDB quando richiesto.
Eseguire le seguenti query per creare un database MariaDB e un utente del database per CMS sullo sfondo:
CREATE DATABASE backdrop_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'backdrop_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON backdrop_db.* TO 'backdrop_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Se preferisci, puoi sostituire il nome del database backdrop_dbe il nome utente backdrop_usercon qualcosa in più di tuo gradimento. Inoltre, assicurati di sostituire " UltraSecurePassword" con una password effettivamente protetta.
Passaggio 9: installare i file CMS sullo sfondo
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 dovrebbe essere: /var/www/html/. Puoi verificarlo con il pwdcomando (print working directory):
pwd
Ora usa wgetper scaricare il pacchetto di installazione di CMS Backdrop:
sudo wget https://github.com/backdrop/backdrop/releases/download/1.8.0/backdrop.zip
Nota: è necessario verificare la versione più recente visitando la pagina di download di CMS sullo sfondo .
Elenca la directory corrente per verificare di aver scaricato correttamente il file:
ls -la
Installiamo rapidamente in unzipmodo da poter decomprimere il file:
sudo dnf -y install unzip
Ora decomprimi l'archivio zip:
sudo unzip backdrop.zip
Spostare tutti i file di installazione nella directory principale Web:
sudo mv backdrop/* /var/www/html
Modifica la proprietà dei file Web per evitare problemi con le autorizzazioni:
sudo chown -R apache:apache *
Riavviamo nuovamente Apache:
sudo systemctl restart httpd
Ora siamo pronti per passare al passaggio finale.
Passaggio 10: installazione completa di CMS sullo sfondo
Prima di eseguire il programma di installazione di CMS sullo sfondo, modificheremo innanzitutto il file delle impostazioni di CMS sullo sfondo settings.phpper accertarci che CMS sullo sfondo rilevi correttamente le impostazioni del database. Assicurati di essere nella directory webroot e quindi apri il file delle impostazioni:
sudo vi settings.php
Ora trova la seguente riga in settings.php:
$database = 'mysql://user:pass@localhost/database_name';
Modificalo in modo che appaia così:
$database = 'mysql://backdrop_user:UltraSecurePassword@localhost/backdrop_db';
Ora siamo pronti per eseguire il programma di installazione di CMS Backdrop, quindi visita l'indirizzo IP dell'istanza del tuo server Vultr nel tuo browser o se hai già configurato le tue impostazioni DNS di Vultr (e gli hai concesso abbastanza tempo per propagare) puoi semplicemente visitare il tuo dominio invece:
http://YOUR_VULTR_IP_ADDRESS_OR_DOMAIN/
Se la pagina di installazione di CMS sullo sfondo non viene visualizzata nel browser, aggiungere semplicemente index.phpalla fine dell'URL:
http://YOUR_VULTR_IP_ADDRESS_OR_DOMAIN/index.php
La maggior parte delle opzioni di installazione di CMS sullo sfondo sono autoesplicative, ma qui ci sono alcuni suggerimenti per aiutarti.
Scegli la lingua e fai clic sul pulsante " Save and Continue".
Una volta eseguito lo script di installazione, inserisci semplicemente i seguenti dettagli su Configure site page:
Site name: <Your preferred site name>
Username: <Your preferred username>
E-mail address: <Your email address>
Password: <A secure password>
Default time zone: <Appropriate time zone>
Clicca " Save and Continue".
Verrai reindirizzato automaticamente alla home page del tuo sito.
Se non hai già impostato il tuo DNS Vultr, probabilmente dovrebbe essere il tuo prossimo passo.
Ora sei pronto per iniziare ad aggiungere contenuti e configurare l'aspetto del tuo sito. Assicurati di consultare l'eccellente Guida per l' utente di CMS sullo sfondo per ulteriori informazioni su come costruire e configurare il tuo sito.