Cómo instalar Thelia 2.3 en CentOS 7
¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i
dotCMS es un sistema de gestión de contenido de nivel empresarial de código abierto escrito en Java. Contiene casi todas las funciones necesarias para crear un sitio web para su negocio. Proporciona una API RESTful para integrarse con otros servicios como CRM, aplicaciones móviles y más. Utiliza Elasticsearch para indexar en tiempo real el contenido y Redis para implementar caché de varios niveles.
Este artículo fue escrito para dotCMS 4.2.2, sin embargo, las instrucciones proporcionadas pueden funcionar también para versiones más recientes.
Para este tutorial, lo utilizaremos 192.168.0.1
como la dirección IP pública y cms.example.com
como el nombre de dominio que apunta hacia la instancia de Vultr. Asegúrese de reemplazar todas las apariciones del nombre de dominio de ejemplo y la dirección IP pública por la actual.
Actualice su sistema base utilizando la guía Cómo actualizar CentOS 7 . Una vez que su sistema ha sido actualizado, proceda a instalar Java.
OpenJDK se puede instalar fácilmente ya que el paquete está disponible en el repositorio predeterminado de YUM.
sudo yum -y install java-1.8.0-openjdk-devel
Si Java está instalado correctamente, podrá verificar su versión.
java -version
Obtendrá una salida similar.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Antes de que podamos seguir adelante, tendremos que configurar los JAVA_HOME
y las JRE_HOME
variables de entorno. Encuentre la ruta absoluta del ejecutable Java en su sistema.
readlink -f $(which java)
Verá una salida similar.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java
Ahora, configure las variables de entorno JAVA_HOME
y de JRE_HOME
acuerdo con la ruta del directorio Java.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Ejecuta el bash_profile
archivo.
source ~/.bash_profile
Ahora puede ejecutar el echo $JAVA_HOME
comando para asegurarse de que la variable de entorno esté configurada.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Por defecto, dotCMS está configurado para usar el motor de base de datos H2. El motor de base de datos H2 es un motor de base de datos basado en archivos planos. No se recomienda su uso en producción. En este tutorial, utilizaremos el servidor PostgreSQL para almacenar la base de datos dotCMS.
PostgreSQL es un sistema de base de datos relacional de objetos y conocido por su estabilidad y velocidad. Agregue el repositorio de la última versión de PostgreSQL en el sistema.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Instale el servidor de base de datos PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inicializar la base de datos.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Inicie el servidor PostgreSQL y permita que se inicie automáticamente en el momento del arranque.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Cambie la contraseña para el usuario predeterminado de PostgreSQL.
sudo passwd postgres
Inicie sesión como usuario predeterminado de PostgreSQL.
sudo su - postgres
Cree un nuevo usuario de PostgreSQL para dotCMS.
createuser dotcms
PostgreSQL proporciona el psql
shell para ejecutar consultas en el servidor de bases de datos. Cambie al shell PostgreSQL.
psql
Establezca una contraseña para el usuario recién creado para la base de datos dotCMS.
ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';
Reemplace la contraseña del usuario de la base de datos DBPassword
con una contraseña segura. Cree una nueva base de datos para la instalación de dotCMS.
CREATE DATABASE dotcms OWNER dotcms;
Salga de la psql
cáscara.
\q
Cambiar al sudo
usuario.
exit
Descargue el archivo dotCMS.
wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.2.tar.gz
Siempre puede encontrar el enlace a la última versión de la aplicación en la página de descarga de dotCMS .
Cree un nuevo directorio para almacenar los archivos dotCMS y extráigalos en él.
sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms
Abra el archivo de configuración de la base de datos.
cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml
Encuentra el H2
bloque.
<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
Comente toda la H2
sección reemplazando el delimitador de comentarios -->
desde el comienzo de la sección hasta el final de la sección. Debería tener el siguiente aspecto.
<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->
Elimine el comentario de la sección PostgreSQL eliminando el delimitador de comentarios -->
del final de la sección y colocándolo en la envoltura superior POSTGRESQL
. Además, busque username=
y password=
reemplace los valores existentes con el nombre de usuario y la contraseña de su usuario de la base de datos PostgreSQL. Si ha utilizado un nombre de base de datos distinto de dotcms
, deberá cambiar el nombre de la base de datos url=
. Una vez configurado, el bloque PostgreSQL en el archivo debería tener el siguiente aspecto.
<!-- 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" />
Proporcione el permiso de ejecución para todos los archivos ejecutables.
sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh
dotCMS ahora está instalado en su servidor. Para ejecutar inmediatamente la aplicación, ejecute lo siguiente.
cd /opt/dotcms
sudo bin/startup.sh
Verá el siguiente resultado cuando el servidor se haya iniciado correctamente.
[user@vultr 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: /
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.
El comando anterior iniciará el servidor web Tomcat para servir la aplicación en el puerto 8080
. Para verificar si el sitio web dotCMS funciona, permita el puerto requerido a 8080
través del firewall del sistema.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
Abra su navegador favorito y busque http://192.168.0.1:8080
. Debería ver que la aplicación ejecuta un sitio web de demostración. Si no ve su sitio web, espere a que el primer inicio del servidor dotCMS demore un par de minutos mientras escribe datos en la base de datos PostgreSQL y crea el caché. También puede consultar los registros de inicio.
tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log
El servidor dotCMS se puede iniciar directamente utilizando el script de inicio proporcionado en el paquete del instalador. Por conveniencia, debe configurar un archivo de unidad Systemd para el servidor dotCMS. Esto asegurará que el servidor de aplicaciones se inicie automáticamente al reiniciar el sistema y fallas.
Detenga el servidor dotCMS en ejecución utilizando el script de apagado.
sudo bin/shutdown.sh
Cree un usuario sin privilegios para ejecutar el servidor dotCMS, por razones de seguridad.
sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms
Proporcionar la propiedad de los archivos al usuario dotCMS.
sudo chown -R dotcms:dotcms /opt/dotcms
Cree un nuevo servicio Systemd.
sudo nano /etc/systemd/system/dotcms.service
Rellene el archivo.
[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 la aplicación y permita que se inicie automáticamente en el momento del arranque.
sudo systemctl start dotcms
sudo systemctl enable dotcms
Asegúrese de que el servicio se esté ejecutando.
sudo systemctl status dotcms
Por defecto, el servidor dotCMS escucha en el puerto 8080
. Configuraremos Nginx como el proxy inverso para que se pueda acceder a la aplicación a través de puertos HTTP
y estándar HTTPS
. También configuraremos Nginx para que use SSL generado con Let's Encrypt free SSL.
Instale el servidor web Nginx.
sudo yum -y install nginx
Inicie el servidor web y permita que se inicie automáticamente en el momento del arranque.
sudo systemctl start nginx
sudo systemctl enable nginx
Instale Certbot, que es una aplicación cliente para Let's Encrypt CA.
sudo yum -y install certbot
Antes de poder solicitar los certificados, deberá permitir los puertos 80
y / 443
o estándares HTTP
y HTTPS
servicios a través del firewall. Además, elimine el puerto 8080
de la lista de excepciones de firewall ya que ya no es necesario.
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Nota: Para obtener certificados de Let's Encrypt CA, el dominio para el que se generarán los certificados debe apuntar hacia el servidor. De lo contrario, realice los cambios necesarios en los registros DNS del dominio y espere a que se propague el DNS antes de volver a solicitar el certificado. Certbot verifica la autoridad del dominio antes de proporcionar los certificados.
Generar los certificados SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com
Es probable que los certificados generados se almacenen en /etc/letsencrypt/live/cms.example.com/
. Encriptemos los certificados caducan en 90 días, por lo tanto, se recomienda configurar la renovación automática de los certificados utilizando trabajos Cron.
Abra el archivo de trabajo cron.
sudo crontab -e
Agregue la siguiente línea al final del archivo.
30 5 * * * /usr/bin/certbot renew --quiet
El trabajo cron anterior se ejecutará todos los días a las 5:30 a.m. Si el certificado vence, se renovará automáticamente.
Cree un nuevo archivo de bloqueo del servidor para el sitio dotCMS.
sudo nano /etc/nginx/conf.d/cms.example.com.conf
Rellene el archivo.
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;
}
}
Reinicie el servidor web Nginx para que los cambios surtan efecto.
sudo systemctl restart nginx
La aplicación dotCMS ahora está instalada en su servidor para uso de producción. Acceda al panel de control administrativo en la siguiente dirección.
https://cms.example.com/dotAdmin
Inicie sesión con la cuenta de administrador inicial [email protected]
y admin
. Cambie la contraseña predeterminada inmediatamente después de iniciar sesión.
Felicitaciones, el sistema de gestión de contenido dotCMS ahora está instalado en su servidor. Puede modificar el sitio de demostración o puede comenzar a construir su sitio desde cero.
¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i
¿Usando un sistema diferente? Fuel CMS es un sistema de gestión de contenido basado en CodeIgniter. Su código fuente está alojado en GitHub. Esta guía le mostrará cómo t
¿Usando un sistema diferente? Couch CMS es un sistema de gestión de contenido (CMS) simple y flexible, gratuito y de código abierto que permite a los diseñadores web diseñar
MODX es un sistema de gestión de contenido gratuito y de código abierto escrito en PHP. Utiliza MySQL o MariaDB para almacenar su base de datos. MODX está diseñado para el negocio i
Using a Different System? Alfresco Community Edition is an open source version of the Alfresco Content Services. It is written in Java and uses PostgreSQL t
Using a Different System? WonderCMS is an open source, fast and small flat file CMS written in PHP. WonderCMS source code is hosted on Github. This guide wil
Using a Different System? Redaxscript 3.2 CMS is a modern and ultra lightweight, free and open source Content Management System (CMS) with rocket-fas
Using a Different System? Neos is a Content Application Platform with a CMS and an application framework at its core. This guide will show you how to instal
¿Usando un sistema diferente? October 1.0 CMS es un sistema de gestión de contenido (CMS) simple y confiable, gratuito y de código abierto creado en el marco de Laravel
¿Usando un sistema diferente? Directus 6.4 CMS es un sistema de gestión de contenido sin cabeza (CMS) potente y flexible, gratuito y de código abierto que proporciona al desarrollador
Using a Different System? Introduction BoltWire is a free and lightweight content management system written in PHP. Compared to most other content managemen
Bolt es un CMS de código abierto escrito en PHP. El código fuente de Bolts está alojado en GitHub. Esta guía le mostrará cómo instalar Bolt CMS en un nuevo CentOS 7 Vult
Using a Different System? Redaxscript 3.2 CMS is a modern and ultra lightweight, free and open source Content Management System (CMS) with rocket-fas
¿Usando un sistema diferente? Anchor es un blog ligero de código abierto CMS escrito en PHP. El código fuente de Anchors está alojado en GitHub. Esta guía te mostrará ho
¿Usando un sistema diferente? Couch CMS es un sistema de gestión de contenido (CMS) simple y flexible, gratuito y de código abierto que permite a los diseñadores web diseñar
Using a Different System? Microweber is an open source drag and drop CMS and online shop. Microweber source code is hosted on GitHub. This guide will show yo
Using a Different System? Fork is an open source CMS written in PHP. Forks source code is hosted on GitHub. This guide will show you how to install Fork CM
¿Usando un sistema diferente? ImpressPages CMS 5.0 es un sistema de gestión de contenido (CMS) simple y efectivo, gratuito y de código abierto, fácil de usar y basado en MVC
¿Usando un sistema diferente? Pagekit 1.0 CMS es un sistema de administración de contenido (CMS) hermoso, modular, extensible y liviano, gratuito y de código abierto con
¿Usando un sistema diferente? ProcessWire CMS 3.0 es un sistema de gestión de contenido (CMS) simple, flexible y potente, gratuito y de código abierto. ProcessWire CMS 3.
ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.
Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.
Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.
Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición
ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.
Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+
Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.
Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información
13 Herramientas comerciales de extracción de datos de Big Data
Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.