GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Typo3 CMS su Debian 9

In questa guida impareremo come installare e configurare l'ultima versione di Typo3 CMS in Debian 9.

Typo3 è un potente sistema di gestione dei contenuti open source con la maggior parte delle parti scritte in linguaggio di programmazione PHP. Viene spesso distribuito in Linux sotto server Web Apache/Nginx, linguaggio di programmazione lato server PHP e sistema di gestione di database MySQL/MariaDB, noto anche come stack LAMP o LEMP. La piattaforma Typo3 CMS è altamente flessibile e scalabile e può essere estesa senza scrivere alcuna riga di codice, rendendola un candidato perfetto per la distribuzione di piccoli siti Web o potenti portali aziendali multilingue.

Requisiti

  • Installazione minima di Debian 9 su una macchina bare-metal o su un server privato virtuale
  • privilegi sudo root per un account locale o remoto o accesso diretto all'account root
  • Un indirizzo IP statico configurato per una delle schede di interfaccia di rete del tuo sistema
  • Un nome di dominio, privato o pubblico, a seconda della distribuzione, con i record DNS appropriati configurati per i servizi Web. 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
  • Se desideri utilizzare la registrazione al sito Web, la moderazione dei commenti e altre funzionalità, dovresti disporre di un server di posta funzionante correttamente configurato presso la tua sede con accesso remoto ai suoi servizi IMAP e SMTP.

Prepara il server

Prima di iniziare a installare e configurare Typo dai sorgenti nel proprio server, assicurarsi che il sistema soddisfi tutti i requisiti software per la compilazione e l'installazione dell'applicazione. Nel primo passaggio, aggiorna i repository di sistema e i pacchetti software eseguendo il comando seguente.

apt update
apt upgrade

Dopo che il sistema è stato completamente aggiornato, imposta il nome per il tuo sistema eseguendo il comando seguente. Sostituisci la tua variabile hostname di conseguenza.

Imposta il nome host

hostnamectl set-hostname typo

Verifica il nome host della macchina e il file hosts eseguendo i comandi seguenti.

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

Infine, riavvia il server Debian per applicare correttamente gli aggiornamenti del kernel e il nome host.

systemctl reboot

Installa gli strumenti richiesti

Nel passaggio successivo, esegui il comando seguente per installare alcune utilità necessarie che verranno utilizzate per gestire ulteriormente il tuo sistema dalla riga di comando.

apt install wget bash-completion zip unzip

Inoltre, installa il software imagemagick, richiesto da Typo3 per creare, modificare, comporre o convertire bitmap o altri tipi di formati di immagini caricati sul sito web.

apt install imagemagick

Typo3 è una piattaforma CMS basata sul Web scritta principalmente in linguaggio di programmazione lato server PHP. Per eseguire gli script di file PHP dell'applicazione, è necessario installare e rendere operativo nel sistema un server Web, come il server HTTP Apache, e un gateway di elaborazione PHP.

Installa Apache e PHP

Per installare il server Web Apache e l'interprete PHP insieme a tutti i moduli PHP necessari per il corretto funzionamento dell'applicazione, immetti il ​​seguente comando nella console del tuo server.

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

Dopo aver installato Apache e PHP, verifica se il server Web è attivo e funzionante e in attesa di connessioni di rete sulla porta 80 eseguendo il comando seguente con privilegi di root.

netstat –tlpn

Nel caso in cui l'utilità di rete netstat non sia installata per impostazione predefinita nel tuo sistema Debian, esegui il seguente comando per installarla.

apt install net-tools

Ispezionando l'output del comando netstat puoi vedere che il server web apache è in ascolto per le 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

Se stai utilizzando iptables raw rules per gestire le regole del firewall nel tuo server Debian, aggiungi la seguente regola per consentire il traffico in entrata sulla porta 80 sul firewall in modo che i visitatori possano navigare nel sito web.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Configura Apache

Quindi, abilita e applica i seguenti moduli Apache richiesti dall'applicazione web per funzionare correttamente, eseguendo il comando seguente.

