GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Bolt CMS su Debian 9

Bolt CMS è un sistema di gestione dei contenuti open source semplice e flessibile che è scritto nel linguaggio di programmazione PHP e può essere distribuito con successo in Linux sotto server Web Apache/Nginx, sistema di gestione di database PHP e MySQL/MariaDB, noto anche come stack LAMP o LEMP.

In questo tutorial impareremo come installare e configurare l'ultima versione di Bolt CMS nella versione Debian 9, sopra uno stack LAMP, per creare siti web dinamici.

Con Bolt CMS, puoi creare e progettare portali dinamici belli e moderni con i linguaggi di markup e le librerie di sorgenti più recenti.

Requisiti

Per implementare un sito Web Bolt CMS presso la tua sede, devi assicurarti che alcuni dei seguenti requisiti siano soddisfatti:

  • È necessario un server fisico dedicato o una macchina virtuale o un VPS da un provider cloud con l'ultima versione di installazione minima di Debian 9.
  • Un indirizzo IP statico configurato per una delle schede di interfaccia di rete del tuo sistema
  • Accesso remoto o diretto all'account root oa un account locale o remoto con privilegi di root sudo
  • Un nome di dominio correttamente configurato, privato o pubblico, a seconda della distribuzione, con i record DNS richiesti, come i record A e CNAME per puntare a www. Se non possiedi un nome a dominio valido o registrato puoi eseguire l'installazione e accedere al sito tramite l'indirizzo IP del tuo server
  • Per utilizzare la registrazione e-mail di Bolt CMS o altre funzionalità CMS, è necessario configurare un server di posta presso la propria sede (servizi IMAP e SMTP), sebbene del resto un server di posta pubblico, come Gmail o Yahoo! può essere utilizzato per raggiungere lo stesso obiettivo.

Prerequisiti

Nel primo passaggio, accedi al tuo server Debian con account root o con un account con privilegi di root acquisiti tramite l'utilità sudo e installa utility come zip, unzip (per decomprimere archivi zip), curl e wget (scarica file online) e bash -Completamento automatico della riga di comando. Emetti i seguenti comandi per installare tutte queste utilità in un colpo solo.

su -
apt install bash-completion zip unzip curl wget

Nel passaggio successivo, configura un nome descrittivo per la tua macchina in modo che rifletta la destinazione di questo server eseguendo il comando seguente. Sostituisci la tua variabile hostname di conseguenza.

hostnamectl set-hostname www.myblog.com

Puoi controllare il nome host della macchina e il record nel file hosts di sistema eseguendo i comandi seguenti.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Prima di riavviare il server, assicurati che il sistema sia aggiornato con le ultime patch di sicurezza, aggiornamenti del kernel, repository e pacchetti software eseguendo il comando seguente.

apt update
apt upgrade

Al termine del processo di aggiornamento, riavvia la tua macchina Debian per applicare correttamente tutti gli aggiornamenti del kernel e le modifiche al nome host.

systemctl reboot

Installa Apache e PHP

Come detto nell'introduzione, Bolt CMS è una piattaforma di gestione dei contenuti basata sul Web che è scritta nel linguaggio di programmazione lato server PHP e deve essere distribuita su uno stack LAMP. Innanzitutto, inizieremo installando il server HTTP Apache e l'interprete PHP insieme ad alcune estensioni PHP richieste che sono richieste da Bolt CMS per funzionare correttamente. Per installare il componente del server Web e il linguaggio di programmazione PHP con tutti i moduli richiesti, immetti il ​​seguente comando nella console del tuo server con privilegi di root.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-json php7.0-mbstring php7.0-xml php7.0-cli php7.0-curl php7.0-zip php7.0-bcmath php-imagick php7.0-xmlrpc php7.0-intl

Quindi, controlla se tutti i moduli PHP installati sono abilitati nel tuo sistema eseguendo il comando seguente.

php7.0 –m

Installa MariaDB

