Alfresco Community Edition es una versión de código abierto de Alfresco Content Services. Está escrito en Java y utiliza PostgreSQL para almacenar su base de datos. Alfresco es un sistema de gestión de contenido empresarial para muchos tipos de activos digitales, como documentos, registros, web, imágenes, videos y más. También se usa para el desarrollo de contenido colaborativo. Se puede acceder al repositorio de archivos de su Alfresco alojado mediante SMB, WebDAV, FTP y CIMS. La búsqueda a través de los archivos funciona con Apache Solr.
Prerrequisitos
- Una instancia de servidor Vultr CentOS 7 con al menos 4 GB de RAM.
- Un usuario de sudo .
- Un nombre de dominio apuntado hacia el servidor.
Para este tutorial, lo utilizaremos 192.168.0.1
como la dirección IP pública y share.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 las dependencias.
Instalar dependencias
Alfresco proporciona un paquete de instalador binario listo para instalar que contiene todo el software requerido para ejecutar la aplicación. Sin embargo, necesitamos instalar algunas dependencias para admitir el complemento LibreOffice.
sudo yum -y install fontconfig libSM libICE libXrender libXext cups-libs libGLU cairo mesa-libGL-devel
Eliminar Postfix.
sudo yum -y remove postfix
Instalar Alfresco
Descargue el paquete de instalación desde el sitio web de Alfresco. Siempre puede encontrar el enlace al último instalador en la página de descarga de Alfresco .
wget https://download.alfresco.com/release/community/201707-build-00028/alfresco-community-installer-201707-linux-x64.bin
Proporcione permisos de ejecución al archivo instalador.
sudo chmod +x alfresco-community-installer-201707-linux-x64.bin
Comience la instalación.
sudo ./alfresco-community-installer-201707-linux-x64.bin
Seleccione el idioma de instalación. Para el tipo de instalación, puede elegir el primero que dice " Easy install
" método. Esto instalará la aplicación con la configuración predeterminada.
Elija la ubicación predeterminada /opt/alfresco-community
para la instalación de la aplicación.
Especifique la contraseña de administrador y elija " Y
" para la instalación como servicio. Esto creará un servicio de inicio para iniciar y administrar fácilmente el proceso de solicitud.
Nota: Alfresco recomienda al menos 2 CPU y 4 GB de RAM. Si su sistema no tiene la configuración recomendada, es posible que reciba una advertencia que indique que el entorno no está configurado de manera óptima para Alfresco Content Services, sin embargo, aún puede continuar con la instalación.
La instalación de la aplicación debería comenzar ahora. Una vez que la aplicación esté instalada, se le preguntará si desea iniciar el servidor de la comunidad Alfresco. Si elige " Y
", la aplicación iniciará el servidor inmediatamente y verá el siguiente resultado.
Launch Alfresco Community [Y/n]: y
waiting for server to start.... done
server started
/opt/alfresco-community/postgresql/scripts/ctl.sh : postgresql started at port 5432
Using CATALINA_BASE: /opt/alfresco-community/tomcat
Using CATALINA_HOME: /opt/alfresco-community/tomcat
Using CATALINA_TMPDIR: /opt/alfresco-community/tomcat/temp
Using JRE_HOME: /opt/alfresco-community/java
Using CLASSPATH: /opt/alfresco-community/tomcat/bin/bootstrap.jar:/opt/alfresco-community/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /opt/alfresco-community/tomcat/temp/catalina.pid
Tomcat started.
/opt/alfresco-community/tomcat/scripts/ctl.sh : tomcat started
Como el instalador también agregó un servicio de inicio, también puede iniciar la aplicación.
sudo systemctl start alfresco
Habilite el servicio Alfresco para que se inicie automáticamente en el momento del arranque y las fallas.
sudo systemctl enable alfresco
Por defecto, Alfresco inicia el servidor web Tomcat para servir la aplicación en el puerto 8080
. Para verificar si el servidor Alfresco está funcionando, 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 vaya a http://192.168.0.1:8080/share
, verá la página de inicio de Alfresco.
Por defecto, el servidor Tomcat de Alfresco escucha el puerto 8080
. En este tutorial, utilizaremos Nginx como 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 un 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 a 443
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 share.example.com
Es probable que los certificados generados se almacenen en /etc/letsencrypt/live/share.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.
Edite el archivo de configuración del servidor Tomcat de Alfresco.
sudo nano /opt/alfresco-community/tomcat/conf/server.xml
Encuentra las siguientes líneas.
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="32768" />
Agregue la línea proxyPort="443" scheme="https"
en el bloque de configuración anterior para que se vea como el bloque que se muestra a continuación.
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="32768"
proxyPort="443" scheme="https" />
Abra el archivo de configuración predeterminado de Alfresco.
sudo nano /opt/alfresco-community/tomcat/shared/classes/alfresco-global.properties
Encuentra las siguientes líneas.
alfresco.context=alfresco
alfresco.host=127.0.0.1
alfresco.port=8080
alfresco.protocol=http
share.context=share
share.host=127.0.0.1
share.port=8080
share.protocol=http
...
system.serverMode=UNKNOWN
Cambie las líneas anteriores según su sistema. Debería verse como se muestra a continuación.
alfresco.context=alfresco
alfresco.host=share.example.com
alfresco.port=443
alfresco.protocol=https
share.context=share
share.host=share.example.com
share.port=443
share.protocol=https
...
system.serverMode=PRODUCTION
Cree un nuevo archivo de bloqueo del servidor para Alfresco.
sudo nano /etc/nginx/conf.d/share.example.com.conf
Rellene el archivo.
server {
listen 80;
server_name share.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name share.example.com;
ssl_certificate /etc/letsencrypt/live/share.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/share.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/alfresco.access.log;
location / {
root /opt/alfresco-community/tomcat/webapps/ROOT;
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_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080;
proxy_redirect default;
}
location /share/ {
root /opt/alfresco-community/tomcat/webapps/share/;
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_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080/share/;
proxy_redirect http:// https://;
}
location /alfresco/ {
root /opt/alfresco-community/tomcat/webapps/alfresco/;
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_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080/alfresco/;
proxy_redirect http:// https://;
}
}
Reinicie el servidor web y el servicio Alfresco para que los cambios en la configuración surtan efecto.
sudo systemctl restart nginx alfresco
Alfresco ahora está instalado y configurado en su servidor, acceda a los módulos de Alfresco en la siguiente dirección.
https://share.example.com/alfresco
Para acceder a los servicios compartidos de Alfresco, visite la siguiente dirección.
https://share.example.com/share
Inicie sesión con la cuenta de administrador inicial admin
y la contraseña que haya elegido durante la instalación.
Felicitaciones, la edición comunitaria de Alfresco ahora está instalada en su servidor.