Come installare dotCMS su Ubuntu 16.04

DotCMS è un sistema di gestione dei contenuti open source di livello aziendale scritto in Java. Contiene quasi tutte le funzionalità necessarie per creare un sito Web per la tua azienda. Fornisce un'API RESTful da integrare con altri servizi come CRM, applicazioni mobili e altro. Utilizza Elasticsearch per l'indicizzazione in tempo reale dei contenuti e Redis per l'implementazione di una cache multilivello.

Prerequisiti

  • Un'istanza del server Vultr Ubuntu 16.04.
  • Un utente sudo .
  • Un nome di dominio puntato verso il server.

Per questo tutorial, utilizzeremo 192.168.0.1 come indirizzo IP pubblico e cms.example.com come nome di dominio puntato verso l'istanza Vultr. Assicurati di sostituire tutte le occorrenze del nome di dominio e dell'indirizzo IP pubblico di esempio con quello effettivo.

Aggiorna il tuo sistema di base usando la guida Come aggiornare Ubuntu 16.04 . Dopo aver aggiornato il sistema, procedere con l'installazione di Java.

Installa Java

Aggiungi il repository Ubuntu per Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Installa Java.

sudo apt -y install oracle-java8-installer

Sarai in grado di verificare la versione di Java.

java -version

Vedrai il seguente output.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Impostare il percorso predefinito per Java installando il seguente pacchetto.

sudo apt -y install oracle-java8-set-default

È possibile verificare che JAVA_HOMEsia impostato.

echo $JAVA_HOME

Dovresti vedere quanto segue.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Se non vedi alcun output, dovrai disconnetterti dalla shell corrente e riconnetterti.

Installa PostgreSQL

Per impostazione predefinita, dotCMS è configurato per utilizzare il motore di database H2. Il motore di database H2 è un motore di database basato su file flat. Non è raccomandato l'uso in produzione. In questo tutorial, useremo il server PostgreSQL per archiviare il database dotCMS.

PostgreSQL è un sistema di database relazionale ad oggetti, noto per la sua stabilità e velocità. Il repository Ubuntu predefinito contiene una vecchia versione di PostgreSQL, quindi aggiungi il repository PostgreSQL.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Installa il server di database PostgreSQL.

sudo apt -y install postgresql

Avviare il server PostgreSQL e abilitarlo ad avviarsi automaticamente all'avvio.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Cambia la password per l'utente PostgreSQL predefinito.

sudo passwd postgres

Accedi come utente PostgreSQL.

sudo su - postgres

Crea un nuovo utente PostgreSQL per dotCMS.

createuser dotcms 

PostgreSQL fornisce la psql shell per eseguire query sul server di database. Passa alla shell PostgreSQL.

psql

Impostare una password per l'utente appena creato per il database dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Sostituire la password dell'utente del database DBPassword con una password sicura.

Creare un nuovo database per l'installazione dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Esci dalla psql shell.

\q

Passa sudo all'utente.

exit

Installa dotCMS

Scarica l'archivio dotCMS.

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.3.2.tar.gz

Puoi sempre trovare il link all'ultima versione dell'applicazione nella pagina di download di dotCMS .

Creare una nuova directory per archiviare i file dotCMS ed estrarli in essa.

sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms

Apri il file di configurazione del database.

cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml

Trova il H2 blocco.

<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Commenta l'intera H2 sezione spostando il delimitatore di commento --> dall'inizio della sezione alla fine della sezione. Dovrebbe apparire come segue.

<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->

Decommenta la sezione PostgreSQL rimuovendo il delimitatore dei commenti --> dalla fine della sezione e posizionandolo nella parte superiore POSTGRESQL. Inoltre, trova username= e password= sostituisci i valori esistenti con il nome utente e la password dell'utente del database PostgreSQL. Se hai utilizzato un nome di database diverso da dotcms, dovrai cambiare il nome del database in url=. Una volta configurato, il blocco PostgreSQL nel file sarà simile al seguente.

<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      driverClassName="org.postgresql.Driver"
      url="jdbc:postgresql://localhost/dotcms"
      username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
      removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
      timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Fornire l'autorizzazione all'esecuzione per tutti i file eseguibili.

sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh

DotCMS è ora installato sul tuo server. Per eseguire immediatamente l'applicazione, eseguire quanto segue.

cd /opt/dotcms
sudo bin/startup.sh

Verrà visualizzato il seguente output quando il server è stato avviato correttamente.

user@vultr:/opt/dotcms$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS =  -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID:    /tmp/dotcms.pid
Tomcat started.

Il comando precedente avvierà il server Web Tomcat per servire l'applicazione sulla porta 8080.

