Como instalar dotCMS no Ubuntu 16.04

Você está aqui:
Tempo estimado de leitura: 5 min

O DotCMS é um sistema de gerenciamento de conteúdo de código aberto e de nível corporativo escrito em Java. Ele contém quase todos os recursos necessários para criar um website para sua empresa. Ele fornece uma API RESTful para integração com outros serviços, como CRM, aplicativos móveis e muito mais. Ele usa o Elasticsearch para indexação de conteúdo em tempo real e o Redis para implementar um cache de várias camadas.

Pré-requisitos

  • Uma instância do servidor Site & Site Ubuntu 16.04.
  • Um usuário sudo .
  • Um nome de domínio apontado para o servidor.

Para este tutorial, usaremos 192.168.0.1 como o endereço IP público e cms.example.com como o nome do domínio apontado para a instância do Vultr. Por favor, certifique-se de substituir todas as ocorrências do nome de domínio de exemplo e endereço IP público com o atual.

Atualize seu sistema básico usando o guia Como atualizar o Ubuntu 16.04 . Depois que seu sistema tiver sido atualizado, prossiga para instalar o Java.

Instale Java

Adicione o repositório do Ubuntu para o Oracle Java 8.

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

Instale Java.

sudo apt -y install oracle-java8-installer

Você poderá verificar a versão do Java.

java -version

Você verá a seguinte saída.

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

Configure o caminho padrão para o Java instalando o pacote a seguir.

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

Você pode verificar se JAVA_HOMEestá definido.

echo $JAVA_HOME

Você deve ver o seguinte.

[email protected]:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Se você não vir nenhuma saída, precisará sair do shell atual e efetuar login novamente.

Instalar o PostgreSQL

Por padrão, o dotCMS é configurado para usar o mecanismo do banco de dados H2. O mecanismo de banco de dados H2 é um mecanismo de banco de dados baseado em arquivo simples. Não é recomendado usar na produção. Neste tutorial, usaremos o servidor PostgreSQL para armazenar o banco de dados dotCMS.

O PostgreSQL é um sistema de banco de dados objeto-relacional, conhecido por sua estabilidade e velocidade. O repositório padrão do Ubuntu contém uma versão antiga do PostgreSQL, então adicione o repositório do 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

Instale o servidor de banco de dados PostgreSQL.

sudo apt -y install postgresql

Inicie o servidor PostgreSQL e habilite-o para iniciar automaticamente no momento da inicialização.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Altere a senha para o usuário padrão do PostgreSQL.

sudo passwd postgres

Faça o login como usuário do PostgreSQL.

sudo su - postgres

Crie um novo usuário do PostgreSQL para dotCMS.

createuser dotcms 

O PostgreSQL fornece o psql shell para executar consultas no servidor de banco de dados. Mude para o shell do PostgreSQL.

psql

Defina uma senha para o usuário recém-criado para o banco de dados dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Substitua a senha do usuário do banco de dados DBPassword por uma senha segura.

Crie um novo banco de dados para a instalação do dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Saia do psql shell.

\q

Mude para o sudo usuário.

exit

Instalar dotCMS

Baixe o arquivo dotCMS.

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

Você sempre pode encontrar o link para a versão mais recente do aplicativo na página de download do dotCMS .

Crie um novo diretório para armazenar os arquivos dotCMS e extraí-los para ele.

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

Abra o arquivo de configuração do banco de dados.

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

Encontre o H2 bloco.

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

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

Comente toda a H2 seção movendo o delimitador de comentários --> do início da seção até o final da seção. Deve se parecer com o seguinte.

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

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

Descomente a seção do PostgreSQL removendo o delimitador de comentários --> do final da seção e colocando-o na embalagem superior POSTGRESQL. Além disso, localize username= e password= substitua os valores existentes pelo nome de usuário e senha do usuário do banco de dados do PostgreSQL. Se você usou um nome de banco de dados diferente dedotcms, precisará alterar o nome do banco de dados url=. Uma vez configurado, o bloco do PostgreSQL no arquivo será parecido com o seguinte.

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

