Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL pour stocker sa base de données. Alfresco est un système de gestion de contenu d'entreprise pour de nombreux types d'actifs numériques tels que des documents, des enregistrements, du Web, des images, des vidéos et plus encore. Il est également utilisé pour le développement de contenu collaboratif. Le référentiel de fichiers de votre Alfresco hébergé est accessible à l'aide de SMB, WebDAV, FTP et CIMS. La recherche dans les fichiers est optimisée par Apache Solr.
Conditions préalables
- Une instance de serveur Vultr CentOS 7 avec au moins 4 Go de RAM.
- Un utilisateur sudo .
- Un nom de domaine pointé vers le serveur.
Pour ce didacticiel, nous utiliserons 192.168.0.1
comme adresse IP publique et share.example.com
comme nom de domaine pointé vers l'instance Vultr. Veuillez vous assurer de remplacer toutes les occurrences de l'exemple de nom de domaine et de l'adresse IP publique par celui-ci.
Mettez à jour votre système de base à l'aide du guide Comment mettre à jour CentOS 7 . Une fois votre système mis à jour, procédez à l'installation des dépendances.
Installer les dépendances
Alfresco fournit un package d'installation binaire prêt à installer qui contient tous les logiciels requis pour exécuter l'application. Cependant, nous devons installer quelques dépendances pour prendre en charge le plugin LibreOffice.
sudo yum -y install fontconfig libSM libICE libXrender libXext cups-libs libGLU cairo mesa-libGL-devel
Supprimez Postfix.
sudo yum -y remove postfix
Installer Alfresco
Téléchargez le package d'installation sur le site Web d'Alfresco. Vous pouvez toujours trouver le lien vers le dernier programme d'installation sur la page de téléchargement d'Alfresco .
wget https://download.alfresco.com/release/community/201707-build-00028/alfresco-community-installer-201707-linux-x64.bin
Fournissez des autorisations d'exécution au fichier d'installation.
sudo chmod +x alfresco-community-installer-201707-linux-x64.bin
Démarrez l'installation.
sudo ./alfresco-community-installer-201707-linux-x64.bin
Sélectionnez la langue d'installation. Pour le type d'installation, vous pouvez choisir la première qui indique la Easy install
méthode " ". Cela installera l'application avec la configuration par défaut.
Choisissez l'emplacement par défaut /opt/alfresco-community
pour l'installation de l'application.
Spécifiez le mot de passe administrateur et choisissez " Y
" pour l'installation en tant que service. Cela créera un service de démarrage pour démarrer et gérer facilement le processus de demande.
Remarque: Alfresco recommande au moins 2 CPU et 4 Go de RAM. Si votre système n'a pas la configuration recommandée, vous pouvez recevoir un avertissement indiquant que l'environnement n'est pas configuré de manière optimale pour Alfresco Content Services, cependant, vous pouvez toujours procéder à l'installation.
L'installation de l'application devrait commencer maintenant. Une fois l'application installée, il vous sera demandé si vous souhaitez lancer Alfresco Community Server. Si vous choisissez " Y
", l'application démarrera le serveur immédiatement et vous verrez la sortie suivante.
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
Étant donné que le programme d'installation a également ajouté un service de démarrage, vous pouvez également démarrer l'application.
sudo systemctl start alfresco
Activez le service Alfresco pour qu'il démarre automatiquement au démarrage et en cas d'échec.
sudo systemctl enable alfresco
Par défaut, Alfresco démarre le serveur Web Tomcat pour servir l'application sur le port 8080
. Pour vérifier si le serveur Alfresco fonctionne, autorisez le port requis 8080
via le pare-feu du système.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
Ouvrez votre navigateur préféré et allez à http://192.168.0.1:8080/share
, vous verrez la page de destination Alfresco.
Par défaut, le serveur Tomcat d'Alfresco écoute le port 8080
. Dans ce tutoriel, nous utiliserons Nginx comme proxy inverse afin que l'application soit accessible via la norme HTTP
et les HTTPS
ports. Nous allons également configurer Nginx pour utiliser un SSL généré avec Let's Encrypt SSL gratuit.
Installez le serveur Web Nginx.
sudo yum -y install nginx
Démarrez le serveur Web et activez-le pour qu'il démarre automatiquement au démarrage.
sudo systemctl start nginx
sudo systemctl enable nginx
Installez Certbot, qui est une application cliente de Let's Encrypt CA.
sudo yum -y install certbot
Avant de pouvoir demander les certificats, vous devez autoriser les ports 80
et 443
le pare-feu. Supprimez également le port 8080
de la liste des exceptions de pare-feu car il n'est plus nécessaire.
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
Remarque: Pour obtenir des certificats de Let's Encrypt CA, le domaine pour lequel les certificats doivent être générés doit être dirigé vers le serveur. Sinon, apportez les modifications nécessaires aux enregistrements DNS du domaine et attendez que le DNS se propage avant de refaire la demande de certificat. Certbot vérifie l'autorité de domaine avant de fournir les certificats.
Générez les certificats SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d share.example.com
Les certificats générés sont susceptibles d'être stockés dans /etc/letsencrypt/live/share.example.com/
. Les certificats Let's Encrypt expirent dans 90 jours, il est donc recommandé de configurer le renouvellement automatique des certificats à l'aide des tâches Cron.
Ouvrez le fichier de tâche cron.
sudo crontab -e
Ajoutez la ligne suivante à la fin du fichier.
30 5 * * * /usr/bin/certbot renew --quiet
La tâche cron ci-dessus s'exécutera tous les jours à 5h30. Si le certificat doit expirer, il sera automatiquement renouvelé.
Modifiez le fichier de configuration du serveur Tomcat d'Alfresco.
sudo nano /opt/alfresco-community/tomcat/conf/server.xml
Trouvez les lignes suivantes.
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="32768" />
Ajoutez la ligne proxyPort="443" scheme="https"
dans le bloc de configuration ci-dessus pour qu'elle ressemble au bloc illustré ci-dessous.
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="32768"
proxyPort="443" scheme="https" />
Ouvrez le fichier de configuration par défaut d'Alfresco.
sudo nano /opt/alfresco-community/tomcat/shared/classes/alfresco-global.properties
Trouvez les lignes suivantes.
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
Modifiez les lignes ci-dessus en fonction de votre système. Il devrait ressembler à ce qui est illustré ci-dessous.
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
Créez un nouveau fichier de blocage de serveur pour Alfresco.
sudo nano /etc/nginx/conf.d/share.example.com.conf
Remplissez le fichier.
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://;
}
}
Redémarrez le serveur Web et le service Alfresco pour que les modifications de la configuration puissent prendre effet.
sudo systemctl restart nginx alfresco
Alfresco est maintenant installé et configuré sur votre serveur, accédez aux modules Alfresco à l'adresse suivante.
https://share.example.com/alfresco
Pour accéder aux services de partage Alfresco, visitez l'adresse suivante.
https://share.example.com/share
Connectez-vous en utilisant le compte administrateur initial admin
et le mot de passe que vous avez choisi lors de l'installation.
Félicitations, l'édition communautaire Alfresco est maintenant installée sur votre serveur.