Il prossimo componente che manca è il database RDBMS. In questo tutorial, installeremo Bolt CMS con il server di database MariaDB come backend. L'applicazione Web Bolt CMS utilizza il database MariaDB per memorizzare diverse configurazioni di siti Web, utenti, sessioni e altri dati vari. Per installare il server e il client del database MariaDB e l'estensione PHP MySQL in Debian 9, immetti il ​​comando seguente nella console del tuo server.

apt install mariadb-server mariadb-client php7.0-mysql

Al termine dell'installazione di MariaDB, controlla se il daemon del database è attivo e in esecuzione nella tua macchina e ascolta le connessioni in entrata su localhost, porta 3306, eseguendo netstat o ss comando.

netstat –tlpn | grep mysql

Oppure

ss –tlpn | grep mysql

Se netstat l'utilità di rete non è installata per impostazione predefinita nel tuo sistema Debian, esegui il seguente comando per installarla.

apt install net-tools

Per impostazione predefinita, il server del database MySQL non è sufficientemente protetto in Debian 9. È possibile accedere all'account root del database fornendo una password. Per proteggere il server del database, prima accedi alla console MySQL ed esegui i comandi seguenti per proteggere l'account root di MariaDB.

mysql -h localhost
Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1


Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database change
MariaDB [mysql]> update user set plugin='' where user='root';
Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
Bye

Dopo aver imposto all'account root del database di utilizzare una password, proteggi ulteriormente il server MariaDB eseguendo lo script mysql_secure_installation fornito dai pacchetti di installazione dai repository stretch di Debian. Durante l'esecuzione lo script porrà una serie di domande progettate per proteggere il database MariaDB, come ad esempio:modificare la password di root di MySQL, rimuovere utenti anonimi, disabilitare gli accessi root remoti ed eliminare il database di test. Esegui lo script eseguendo il comando seguente e imposta una password complessa per l'account root del database e assicurati di digitare yes a tutte le domande poste, come mostrato nell'estratto seguente.

mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!


In order to log into MariaDB to secure it, we'll need the current

password for the root user. If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.


Enter current password for root (enter for none):

OK, successfully used password, moving on...


Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.


You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.


Remove anonymous users? [Y/n] y

... Success!


Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.


Disallow root login remotely? [Y/n] y

... Success!


By default, MariaDB comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.


Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!


Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.


Reload privilege tables now? [Y/n] y

... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

Al termine dello script, accedere al database dalla console senza password di root. L'accesso al database dovrebbe essere negato se non viene fornita alcuna password per l'account root, come illustrato nell'estratto del comando seguente:

mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Se viene fornita la password, il processo di accesso deve essere concesso alla console MySQL, come mostrato nell'esempio di comando. Digita exit per uscire dalla console del database.

mysql -h localhost -u root -p
Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 15

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> exit
Bye

Dopo che tutti i componenti LAMP sono stati installati, verifica se il server web è attivo, in esecuzione e in attesa di connessioni di rete sulla porta 80 eseguendo il comando seguente con privilegi di root.

netstat –tlpn

Esaminando l'output del comando netstat puoi vedere che il server web Apache è in attesa di connessioni di rete in entrata sulla porta 80. Per la stessa attività puoi anche usare ss comando, che viene installato automaticamente, per impostazione predefinita, in Debian 9.

ss- tulpn

Configura il firewall

Nel caso in cui tu abbia un firewall abilitato nel tuo sistema, come l'applicazione firewall UFW, dovresti aggiungere una nuova regola per consentire al traffico HTTP di passare attraverso il firewall emettendo il seguente comando.

ufw allow WWW

o

ufw allow 80/tcp

Dovresti anche consentire al traffico SSH di passare attraverso il firewall UFW in caso di connessioni remote al server.

ufw allow 22/tcp

Alcuni amministratori di sistema preferiscono utilizzare iptables regole grezze per gestire le regole del firewall nel tuo server Debian. In tal caso, devi aggiungere le seguenti regole per consentire il traffico in entrata sulla porta 80 sul firewall in modo che altri visitatori possano navigare nel tuo sito web.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service