a2enmod rewrite deflate headers
systemctl restart apache2

Infine, verifica se la pagina Web predefinita del server Web Apache può essere visualizzata nei browser del tuo client visitando l'indirizzo IP della tua macchina Debian o il tuo nome di dominio o FQDN del server tramite il protocollo HTTP, come mostrato nell'immagine seguente. Se non conosci l'indirizzo IP della tua macchina, esegui ifconfig o ip a comandi per rivelare l'indirizzo IP del tuo server.

http://tuo_dominio.tld

Per installare e accedere al pannello di amministrazione Web di Typo3 supportato e al sito Web frontend tramite il protocollo HTTPS che proteggerà il traffico per i tuoi client, emetti il ​​seguente comando per abilitare il modulo SSL del server Web Apache e il file di configurazione del sito SSL.

a2enmod ssl
a2ensite default-ssl.conf

Quindi, apri il file di configurazione del sito SSL predefinito di Apache con un editor di testo e abilita le regole di riscrittura degli URL aggiungendo le seguenti righe di codice dopo DocumentRoot direttiva, come mostrato nell'esempio seguente:

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

Estratto del file di configurazione del sito SSL:

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

Inoltre, apporta la seguente modifica alla riga VirtualHost in modo che assomigli a quella mostrata nell'estratto seguente:

        <VirtualHost *:443>

Chiudi il file Apache SSL e apri /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 istruzione come mostrato nell'esempio seguente.

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

Infine, riavvia il demone Apache per applicare tutte le regole configurate finora e visita il tuo dominio tramite protocollo HTTP. Poiché stai utilizzando le coppie di certificati autofirmati automaticamente emesse da Apache al momento dell'installazione, nel browser dovrebbe essere visualizzato un avviso di errore.

systemctl restart apache2

https://tuodominio.tld

Accetta l'avviso per utilizzare il certificato non attendibile e per continuare ed essere reindirizzato alla pagina Web predefinita di Apache, come illustrato nell'immagine seguente.

Nel caso in cui l'applicazione firewall UFW blocchi le connessioni di rete in entrata alla porta HTTPS, dovresti aggiungere una nuova regola per consentire al traffico HTTPS di passare 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
systemctl iptables-persistent save
systemctl iptables-persistent reload

Configura PHP

Nel passaggio successivo, dobbiamo apportare ulteriori modifiche al file di configurazione predefinito di PHP per garantire che le seguenti variabili PHP siano abilitate e il fuso orario PHP l'impostazione è configurata correttamente e corrisponde alla posizione geografica del sistema. Apri /etc/php/7.0/apache2/php.ini file per la modifica e assicurarsi che le seguenti righe siano impostate come segue. Inoltre, inizialmente, fai 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 = 128 M
upload_max_file_size = 64M
max_execution_time = 240
max_input_vars = 1500
date.timezone = Europe/London

Aumenta upload_max_file_size variabile adatta a supportare file allegati di grandi dimensioni e sostituire time.zone variabile in base al tuo tempo fisico consultando l'elenco dei fusi orari fornito dai documenti PHP al seguente link http://php.net/manual/en/timezones.php

Se desideri 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, come descritto di seguito:

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

Chiudi il file di configurazione php.ini e controlla se la verifica della fine del file di configurazione PHP per verificare se le variabili sono state aggiunte correttamente emettendo il comando seguente.

tail /etc/php/7.0/apache2/php.ini

Dopo aver apportato tutte le modifiche spiegate sopra, abilita il modulo OPCache e riavvia il demone Apache per applicare le nuove modifiche emettendo i seguenti comandi.

phpenmod opcache
systemctl restart apache2

Infine, crea un file di informazioni PHP eseguendo il comando seguente e controlla se il fuso orario PHP è stato configurato correttamente visitando il file di script di informazioni PHP da un browser al seguente URL, come illustrato nell'immagine seguente. Scorri verso il basso fino a data impostazione per controllare la configurazione del fuso orario PHP.

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

https://dominio.tld/info.php

Installa MariaDB