Forneça a permissão de execução para todos os arquivos executáveis.

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

DotCMS está agora instalado no seu servidor. Para executar imediatamente o aplicativo, execute o seguinte.

cd /opt/dotcms
sudo bin/startup.sh

Você verá a seguinte saída quando o servidor foi iniciado com sucesso.

[email protected]:/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.

O comando acima iniciará o servidor da web do Tomcat para servir o aplicativo na porta 8080.

Abra seu navegador favorito e navegue até http://192.168.0.1:8080. Você verá que o aplicativo está executando um site de demonstração. Se você não vir seu site, aguarde enquanto a primeira inicialização do servidor dotCMS leva de cinco a dez minutos enquanto ele grava dados no banco de dados PostgreSQL e constrói o cache. Você também pode verificar os logs de inicialização.

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

Configurar o Systemd

O servidor dotCMS pode ser iniciado diretamente usando o script de inicialização fornecido no pacote do instalador. Por uma questão de conveniência, você deve configurar um arquivo de unidade Systemd para o servidor dotCMS. Isso garantirá que o servidor de aplicativos seja iniciado automaticamente na reinicialização e falhas do sistema.

Pare o servidor dotCMS em execução usando o script de desligamento.

sudo bin/shutdown.sh

Crie um usuário não privilegiado para executar o servidor dotCMS, por motivos de segurança.

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

Forneça a propriedade dos arquivos ao usuário dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Crie um novo serviço Systemd.

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

Preencha o arquivo.

[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

Inicie o aplicativo e habilite-o para iniciar automaticamente no momento da inicialização.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Assegure-se de que o serviço esteja em execução.

sudo systemctl status dotcms

Configurar o proxy reverso

Por padrão, o servidor dotCMS atende na porta 8080. Vamos configurar o Nginx como o proxy reverso para que o aplicativo possa ser acessado através do padrão HTTP e das HTTPS portas. Também configuraremos o Nginx para usar o SSL gerado com o Let’s Encrypt.

Instale o Nginx.

sudo apt -y install nginx

Inicie o Nginx e ative-o para iniciar automaticamente no momento da inicialização.

sudo systemctl start nginx
sudo systemctl enable nginx

Adicione o repositório do Certbot.

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

Instale o Certbot, que é o aplicativo cliente para o Let’s Encrypt CA.

sudo apt -y install certbot

Nota: Para obter certificados de Let’s Encrypt CA, o domínio para o qual os certificados serão gerados deve estar voltado para o servidor. Caso contrário, faça as alterações necessárias nos registros DNS do domínio e aguarde o DNS se propagar antes de fazer a solicitação de certificado novamente. O Certbot verifica a autoridade do domínio antes de fornecer os certificados.

Gere os certificados SSL.

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

Os certificados gerados provavelmente serão armazenados em /etc/letsencrypt/live/cms.example.com/. Vamos Criptografar certificados expiram em 90 dias, portanto, é recomendável configurar a renovação automática dos certificados usando trabalhos Cron.

Abra o arquivo de trabalho cron.

sudo crontab -e

Adicione a seguinte linha no final do arquivo.

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

O cron job acima será executado todos os dias às 5:30 da manhã. Se o certificado estiver vencido, ele será automaticamente renovado.

Crie um novo arquivo de bloco de servidor para o site dotCMS.

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

Preencha o arquivo.

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

Ative a configuração.

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

Reinicie o servidor da Web Nginx para que as alterações entrem em vigor.

sudo systemctl restart nginx

O aplicativo dotCMS agora está instalado no seu servidor para uso em produção. Acesse o painel administrativo no seguinte endereço.

https://cms.example.com/dotAdmin

Faça o login usando a conta de administrador inicial [email protected] e a senha admin. Altere a senha padrão imediatamente após o login.

Parabéns, o sistema de gerenciamento de conteúdo dotCMS agora está instalado no seu servidor. Você pode modificar o site de demonstração ou você pode começar a construir seu site a partir do zero.

Esse artigo foi útil?
Não Gostei 0
Visualizações: 22

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?