Com instal·lar dotCMS a Ubuntu 16.04

DotCMS és un sistema de gestió de continguts de codi obert i de grau empresarial escrit en Java. Conté gairebé totes les funcions necessàries per crear un lloc web per al vostre negoci. Proporciona una API RESTful per integrar-se amb altres serveis com ara CRM, aplicacions mòbils i molt més. Utilitza Elasticsearch per a la indexació en temps real del contingut i Redis per implementar una memòria cau de diversos nivells.

Requisits previs

  • Una instància del servidor Vultr Ubuntu 16.04.
  • Un usuari de sudo .
  • Un nom de domini apuntat cap al servidor.

Per a aquest tutorial, utilitzarem 192.168.0.1 com a adreça IP pública i cms.example.com com a nom de domini apuntat cap a la instància Vultr. Assegureu-vos de substituir totes les ocurrències del nom de domini d'exemple i l'adreça IP pública per la real.

Actualitzeu el vostre sistema base mitjançant la guia Com actualitzar Ubuntu 16.04 . Un cop actualitzat el sistema, procediu a instal·lar Java.

Instal·leu Java

Afegiu el dipòsit d'Ubuntu per a Oracle Java 8.

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

Instal·leu Java.

sudo apt -y install oracle-java8-installer

Podreu verificar la versió de Java.

java -version

Veureu la següent sortida.

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)

Establiu el camí predeterminat per a Java instal·lant el paquet següent.

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

Podeu comprovar que JAVA_HOMEestà configurat.

echo $JAVA_HOME

Hauríeu de veure el següent.

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

Si no veieu cap sortida, haureu de tancar la sessió de l'intèrpret d'ordres actual i tornar a iniciar la sessió.

Instal·leu PostgreSQL

Per defecte, dotCMS està configurat per utilitzar el motor de base de dades H2. El motor de base de dades H2 és un motor de base de dades basat en fitxers plans. No es recomana utilitzar-lo en producció. En aquest tutorial, utilitzarem el servidor PostgreSQL per emmagatzemar la base de dades dotCMS.

PostgreSQL és un sistema de bases de dades relacional objecte, conegut per la seva estabilitat i velocitat. El dipòsit d'Ubuntu predeterminat conté una versió antiga de PostgreSQL, així que afegiu el dipòsit de 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

Instal·leu el servidor de bases de dades PostgreSQL.

sudo apt -y install postgresql

Inicieu el servidor PostgreSQL i activeu-lo perquè s'iniciï automàticament en el moment de l'arrencada.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Canvieu la contrasenya de l'usuari PostgreSQL predeterminat.

sudo passwd postgres

Inicieu sessió com a usuari de PostgreSQL.

sudo su - postgres

Creeu un nou usuari de PostgreSQL per a dotCMS.

createuser dotcms 

PostgreSQL proporciona l' psql intèrpret d'ordres per executar consultes al servidor de bases de dades. Canvia a l'intèrpret d'ordres PostgreSQL.

psql

Establiu una contrasenya per a l'usuari acabat de crear per a la base de dades dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Substituïu la contrasenya de l'usuari de la base de dades DBPassword per una contrasenya segura.

Creeu una nova base de dades per a la instal·lació de dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Sortida de la psql closca.

\q

Canvia a l' sudo usuari.

exit

Instal·leu dotCMS

Descarrega l'arxiu dotCMS.

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

Sempre podeu trobar l'enllaç a la darrera versió de l'aplicació a la pàgina de descàrrega de dotCMS .

Creeu un directori nou per emmagatzemar els fitxers dotCMS i extreu-los-hi.

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

Obriu el fitxer de configuració de la base de dades.

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

Troba el H2 bloc.

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

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

Comenta tota la H2 secció movent el delimitador --> de comentaris des de l'inici de la secció fins al final de la secció. Hauria de semblar el següent.

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

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

Descomenteu la secció PostgreSQL eliminant el delimitador --> de comentaris del final de la secció i col·locant-lo a l'embolcall superior POSTGRESQL. A més, cerqueu username= i password= substituïu els valors existents amb el nom d'usuari i la contrasenya de l'usuari de la vostra base de dades PostgreSQL. Si heu utilitzat un nom de base de dades diferent de dotcms, haureu de canviar el nom de la base de dades a url=. Un cop configurat, el bloc PostgreSQL del fitxer tindrà l'aspecte següent.

<!-- 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" />

Proporcioneu el permís d'execució per a tots els fitxers executables.

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

Ara DotCMS està instal·lat al vostre servidor. Per executar l'aplicació immediatament, executeu el següent.

cd /opt/dotcms
sudo bin/startup.sh

Veureu la següent sortida quan el servidor s'hagi iniciat correctament.

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.