La piattaforma Typo3 CMS memorizza diverse configurazioni, come utenti, sessioni, contatti, articoli, pagine e altre impostazioni, in un database relazionale. In questa guida, configureremo Typo3 per utilizzare il database MariaDB come backend. Immettere il comando seguente per installare il database MariaDB e il modulo PHP necessario per accedere al database mysql.

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

Dopo aver installato MariaDB, verifica se il demone è in esecuzione ed è in attesa di connessioni su localhost, porta 3306, eseguendo netstat comando.

netstat –tlpn | grep mysql

Quindi, accedi alla console MySQL e proteggi l'account root di MariaDB eseguendo i seguenti comandi.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

Nel passaggio successivo, proteggi 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 emettendo il comando seguente e assicurati di digitare yes a tutte le domande poste al fine di proteggere completamente il demone MySQL. Utilizzare il seguente estratto di output dello script come guida.

sudo 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!

Per testare le impostazioni di sicurezza di MariaDB, prova ad accedere al database dalla console con account root e non fornire password. L'accesso al database deve essere negato se non viene fornita alcuna password per l'account root, come illustrato nel seguente estratto del comando:

[email protected]:~# mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Se viene fornita la password di root, il processo di accesso deve essere concesso alla console MySQL, come mostrato nel seguente esempio di comando:

[email protected]:~# 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

Successivamente, accedi alla console del database MariaDB, crea un database per Typo3 CMS e un utente con una password che verrà utilizzata per gestire il database dell'applicazione, 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 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)]>
create database typo;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on typo.* to 'typo_user' identified by 'password1';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;  
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

Per applicare tutte le modifiche apportate finora, riavvia i demoni MySQL e Apache e verifica se i demoni sono in esecuzione eseguendo i seguenti comandi.

systemctl restart mysql apache2
systemctl status mysql apache2

Installa Typo3

Dopo aver soddisfatto tutti i requisiti di sistema per installare la piattaforma Typo3, visita la pagina di download ufficiale di Typo3 CMS all'indirizzo https://typo3.org/download/ e prendi l'ultimo archivio compresso del pacchetto zip con l'aiuto dell'utilità wget, eseguendo il comando seguente.

wget --content-disposition https://get.typo3.org/current/zip 

Al termine del download dell'archivio zip, estrai l'archivio compresso Typo3 nella directory di lavoro corrente ed elenca i file estratti eseguendo i seguenti comandi.

unzip typo3_src-8.7.8.zip
ls -al typo3_src-8.7.8

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.

rm /var/www/html/index.html
rm /var/www/html/info.php

I file di installazione per Typo3 si trovano nella directory di lavoro corrente in  typo3_src-8.7.8 directory. Copia tutto il contenuto della directory estratta da Typo3 nel percorso radice del documento del tuo server web eseguendo il comando seguente.