Apri il tuo browser preferito e cerca http://192.168.0.1:8080. Vedrai che l'applicazione esegue un sito Web demo. Se non vedi il tuo sito web, attendi che il primo avvio del server dotCMS impieghi da cinque a dieci minuti mentre scrive i dati nel database PostgreSQL e costruisce la cache. Puoi anche controllare i log di avvio.

tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log

Configura Systemd

Il server dotCMS può essere avviato direttamente utilizzando lo script di avvio fornito nel pacchetto di installazione. Per comodità, è necessario impostare un file di unità Systemd per il server dotCMS. Ciò assicurerà che il server delle applicazioni venga avviato automaticamente al riavvio del sistema e agli errori.

Arrestare il server dotCMS in esecuzione utilizzando lo script di arresto.

sudo bin/shutdown.sh

Creare un utente senza privilegi per eseguire il server dotCMS, per motivi di sicurezza.

sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms

Fornire la proprietà dei file all'utente dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Crea un nuovo servizio Systemd.

sudo nano /etc/systemd/system/dotcms.service

Popolare il file.

[Unit]
Description=dotCMS service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always

[Install]
WantedBy=multi-user.target

Avviare l'applicazione e abilitarne l'avvio automatico all'avvio.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Assicurarsi che il servizio sia in esecuzione.

sudo systemctl status dotcms

Configurare il proxy inverso

Per impostazione predefinita, il server dotCMS è in ascolto sulla porta 8080. Configureremo Nginx come proxy inverso in modo che sia possibile accedere all'applicazione tramite lo standard HTTP e le HTTPS porte. Configureremo anche Nginx per utilizzare l'SSL generato con Let's Encrypt.

Installa Nginx.

sudo apt -y install nginx

Avvia Nginx e abilita l'avvio automatico all'avvio.

sudo systemctl start nginx
sudo systemctl enable nginx

Aggiungi il repository Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Installa Certbot, che è l'applicazione client per Let's Encrypt CA.

sudo apt -y install certbot

Nota: per ottenere certificati da Let's Encrypt CA, il dominio per il quale devono essere generati i certificati deve essere puntato verso il server. In caso contrario, apportare le modifiche necessarie ai record DNS del dominio e attendere la propagazione del DNS prima di effettuare nuovamente la richiesta di certificato. Certbot controlla l'autorità di dominio prima di fornire i certificati.

Genera i certificati SSL.

sudo certbot certonly --webroot -w /var/www/html -d cms.example.com

È probabile che i certificati generati siano archiviati in /etc/letsencrypt/live/cms.example.com/. Let's Encrypt certificati scadranno tra 90 giorni, quindi si consiglia di impostare il rinnovo automatico dei certificati utilizzando i processi Cron.

Apri il file di lavoro cron.

sudo crontab -e

Aggiungi la seguente riga alla fine del file.

30 5 * * * /usr/bin/certbot renew --quiet

Il precedente cron job verrà eseguito ogni giorno alle 5:30. Se il certificato è in scadenza, verrà automaticamente rinnovato.

Creare un nuovo file di blocco del server per il sito dotCMS.

sudo nano /etc/nginx/sites-available/dotcms

Popolare il file.

server {
    listen 80;
    server_name cms.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name cms.example.com;

    ssl_certificate           /etc/letsencrypt/live/cms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/cms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/dotcms.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://cms.example.com;
    }
  }

Attiva la configurazione.

sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms

Riavviare il server Web Nginx in modo che le modifiche abbiano effetto.

sudo systemctl restart nginx

L'applicazione dotCMS è ora installata sul server per l'uso in produzione. Accedi alla dashboard amministrativa al seguente indirizzo.

https://cms.example.com/dotAdmin

Accedi utilizzando l'account amministratore iniziale [email protected] e la password admin. Modifica la password predefinita immediatamente dopo l'accesso.

Congratulazioni, il sistema di gestione dei contenuti di dotCMS è ora installato sul tuo server. È possibile modificare il sito demo o iniziare a creare il sito da zero.



Leave a Comment

Installazione di Fuel CMS su Ubuntu 16.04 LTS

Installazione di Fuel CMS su Ubuntu 16.04 LTS

Usi un sistema diverso? Fuel CMS è un sistema di gestione dei contenuti basato su CodeIgniter. Il suo codice sorgente è ospitato su GitHub. Questa guida ti mostrerà come t

Come installare Couch CMS 2.0 su un VPS Debian 9 LAMP

Come installare Couch CMS 2.0 su un VPS Debian 9 LAMP

Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare

Come installare Subrion 4.1 CMS su un Fedora 26 LAMP VPS

Come installare Subrion 4.1 CMS su un Fedora 26 LAMP VPS

Usi un sistema diverso? Subrion 4.1 CMS è un sistema di gestione dei contenuti (CMS) open source potente e flessibile che offre un contenuto intuitivo e chiaro