L'ordre anterior iniciarà el servidor web Tomcat per servir l'aplicació al port 8080.

Open your favorite browser and browse to http://192.168.0.1:8080. You will see that the application is running a demo website. If you do not see your website, please wait as the first startup of the dotCMS server takes five to ten minutes as it writes data into the PostgreSQL database and builds the cache. You can also check the startup logs.

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

Configure Systemd

The dotCMS server can be started directly using the startup script provided in the installer package. As a matter of convenience, you should set up a Systemd unit file for the dotCMS server. This will ensure that the application server is automatically started on system restart and failures.

Stop the running dotCMS server using the shutdown script.

sudo bin/shutdown.sh

Create an unprivileged user for running the dotCMS server, for security reasons.

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

Provide ownership of the files to the dotCMS user.

sudo chown -R dotcms:dotcms /opt/dotcms

Creeu un nou servei Systemd.

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

Omple el fitxer.

[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

Inicieu l'aplicació i habiliteu-la perquè s'iniciï automàticament en el moment de l'arrencada.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Assegureu-vos que el servei s'està executant.

sudo systemctl status dotcms

Configureu el proxy invers

De manera predeterminada, el servidor dotCMS escolta al port 8080. Configurarem Nginx com a servidor intermediari invers perquè es pugui accedir a l'aplicació mitjançant l'estàndard HTTP i els HTTPS ports. També configurarem Nginx perquè utilitzi el SSL generat amb Let's Encrypt.

Instal·leu Nginx.

sudo apt -y install nginx

Inicieu Nginx i activeu-lo perquè s'iniciï automàticament en el moment de l'arrencada.

sudo systemctl start nginx
sudo systemctl enable nginx

Afegiu el repositori Certbot.

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

Instal·leu Certbot, que és l'aplicació client de Let's Encrypt CA.

sudo apt -y install certbot

Nota: Per obtenir certificats de Let's Encrypt CA, el domini per al qual s'han de generar els certificats s'ha d'apuntar al servidor. Si no, feu els canvis necessaris als registres DNS del domini i espereu que el DNS es propagui abans de tornar a fer la sol·licitud de certificat. Certbot verifica l'autoritat del domini abans de proporcionar els certificats.

Generar els certificats SSL.

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

És probable que els certificats generats s'emmagatzemin a /etc/letsencrypt/live/cms.example.com/. Els certificats de Let's Encrypt caduquen en 90 dies, per tant, es recomana configurar la renovació automàtica dels certificats mitjançant treballs de Cron.

Obriu el fitxer de treball cron.

sudo crontab -e

Afegiu la línia següent al final del fitxer.

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

El treball cron anterior s'executarà cada dia a les 5:30 del matí. Si el certificat ha de caducar, es renovarà automàticament.

Creeu un fitxer de bloqueig de servidor nou per al lloc dotCMS.

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

Omple el fitxer.

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;
    }
  }

Activa la configuració.

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

Reinicieu el servidor web Nginx perquè els canvis tinguin efecte.

sudo systemctl restart nginx

L'aplicació dotCMS ara està instal·lada al vostre servidor per utilitzar-la en producció. Accediu al tauler administratiu a la següent adreça.

https://cms.example.com/dotAdmin

Inicieu la sessió amb el compte d'administrador inicial [email protected] i la contrasenya admin. Canvieu la contrasenya predeterminada immediatament després d'iniciar sessió.

Enhorabona, el sistema de gestió de continguts dotCMS ja està instal·lat al vostre servidor. Podeu modificar el lloc de demostració o podeu començar a crear el vostre lloc des de zero.


Com instal·lar Thelia 2.3 a Debian 9

Com instal·lar Thelia 2.3 a Debian 9

Utilitzeu un sistema diferent? Thelia és una eina de codi obert per crear llocs web de negocis electrònics i gestionar contingut en línia escrit en PHP. Codi font de Thelia i

Com instal·lar Microweber a CentOS 7

Com instal·lar Microweber a CentOS 7

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Instal·lació de Microweber a Ubuntu 16.04

Instal·lació de Microweber a Ubuntu 16.04

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Com instal·lar dotCMS a Ubuntu 16.04

Com instal·lar dotCMS a Ubuntu 16.04

Utilitzeu un sistema diferent? DotCMS és un sistema de gestió de continguts de codi obert i de grau empresarial escrit en Java. Conté gairebé totes les funcions necessàries t

Com instal·lar Pagekit 1.0 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Pagekit 1.0 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Pagekit 1.0 CMS és un sistema de gestió de continguts (CMS) bonic, modular, extensible i lleuger, gratuït i de codi obert amb