Nel caso in cui tu sia connesso al server Debian in remoto tramite SSH, dovresti prima aggiungere la seguente regola per consentire al traffico SSH di passare attraverso il firewall iptables. Altrimenti verrai bloccato, perché il firewall inizierà a trasferire tutto il traffico in entrata sulla porta 22.

iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent

Dopo aver aggiunto le regole firewall richieste, dovresti verificare se il server Web Apache è raggiungibile nella tua rete, aprendo un browser e visitando l'indirizzo IP della tua macchina Debian o il tuo nome di dominio o FQDN del server tramite il protocollo HTTP. Se le connessioni in entrata sono autorizzate alla porta 80, la pagina Web predefinita dovrebbe essere visualizzata nei browser dei client. Se non conosci l'indirizzo IP della tua macchina, esegui ifconfig o ip a comando per rivelare l'indirizzo IP del tuo server.

http://tuo_dominio.tld

Configura Apache e PHP

Nel passaggio successivo, dobbiamo apportare ulteriori modifiche al file di configurazione predefinito di PHP e modificare le seguenti variabili PHP come descritto di seguito. Inoltre, assicurati che il PHP fuso orario l'impostazione è configurata correttamente e corrisponde alla posizione geografica del sistema. Apri /etc/php/7.0/apache2/php.ini file per la modifica dopo aver inizialmente eseguito un backup del file di configurazione PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Cerca, modifica e cambia le seguenti variabili in php.ini file di configurazione:

file_uploads = On
memory_limit = 128M
post_max_size = 80M
upload_max_filesize = 80M
default_charset = UTF-8
short_open_tag = off
intl.error_level = 0
magic_quotes_gpc =off
register_globals = off
session.auto_start = off
date.timezone = Europe/London

Aumenta il upload_max_file_size in quanto adatta a supportare file allegati di grandi dimensioni, se questo è il caso e sostituire date.timezone variabile in base al tuo orario geografico consultando l'elenco dei fusi orari fornito da PHP docs al seguente link http://php.net/manual/en/timezones.php

Per aumentare la velocità di caricamento delle pagine del tuo sito Web tramite il plug-in OPCache disponibile per PHP7, aggiungi le seguenti impostazioni OPCache nella parte inferiore del file di configurazione dell'interprete PHP, sotto [opcache] dichiarazione, come dettagliato qui:

nano /etc/php/7.0/apache2/php.ini
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Dopo aver modificato tutte le righe descritte di seguito, chiudi il php.ini file di configurazione e verificare se le variabili OPCache sono state aggiunte correttamente emettendo il comando seguente.

grep opcache /etc/php/7.0/apache2/php.ini

Successivamente, dobbiamo abilitare la riscrittura di Apache e i moduli TLS per costringere i visitatori a navigare in modo sicuro sul sito Web tramite il protocollo HTTPS. Il modulo TSL proteggerà il traffico tra il server e i browser client con un certificato autofirmato emesso automaticamente da Apache. Dovresti anche attivare il file di configurazione SSL di Apache affinché il modulo TLS funzioni correttamente. Eseguire il comando seguente per attivare tutte le configurazioni richieste.

a2enmod ssl rewrite
a2ensite default-ssl.conf

Dopo aver abilitato la riscrittura e i moduli TLS, apri il file di configurazione del sito SSL predefinito di Apache con un editor di testo e aggiungi le righe di codice delle regole di riscrittura dell'URL dopo DocumentRoot direttiva, come mostrato nell'esempio seguente. Inoltre, cambia DocumentRoot percorso a /var/ww/html/public .

nano /etc/apache2/sites-enabled/default-ssl.conf

Estratto del file di configurazione del sito SSL:

DocumentRoot  /var/www/html/public
<Directory /var/www/html/public>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>

Chiudi il file Apache SSL e apri anche /etc/apache2/sites-enabled/000-default.conf file per la modifica e aggiungere le stesse regole di riscrittura URL del file di configurazione SSL. Inserisci le righe di codice dopo DocumentRoot dichiarazione come mostrato nell'esempio seguente. Inoltre, modifica DocumentRoot percorso per puntare a /var/ww/html/public directory.

DocumentRoot  /var/www/html/public
<Directory /var/www/html/public>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>

Dopo aver apportato tutte le modifiche spiegate sopra, è necessario riavviare il demone Apache per applicare tutte le regole.

systemctl restart apache2

Infine, apri un browser e visita il tuo nome di dominio o indirizzo IP del server tramite protocollo HTTP. Poiché stai utilizzando le coppie di certificati autofirmati automaticamente emessi da Apache al momento dell'installazione, un certificato non attendibile dal browser, nel browser dovrebbe essere visualizzato un avviso di errore. Accetta l'avviso per accettare il certificato non attendibile e continuare a essere reindirizzato alla pagina Web predefinita di Apache.

https://tuodominio.tld

Se l'applicazione firewall UFW blocca le connessioni di rete in entrata alla porta HTTPS, inserisci una nuova regola per consentire il passaggio del traffico HTTPS attraverso il firewall eseguendo il comando seguente.

ufw allow ‘WWW Full’

o

ufw allow 443/tcp

Se iptables è l'applicazione firewall predefinita installata per proteggere il tuo sistema Debian a livello di rete, aggiungi la seguente regola per consentire il traffico in entrata della porta 443 nel firewall in modo che i visitatori possano esplorare il tuo nome di dominio.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent

Infine, crea un file di informazioni PHP nel percorso webroot del server web eseguendo il comando seguente.

echo '<?php phpinfo(); ?>'| tee /var/www/html/public/info.php

Visita il file di script delle informazioni PHP da un browser al seguente URL, come illustrato nell'immagine seguente. Scorri verso il basso fino alla data impostazione per controllare la configurazione del fuso orario PHP. Le impostazioni del fuso orario dovrebbero riflettere la tua posizione geografica PHP configurata in precedenza.

https://dominio.tld/info.php

Successivamente, accedi alla console del database MariaDB e crea il database Bolt CMS e un utente con una password che verrà utilizzata per gestire il database del sito Web da localhost, eseguendo i seguenti comandi. Sostituisci il nome del database, l'utente e la password di conseguenza.

mysql –u root -p
Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 305

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1


Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE bolt_db;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on bolt_db.* to 'bolt_user'@'localhost' identified by 'password1234';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye

Installa Bolt CMS

Dopo aver soddisfatto tutti i requisiti di sistema per installare l'applicazione Bolt CMS, visita la pagina di download ufficiale di Bolt all'indirizzo https://bolt.cm/pages/download e prendi l'ultimo archivio compresso zip nel tuo sistema eseguendo il comando seguente.

wget https://bolt.cm/distribution/bolt-latest.zip 

Al termine del download dell'archivio zip, estrai il file di archivio zip Bolt CMS nella directory di lavoro corrente ed elenca i file estratti eseguendo i comandi seguenti. Inoltre, rimuovi il file index.html predefinito installato dal server web Apache nel percorso webroot ed elimina anche il file info.php creato in precedenza.

unzip bolt-latest.zip
ls bolt-[TAB]
rm /var/www/html/index.html
rm /var/www/html/public/info.php

I file di installazione per Bolt CMS si trovano nella directory di lavoro corrente in bolt-v3.4.4/ directory. Problema ls comando per elencare i file di questa directory. Copia tutto il contenuto della directory estratta nel percorso radice del documento del tuo server Web eseguendo il comando seguente. Inoltre, assicurati di copiare il file nascosto .htaccess al percorso webroot.