Come installare Couch CMS 2.0 su un Fedora 26 LAMP VPS

Come installare Couch CMS 2.0 su un Fedora 26 LAMP VPS

Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare

Come installare WonderCMS su Fedora 29

Come installare WonderCMS su Fedora 29

Usi un sistema diverso? WonderCMS è un file CMS open source, veloce e di piccole dimensioni scritto in PHP. Il codice sorgente di WonderCMS è ospitato su Github. Questa guida sarà

Come installare Neos CMS su Debian 9

Come installare Neos CMS su Debian 9

Usi un sistema diverso? Neos è una piattaforma di applicazioni di contenuto con un CMS e un framework applicativo al suo interno. Questa guida ti mostrerà come installare

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori

Come installare BigTree CMS 4.2 su un VPS CentOS 7 LAMP

Come installare BigTree CMS 4.2 su un VPS CentOS 7 LAMP

Usi un sistema diverso? BigTree CMS 4.2 è un sistema di gestione dei contenuti (CMS) rapido e leggero, gratuito e open source di livello aziendale con

Come installare Craft CMS su CentOS 7

Come installare Craft CMS su CentOS 7

Usi un sistema diverso? Craft CMS è un CMS open source scritto in PHP. Il codice sorgente di Craft CMS è ospitato su GitHub. Questa guida ti mostrerà come installare

Come installare ImpressPages CMS 5.0 su un VPS Debian 9 LAMP

Come installare ImpressPages CMS 5.0 su un VPS Debian 9 LAMP

Usi un sistema diverso? ImpressPages CMS 5.0 è un sistema di gestione dei contenuti (CMS) semplice ed efficace, gratuito e open source, intuitivo, basato su MVC

Installazione di Bolt CMS su CentOS 7

Installazione di Bolt CMS su CentOS 7

Bolt è un CMS open source scritto in PHP. Il codice sorgente di Bolts è ospitato su GitHub. Questa guida ti mostrerà come installare Bolt CMS su un nuovo CentOS 7 Vult

Come installare Automad CMS su CentOS 7

Come installare Automad CMS su CentOS 7

Usi un sistema diverso? Automad è un sistema di gestione dei contenuti (CMS) basato su file open source e un motore di template scritto in PHP. Il codice sorgente di Automad i

Come installare Directus 6.4 CMS su un FPS VPS di FreeBSD 11

Come installare Directus 6.4 CMS su un FPS VPS di FreeBSD 11

Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori

Come installare ProcessWire CMS 3.0 su un Ubuntu 16.04 LAMP VPS

Come installare ProcessWire CMS 3.0 su un Ubuntu 16.04 LAMP VPS

Usi un sistema diverso? ProcessWire CMS 3.0 è un sistema di gestione dei contenuti (CMS) semplice, flessibile e potente, gratuito e open source. ProcessWire CMS 3.

Come installare TYPO3 CMS su CentOS 7

Come installare TYPO3 CMS su CentOS 7

Usi un sistema diverso? TYPO3 è un sistema di gestione dei contenuti aziendali gratuito e open source. È scritto in PHP e utilizza MySQL per archiviare i suoi dati. TYPO

Come installare CMS sullo sfondo su un VPS Ubuntu 16.04 LAMP

Come installare CMS sullo sfondo su un VPS Ubuntu 16.04 LAMP

Usi un sistema diverso? Backdrop CMS 1.8.0 è un sistema di gestione dei contenuti (CMS) semplice e flessibile, ottimizzato per dispositivi mobili, gratuito e open source che ci consente

Come installare Anchor CMS su un VPS CentOS 7 LAMP

Come installare Anchor CMS su un VPS CentOS 7 LAMP

Usi un sistema diverso? Anchor CMS è un motore di blog Content Management System (CMS) super semplice ed estremamente leggero, gratuito e open source

Installazione di Anchor CMS su CentOS 7

Installazione di Anchor CMS su CentOS 7

Usi un sistema diverso? Anchor è un blog CMS open source leggero scritto in PHP. Il codice sorgente delle ancore è ospitato su GitHub. Questa guida ti mostrerà ho

Installazione di Microweber su Ubuntu 16.04

Installazione di Microweber su Ubuntu 16.04

Usi un sistema diverso? Microweber è un drag and drop open source CMS e negozio online. Il codice sorgente di Microweber è ospitato su GitHub. Questa guida ti mostrerà

Come installare Thelia 2.3 su CentOS 7

Come installare Thelia 2.3 su CentOS 7

Usi un sistema diverso? Thelia è uno strumento open source per la creazione di siti Web di e-business e la gestione di contenuti online, scritto in PHP. Codice sorgente Thelia i

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.