cp -rf typo3_src-8.7.8/* /var/www/html/

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

touch /var/www/html/FIRST_INSTALL
chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Quindi, procedi con il processo di installazione di Typo3 CMS aprendo un browser e naviga nell'indirizzo IP del server o nel nome di dominio o nell'FQDN del server tramite il protocollo HTTPS. Nella prima schermata di installazione, il programma di installazione di Typo3 verificherà l'ambiente di sistema per determinare se tutti i requisiti per l'installazione dell'applicazione sono soddisfatti, come mostrato nell'immagine seguente. Se tutti i requisiti sono soddisfatti, fare clic su Il sistema sembra a posto. Continua! pulsante per avviare il processo di installazione.

https://tuodominio.tld

Nella schermata di installazione successiva, selezionare la connessione MySQL TCP/IP configurata manualmente e aggiungere l'indirizzo, il nome e le credenziali del database MySQL creati in precedenza per il database Typo3 CMS. Utilizzare l'indirizzo 127.0.0.1 per MySQL Host e lasciare il numero di porta predefinito (3306), come illustrato nell'immagine seguente. Al termine, premi sul pulsante Continua per passare alla fase di installazione successiva.

Nel passaggio successivo, scegli "Utilizza un database vuoto esistente" opzione, seleziona il nome del database creato in precedenza per Typo3 e premi sul pulsante Continua per procedere ulteriormente con il processo di installazione.

Dopo aver importato lo schema del database, creare un utente amministratore per Typo3 CMS e scrivere una password complessa per l'account amministratore. Inoltre, aggiungi un nome per il sito Web di Typo3, come illustrato nell'immagine sottostante, e premi il pulsante Continua per completare il processo di installazione.

Al termine dell'installazione, il programma di installazione ti chiederà se desideri un sito preconfigurato. Scegli Sì, scarica l'elenco delle distribuzioni e premi su Apri il backend TYPO3 pulsante per essere reindirizzati al pannello della dashboard del sito Web.

Puoi anche visitare il pannello Web dell'amministratore di Typo3 navigando verso l'indirizzo IP del tuo server o il nome di dominio tramite il protocollo HTTPS su /typo3/index.php URL. Accedi alla dashboard di Typo3 con le credenziali dell'account amministratore configurate durante il processo di installazione, come illustrato nell'immagine seguente.

https://tuodominio.tld/typo3/index.php

Dopo aver effettuato l'accesso alla dashboard dell'amministratore di Typo3, seleziona e installa un pacchetto di distribuzione preconfigurato dall'elenco visualizzato. In questa guida installeremo e utilizzeremo il pacchetto di presentazione ufficiale distribuzione offerta da Typo3 per creare facilmente la struttura della pagina e gli elementi di contenuto.

Infine, per costringere i visitatori a navigare sul sito Web frontend di Typo3 e ad accedere in modo sicuro all'interfaccia di backend tramite il protocollo HTTPS, che crittografa il traffico tra il server e i browser client, torna al terminale del tuo server e modifica il file .htaccess che si trova nel percorso del tuo sito web.

Innanzitutto, crea il file .htaccess in base al file di esempio fornito da Typo3, eseguendo il comando seguente.

cp /var/www/html/_.htaccess /var/www/html/.htaccess

Quindi, apri e modifica il file .htaccess e nella parte inferiore del file modifica le impostazioni PHP native con le configurazioni seguenti. Puoi modificare le impostazioni PHP in modo che corrispondano alle tue risorse del server.

nano /var/www/html/.htaccess

 .htaccess estratto del file:

# Modify PHP settings
php_flag register_globals off
php_flag magic_quotes_gpc Off
php_value upload_max_filesize 500M
php_value post_max_size 500M

Infine, inserisci le seguenti regole alla fine del file per reindirizzare il traffico del dominio su HTTPS.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Inoltre, crea un nuovo file .htaccess in typo3 directory situata nel percorso webroot del dominio per reindirizzare automaticamente le sessioni del dashboard dell'amministratore a HTTPS.

nano /var/www/html/typo3/.htaccess

.htaccess estratto del file:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Infine, visita la pagina predefinita del frontend del sito Web di Typo3 navigando verso l'indirizzo IP del tuo server o il nome di dominio tramite il protocollo HTTPS, come illustrato nella schermata seguente.

https://www.tuodominio.tld

È tutto! Hai installato e configurato correttamente la piattaforma Web Typo3 CMS in Debian 9. Tuttavia, poiché il server HTTP Apache utilizza un certificato autofirmato non affidabile per crittografare il traffico tra il server e i browser dei visitatori, verrà sempre generato un messaggio di avviso e visualizzato nei loro browser . Questo avviso è negativo per i clienti che visitano la pagina del frontend del tuo sito web. In questo caso dovresti acquistare un certificato emesso da un'autorità di certificazione affidabile o ottenere una coppia di certificati gratuita da Let's Encrypt CA.

Per altre configurazioni personalizzate relative all'applicazione Web Typo3 CMS, visitare la pagina della documentazione al seguente indirizzo:https://docs.typo3.org/


Debian
  1. Come installare Redis Server su Debian 11

  2. Come installare TYPO3 su Debian 9

  3. Come installare MySQL Server su Debian 9

  4. Come installare Nextcloud 14 su Debian 9

  5. Come installare ClickHouse 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