cp -rf bolt-v3.4.4/* /var/www/html/
cp -rf bolt-v3.4.4/.bolt.yml.dist /var/www/html/bolt.yml

Quindi, esegui i seguenti comandi per concedere all'utente di runtime Apache le autorizzazioni di scrittura complete per il percorso root web. Usa ls comando per elencare le autorizzazioni per i file installati dell'applicazione, che si trovano nella directory /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls -al /var/www/html/

Quindi, apri il file di configurazione di Bolt CMS e aggiungi le informazioni sulla connessione al database MySQL, come mostrato nel seguente estratto del file:

nano /var/www/html/app/config/config.yml

config.yml esempio di file:

database:
driver: mysql
databasename: bolt_db
username: bolt_user
password: password1234

Salva e chiudi il file di configurazione di Bolt CMS, inserisci /var/www/html directory e installare il software di gestione delle dipendenze PHP Composer eseguendo i comandi seguenti.

cd /var/www/html/
mv composer.json.dist composer.json
curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...
Composer (version 1.5.5) successfully installed to: /var/www/html/composer.phar
Use it: php composer.phar
php7.0 composer.phar install
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 5 updates, 0 removals
- Updating league/flysystem-sftp (1.0.14 => 1.0.15): Downloading (100%)
- Updating doctrine/inflector (v1.1.0 => v1.2.0): Downloading (100%)
- Updating doctrine/collections (v1.3.0 => v1.4.0): Downloading (100%)
- Updating doctrine/annotations (v1.2.7 => v1.4.0): Downloading (100%)
- Updating doctrine/common (v2.6.2 => v2.7.3): Downloading (100%)
Writing lock file
Generating autoload files
> Bolt\Composer\ScriptHandler::updateProject
> Bolt\Composer\ScriptHandler::installAssets
Installing bolt_assets to /var/www/html/public/bolt-public

Dopo aver installato Composer, apri un browser e vai all'indirizzo IP del tuo server o al nome di dominio tramite il protocollo HTTPS. Nella prima schermata di installazione, crea il primo nome utente Bolt CMS, aggiungi una password complessa per questo utente e fornisci l'indirizzo e-mail e il nome visualizzato per l'account amministratore Bolt. Al termine, premi su Crea il primo utente pulsante per salvare le modifiche.

Dopo aver creato il nome utente amministratore di Bolt, verrai reindirizzato alla dashboard dell'amministratore di Bolt CMS, da dove potrai avviare un'ulteriore configurazione dell'applicazione o aggiungere alcuni contenuti del sito Web.

Per visitare la pagina frontend di Bolt CMS, apri un browser e vai al tuo nome di dominio o indirizzo IP del server tramite il protocollo HTTPS.

https://www.tuodominio.tld

È possibile accedere al pannello di amministrazione back-end di Bolt CMS al seguente URL. Per accedere, fornisci il nome utente e la password configurati per l'account iniziale durante il processo di installazione.

https://www.tuodominio.tld/bolt/login

Infine, per costringere i visitatori a navigare in modo sicuro nell'interfaccia Bolt CMS tramite il protocollo HTTPS, torna alla console del tuo server e modifica il .htaccess file che si trova nel percorso radice del documento della directory pubblica, eseguendo il comando seguente.

nano /var/www/html/public/.htaccess

Qui, cerca la riga che inizia con tag di apertura e aggiungi le righe seguenti dopo RewriteEngine on direttiva.

# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

Nella parte inferiore del file, puoi manomettere le impostazioni del server PHP in modo che corrispondano alle tue risorse e configurazioni del server, come mostrato nell'esempio seguente.

php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 50M
php_value post_max_size 50M

Congratulazioni! Hai installato con successo la moderna applicazione Bolt CMS nel server Debian 9. Per personalizzare ulteriormente l'applicazione, visitare la pagina della documentazione di Bolt CMS al seguente indirizzo:https://docs.bolt.cm/3.4/getting-started/introduction


Debian
  1. Come installare Redis Server su Debian 11

  2. Come installare PHP 7.4 / 7.3 / 7.2 / 7.1 su Debian 10 / Debian 9

  3. Come installare MySQL 8.0 / 5.7 su Debian 11 / Debian 10

  4. Come installare MySQL Server su Debian 9

  5. Come installare Odoo 12 su Debian 9

Come installare MySQL 8 su Debian 10

Come installare Todoman sul server Debian 11

Come installare FastPanel su Debian 11

Come installare I2P su Debian Server:

Come installare VNC su Debian 10

Come installare il server VNC su Debian 11