Com instal·lar BigTree CMS en un Fedora 26 LAMP VPS

Com instal·lar BigTree CMS en un Fedora 26 LAMP VPS

Utilitzeu un sistema diferent? BigTree CMS 4.2 és un sistema de gestió de continguts (CMS) ràpid i lleuger, gratuït i de codi obert, amb una àmplia

Instal·lació de Pagekit CMS a Ubuntu 16.04 LTS

Instal·lació de Pagekit CMS a Ubuntu 16.04 LTS

Utilitzeu un sistema diferent? Pagekit és un CMS de codi obert escrit en PHP. El codi font de Pagekit està allotjat a GitHub. Aquesta guia us mostrarà com instal·lar-lo

Com instal·lar PyroCMS a Ubuntu 16.04

Com instal·lar PyroCMS a Ubuntu 16.04

Utilitzeu un sistema diferent? PyroCMS és un CMS de codi obert escrit en PHP. El codi font de PyroCMS està allotjat a GitHub. En aquesta guia passeja bé per tot

Com instal·lar Subrion 4.1 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Subrion 4.1 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Subrion 4.1 CMS és un sistema de gestió de continguts (CMS) de codi obert potent i flexible que ofereix un contingut intuïtiu i clar.

Com instal·lar Backdrop CMS 1.8.0 en un VPS Debian 9 LAMP

Com instal·lar Backdrop CMS 1.8.0 en un VPS Debian 9 LAMP

Utilitzeu un sistema diferent? Backdrop CMS 1.8.0 és un sistema de gestió de continguts (CMS) senzill i flexible, adaptat per a mòbils, gratuït i de codi obert que ens permet

Com instal·lar Roadiz CMS a Debian 9

Com instal·lar Roadiz CMS a Debian 9

Utilitzeu un sistema diferent? Introducció Roadiz és un CMS modern dissenyat per gestionar molts tipus de serveis. Basat en components Symfony i Doctrine ORM, i

Instal·lació de Microweber a Debian 9

Instal·lació de Microweber a Debian 9

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Com instal·lar Grav CMS a Fedora 28

Com instal·lar Grav CMS a Fedora 28

Utilitzeu un sistema diferent? Grav és un CMS de fitxer pla de codi obert escrit en PHP. El codi font de Grav està allotjat públicament a GitHub. Aquesta guia us mostrarà com t

Com instal·lar Grav CMS a Debian 9

Com instal·lar Grav CMS a Debian 9

Utilitzeu un sistema diferent? Grav és un CMS de fitxer pla de codi obert escrit en PHP. El codi font de Grav està allotjat públicament a GitHub. Aquesta guia us mostrarà com t

Com instal·lar Automad CMS a CentOS 7

Com instal·lar Automad CMS a CentOS 7

Utilitzeu un sistema diferent? Automad és un sistema de gestió de continguts (CMS) basat en fitxers de codi obert i un motor de plantilles escrit en PHP. El codi font d'Automad i

Com instal·lar Raneto a Ubuntu 17.10

Com instal·lar Raneto a Ubuntu 17.10

Raneto és una base de coneixement gratuïta i de codi obert, basada en Node.js que és fàcil de configurar i utilitzar, així com fàcil d'administrar. Categories i pàgines ar

Com instal·lar Thelia 2.3 a Ubuntu 16.04

Com instal·lar Thelia 2.3 a Ubuntu 16.04

Utilitzeu un sistema diferent? Thelia és una eina de codi obert per crear llocs web de negocis electrònics i gestionar contingut en línia escrit en PHP. Codi font de Thelia i

Com instal·lar October 1.0 CMS en un VPS Debian 9 LAMP

Com instal·lar October 1.0 CMS en un VPS Debian 9 LAMP

Utilitzeu un sistema diferent? Octubre 1.0 CMS és un sistema de gestió de continguts (CMS) senzill i fiable, gratuït i de codi obert basat en el framework Laravel

Com instal·lar ImpressPages CMS 5.0 en un Ubuntu 16.04 LAMP VPS

Com instal·lar ImpressPages CMS 5.0 en un Ubuntu 16.04 LAMP VPS

Utilitzeu un sistema diferent? ImpressPages CMS 5.0 és un sistema de gestió de continguts (CMS) senzill i eficaç, gratuït i de codi obert, fàcil d'utilitzar, basat en MVC.

Com instal·lar CMS Made Simple 2.2 en un VPS Debian 9 LAMP

Com instal·lar CMS Made Simple 2.2 en un VPS Debian 9 LAMP

Utilitzeu un sistema diferent? CMS Made Simple 2.2 és un sistema de gestió de continguts (CMS) flexible i extensible, gratuït i de codi obert dissenyat intel·ligentment per b

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació