0% found this document useful (0 votes)
61 views42 pages

Installar Notes

This document summarizes the steps to install and configure the main components of an Alfresco content management system on CentOS 7. The components include: Alfresco Content Services 7.0.0, Alfresco Search Services 2.0.1, Java 11, Tomcat 9, PostgreSQL 13, ActiveMQ 5.16. Key steps include creating system users and groups, setting up directories and permissions, installing and configuring each component, and opening required ports in the firewall. Proper configuration of SELinux is also required to avoid permission issues.

Uploaded by

vivik miray
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views42 pages

Installar Notes

This document summarizes the steps to install and configure the main components of an Alfresco content management system on CentOS 7. The components include: Alfresco Content Services 7.0.0, Alfresco Search Services 2.0.1, Java 11, Tomcat 9, PostgreSQL 13, ActiveMQ 5.16. Key steps include creating system users and groups, setting up directories and permissions, installing and configuring each component, and opening required ports in the firewall. Proper configuration of SELinux is also required to avoid permission issues.

Uploaded by

vivik miray
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Les composantes qu'on a installé .

1. ACS-7.0.0 community package (alfresco-content-services-community-


distribution-7.0.0.zip)
2. ASS-2.0.1 package (alfresco-search-services-2.0.1.zip)
3. Java: Oracle jdk-11.0.7 or later/Open JDK 11.0.7 or later (java 11.0.11
is used for this post)
4. Tomcat: Tomcat 9
5. ActiveMQ: ActiveMQ v5.16
6. DB: PostgreSQL 13.1
7. ImageMagick: ImageMagick v7.0.10
8. Libreoffice: LibreOffice v6.3.5.2
9. Alfresco Transform Core AIO Boot App.

Platform CentOS 7

I - Create user and groups


Alfresco est un système complexe , il a plusieurs composantes :
comme search service .
Chaque service doit avoir des privileges système .
Chaque service va s'executer séparement des autres (isolation).
On s'assure que chaque composante a les permissions nécessaires
pour faire ses taches , on réduit donc les vulnérabilités de sécurité .
Un process affecté ne va pas affecter les autres .

sudo groupadd Alfresco


sudo adduser alfresco --system
sudo usermod -a -G Alfresco alfresco
sudo groups alfresco
sudo groupadd Solr
sudo adduser solr --system
sudo usermod -a -G Solr solr
sudo groups solr

II - Arborescence d'Alfresco content service &


search service
Structure de content service
sudo mkdir /usr/local/alfresco-community70
cd /usr/local/alfresci-community70
mkdir activemq -p alf_data/keystore alfresco-pdf-renderer amps
amps_share bin imagemagick libreoffice licenses -p modules/platform
modules/share -p tomcat/shared/classes tomcat/shared/lib

Permissions du répertoire :

sudo chgrp -R Alfresco /usr/local/alfresco-community70


sudo chmod 775 /usr/local/alfresco-community70

sudo chmod -R 775 /usr/local/alfresco-community70/alf_data

modification des variables d'environnement :

sudo nano ~/.bash_profile

# .bash_profile

# Get the aliases and functions


if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

export ALF_HOME=/usr/local/alfresco-community70
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ALF_HOME

export PATH
- Structure de search service

sudo mkdir /usr/local/alfresco-search-services

permission search service

sudo chgrp -R Solr /usr/local/alfresco-search-services

sudo chmod 775 /usr/local/alfresco-search-services

Variables d'environnement

sudo nano ~/.bash_profile

# .bash_profile

# Get the aliases and functions


if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

export ALF_HOME=/usr/local/alfresco-community70
export SOLR_HOME=/usr/local/alfresco-search-services

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ALF_HOME:$SOLR_HOME
export PATH

III- Installation de Java


sudo yum update -y
sudo reboot
sudo yum install java-11-openjdk-devel

set environment variables

sudo nano ~/.bash_profile

# .bash_profile

# Get the aliases and functions


if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs


export JAVA_HOME=/usr/lib/jvm/java-11
export ALF_HOME=/usr/local/alfresco-community70
export SOLR_HOME=/usr/local/alfresco-search-services

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ALF_HOME:$SOLR_HOME

export PATH

IV- Installation de la base de données &


Configuration
Check this post : Howto - PostgreSQL YUM Repository
Add postgresql yum repository :

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-


release-latest-7.noarch.rpm
sudo yum -y install centos-release-scl

sudo yum install -y


https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-
x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql13-server postgresql13 -y
# Initialize the database :
#The initialization process involves creating #the necessary
#structures, tables, and configurations to make the database ready
for #use
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13
### Configurer le firewall

sudo firewall-cmd --add-service=postgresql --permanent

### Changer listen address (les addresses qui peuvent acceder cette
base de données pour avoir remote access )

sudo nano /var/lib/pgsql/13/data/postgresql.conf

listen_addresses = '*' # what IP address(es) to listen on;


# comma-separated list of
addresses;
# defaults to 'localhost'; use '*'
for all
# (change requires restart)
port = 5432 # (change requires restart)

listen_addresses' spécifie les adresses TCP/IP sur lesquelles le


serveur doit écouter les connexions des applications clientes. La valeur
prend la forme d'une liste séparée par des virgules de noms d'hôtes
et/ou d'adresses IP numériques. L'entrée spéciale * correspond à
toutes les interfaces IP disponibles. L'entrée 0.0.0.0 permet d'écouter
sur toutes les adresses IPv4, et :: permet d'écouter sur toutes les
adresses IPv6. Si la liste est vide, le serveur n'écoute sur aucune
interface IP, auquel cas seules les sockets de domaine Unix peuvent
être utilisées pour s'y connecter.
Le 'port' TCP sur lequel le serveur écoute ; 5432 par défaut. Notez que
le même numéro de port est utilisé pour toutes les adresses IP sur
lesquelles le serveur écoute. Ce paramètre ne peut être défini qu'au
démarrage du serveur.
On a besoin aussi de modifier le fichier pg_hba.conf (postgresql host
based authentification)

sudo nano /var/lib/pgsql/11/data/pg_hba.conf

Modifier cette configuration :

# TYPE DATABASE USER ADDRESS


METHOD

# "local" is for Unix domain socket connections only


local all all
peer
# IPv4 local connections:
#host all all 127.0.0.1/32
ident
# IPv6 local connections:
#host all all ::1/128
ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all
peer
#host replication all 127.0.0.1/32
ident
#host replication all ::1/128
ident

# Accept from anywhere


host all all 0.0.0.0/0 md5
host all all ::/0 md5

Apres avoir fait ces configuration il vaut faut redemarrer le service pour
que les configurations seron prises en compte:

sudo systemctl restart postgresql-13.service

Creation d'un nouveau utilisateur :

sudo su - postgres

# Type 'psql' to launch postgresql terminal


-bash-4.2$ psql

# Run below given query to set the password.


postgres=# create role alfresco LOGIN password 'alfresco';
postgres=# create database alfresco encoding 'utf8';

postgres=# grant all on database alfresco to alfresco;

# Type exit to terminate the terminal


exit
# Type exit to leave the bash terminal
exit

V- Installation et configuration de Activemq


sudo tar -xvf /dir/apache-activemq-5.16.2-bin.tar.gz
sudo cp -R /dir/apache-activemq-5.16.2/* /usr/local/alfresco-
community70/activemq/

## Creer la configuration du service ActiveMQ

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

Activemq systemd configuration :

[Unit]
Description=ActiveMQ service
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/alfresco-community70/activemq/bin/activemq
start
ExecStop=/usr/local/alfresco-community70/activemq/bin/activemq stop
User=alfresco
Group=Alfresco
WorkingDirectory=/usr/local/alfresco-community70/activemq/data
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=activemq

[Install]
WantedBy=multi-user.target

Application de la configuration & configuration


firewall
Application de la configuration
sudo systemctl daemon-reload
##Changement des permissions

sudo chgrp -R Alfresco /usr/local/alfresco-community70/activemq


sudo chown -R alfresco:Alfresco /usr/local/alfresco-
community70/activemq/data
## Activer ActiveMQ pour démarrer apres boot
sudo systemctl start activemq
sudo systemctl enable activemq

ActiveMQ a besoin de Quatre ports ouverts :

- 8161 --> for Web Console


- 5672 --> for AMQP
- 61616 --> for OpenWire
- 61613 --> for STOMP

Il faut donc les rajouter aux régles de firewall :

sudo firewall-cmd --zone=public --permanent --add-port=8161/tcp


sudo firewall-cmd --zone=public --permanent --add-port=5672/tcp
sudo firewall-cmd --zone=public --permanent --add-port=61616/tcp
sudo firewall-cmd --zone=public --permanent --add-port=61613/tcp
sudo firewall-cmd --reload

il y a un problème commun lié au module SElinux : ce module a des


mécanismes pour controler l'accés à certaines ports et ressources :
pour s'assurer qu'on aura pas de problèmes par après :

sudo semanage port -a -t http_port_t -p tcp 8161

sudo mkdir /usr/local/alfresco-community70/activemq/tmp


sudo chgrp -R Alfresco /usr/local/alfresco-community70/activemq/tmp
sudo chmod -R 775 /usr/local/alfresco-community70/activemq/tmp

Un problème de permission , lorsqu'on démarre le service en tant


qu'utilisateur alfresco et non pas root user , on doit donc créer un
repertoire tmp , et lui affecter des permissions :

sudo mkdir /usr/local/alfresco-community70/activemq/tmp


sudo chgrp -R Alfresco /usr/local/alfresco-community70/activemq/tmp
sudo chmod -R 775 /usr/local/alfresco-community70/activemq/tmp

Default user and password : admin/admin

VI- Installation de Tomcat

sudo tar -xvf ~DIR_install/apache-tomcat-9.0.48.tar.gz


sudo cp -R ~DIR_install/apache-tomcat-9.0.48/ /usr/local/alfresco-
community70/tomcat/

## update permissions

sudo chgrp -R Alfresco /usr/local/alfresco-community70

sudo chmod -R 755 /usr/local/alfresco-community70/tomcat/bin

sudo chmod -R 755 /usr/local/alfresco-community70/tomcat/conf

sudo chmod -R 755 /usr/local/alfresco-community70/tomcat/shared


sudo chmod -R 755 /usr/local/alfresco-community70/tomcat/lib
sudo chmod -R 775 /usr/local/alfresco-community70/tomcat/temp

sudo chmod -R 775 /usr/local/alfresco-community70/tomcat/logs


sudo chmod -R 775 /usr/local/alfresco-community70/tomcat/work
sudo chmod -R 775 /usr/local/alfresco-community70/tomcat/webapps

Creation du service Tomcat

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

#Systemd unit file for tomcat


[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking
Restart=always

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/usr/local/alfresco-
community70/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/alfresco-community70/tomcat
Environment=CATALINA_BASE=/usr/local/alfresco-community70/tomcat
Environment='CATALINA_OPTS=-Xms3G -Xmx4G -Xss1024k -server -
XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -
Djava.security.egd=file:/dev/./urandom'

ExecStart=/usr/local/alfresco-community70/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
WorkingDirectory=/usr/local/alfresco-community70/tomcat
User=alfresco
Group=Alfresco
[Install]
WantedBy=multi-user.target

Recharger les demons et applications des regles de firewall :


Tomcat a besoin de deux ports ouverts :

- 8080
- 8443

sudo systemctl daemon-reload


sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8443/tcp
sudo firewall-cmd --reload

VII- Configuration de Alfresco content


services
sudo unzip Install_dir/alfresco-content-services-community-
distribution-7.0.0.zip -d Install_dir/alfresco-content-services-
community-distribution-7.0.0

La partie de configuration de keystore est essentielle , car elle permet


de sécuriser les communications entre les différentes composantes du
système .

sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/keystore/CreateSSLKeystores.txt
/usr/local/alfresco-community70/alf_data/keystore/
sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/keystore/generate_keystores.sh
/usr/local/alfresco-community70/alf_data/keystore/
sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/keystore/readme.txt /usr/local/alfresco-
community70/alf_data/keystore/
## Mise à jour des permissions
sudo chgrp -R Alfresco /usr/local/alfresco-
community70/alf_data/keystore
sudo chmod -R 755 /usr/local/alfresco-community70/alf_data/keystore

sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/amps/alfresco-share-services.amp
/usr/local/alfresco-community70/amps/

amps : alfresco module package .


Copier les extensions supplémentaires :
support-tools-repo-1.1.0.0-amp.amp
Copy 'support-tools-repo' amp to "/usr/local/alfresco-
community70/amps/" directory
support-tools-share-1.1.0.0-amp.amp
Copy 'support-tools-share' amp to "/usr/local/alfresco-
community70/amps_share/" directory
javascript-console-repo-0.7.amp (Updated with ACS7 Compatibility
bugfix)
Copy 'javascript-console-repo' amp to "/usr/local/alfresco-
community70/amps/" directory
javascript-console-share-0.7.amp (Updated with ACS7 Compatibility
bugfix)
Copy '_javascript-console-_share' amp to "/usr/local/alfresco-
community70/amps_share/" directory
#Faire une mise à jour de permissions

sudo chgrp -R Alfresco /usr/local/alfresco-community70/amps

sudo chgrp -R Alfresco /usr/local/alfresco-community70/amps_share

sudo chmod -R 755 /usr/local/alfresco-community70/amps

sudo chmod -R 755 /usr/local/alfresco-community70/amps_share

# Copier certains executables


sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/bin/alfresco-mmt.jar /usr/local/alfresco-
community70/bin/

sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/bin/apply_amps.sh /usr/local/alfresco-
community70/bin/

sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/bin/clean_tomcat.sh /usr/local/alfresco-
community70/bin/

## Mise à jour des permissions

sudo chgrp -R Alfresco /usr/local/alfresco-community70/bin


sudo chmod -R 755 /usr/local/alfresco-community70/bin

## Copier les licenses


sudo cp -R /home/centos/Downloads/alfresco-content-services-
community-distribution-7.0.0/licenses/* /usr/local/alfresco-
community70/licenses/
## Mise à jour des permissions
sudo chgrp -R Alfresco /usr/local/alfresco-community70/licenses
Configuration de Tomcat avec Alfresco content
services

sudo cp -R Install_dir/Downloads/alfresco-content-services-
community-distribution-7.0.0/web-server/conf/* /usr/local/alfresco-
community70/tomcat/conf/

sudo cp Install_dir/Downloads/alfresco-content-services-community-
distribution-7.0.0/web-server/lib/* /usr/local/alfresco-
community70/tomcat/lib/

sudo chgrp -R Alfresco /usr/local/alfresco-community70/tomcat/lib

sudo chmod 755 /usr/local/alfresco-community70/tomcat/lib/*.jar

Copier les fichiers d'alfresco content services

sudo cp -R /home/centos/Downloads/alfresco-content-services-
community-distribution-7.0.0/web-server/shared/classes
/usr/local/alfresco-community70/tomcat/shared/classes/

/classes/alfresco-global.properties.sample -> Fichier exemple des propriétés


globales d'Alfresco, utilisé pour les propriétés de configuration.
/classes/alfresco -> Contient la structure de répertoires pour les fichiers de
remplacement de configuration, y compris les répertoires d'extension et de
web-extension

Keystore config
sudo mkdir /usr/local/alfresco-
community70/tomcat/shared/classes/alfresco/extension/keystore
sudo cp -R Install_dir/alfresco-content-services-community-
distribution-7.0.0/keystore/metadata-keystore /usr/local/alfresco-
community70/tomcat/shared/classes/alfresco/extension/keystore

### Update permissions


sudo chgrp -R Alfresco /usr/local/alfresco-
community70/tomcat/shared
sudo chmod -R 755 /usr/local/alfresco-community70/tomcat/shared
sudo rm -rf /usr/local/alfresco-community70/tomcat/webapps/*
##Supprimez tous les fichiers/répertoires de '/usr/local/alfresco-
community70/tomcat/webapps
sudo rm -rf /usr/local/alfresco-community70/tomcat/webapps/*

sudo cp Install_dir/alfresco-content-services-community-
distribution-7.0.0/web-server/webapps/*.war /usr/local/alfresco-
community70/tomcat/webapps/

Les fichiers suivants seront copiés : alfresco.war -> Application web du


référentiel Alfresco. share.war -> Application web de l'interface Share.
ROOT.war -> Application pour la racine du serveur, contient également
du code et des configurations supplémentaires pour gérer le module de
services de bureau Alfresco (alfresco-office-services). Les Services de
bureau Alfresco (AOS) permettent d'accéder directement à Alfresco
Content Services depuis toutes vos applications Microsoft Office. Nous
n'installerons pas ce module car SSL est une activation obligatoire pour
ce module. _vti_bin.war -> Application visant à aider et à prendre en
charge le module AOS.

#Update the permissions for '**/usr/local/alfresco-


community70/tomcat/webapps/**' directory
sudo chgrp -R Alfresco /usr/local/alfresco-
community70/tomcat/webapps/
sudo chmod -R 775 /usr/local/alfresco-
community70/tomcat/webapps/*.war
## Delete files from catalina

sudo rm -rf /usr/local/alfresco-


community70/tomcat/work/Catalina/localhost/*

## Mise à jour de permissions

sudo chgrp -R Alfresco /usr/local/alfresco-


community70/tomcat/work/Catalina/localhost

sudo chmod -R 775 /usr/local/alfresco-


community70/tomcat/work/Catalina/localhost

## Configurer le serveur tomcat : server.xml

sudo nano /usr/local/alfresco-community70/tomcat/conf/server.xml

Modifier la configuration suivant comme suit :

<Connector port="8080" protocol="HTTP/1.1"


URIEncoding="UTF-8" connectionTimeout="20000"
maxHttpHeaderSize="32768"
redirectPort="8443" enableLookups="false" xpoweredBy="false"
server="AlfrescoECM"/>

MM chose pour ceci :

<Connector port="8009" address="::1" URIEncoding="UTF-8"


protocol="AJP/1.3" redirectPort="8443" xpoweredBy="false"/>
Modification des proprietés Catalina :

sudo nano /usr/local/alfresco-


community70/tomcat/conf/catalina.properties

Modifier la proprieté Shared loader

shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/
lib/*.jar

Rajouter la variable Java_opts dans les variables d'environnement

sudo nano /usr/local/alfresco-community70/tomcat/bin/catalina.sh

export JAVA_TOOL_OPTIONS="-Dencryption.keystore.type=JCEKS -
Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding -
Dencryption.keyAlgorithm=DESede -
Dencryption.keystore.location=/usr/local/alfresco-
community70/tomcat/shared/classes/alfresco/extension/keystore/metad
ata-keystore/keystore -Dmetadata-keystore.password=mp6yc0UD9e -
Dmetadata-keystore.aliases=metadata -Dmetadata-
keystore.metadata.password=oKIWzVdEdA -Dmetadata-
keystore.metadata.algorithm=DESede"

Modification d'Alfresco global properties


C'est un fichier dans lequel on stocke tous les paramétres de
configuration de notre environnement , ce fichier est ecrit dans le
format de proprieté Java .

sudo mv /usr/local/alfresco-
community70/tomcat/shared/classes/alfresco-global.properties.sample
/usr/local/alfresco-community70/tomcat/shared/classes/alfresco-
global.properties
### Mise à jour des permissions
sudo chgrp Alfresco /usr/local/alfresco-
community70/tomcat/shared/classes/alfresco-global.properties

sudo chmod 775 /usr/local/alfresco-


community70/tomcat/shared/classes/alfresco-global.properties

Modification des proprietés

sudo nano /usr/local/alfresco-


community70/tomcat/shared/classes/alfresco-global.properties
### add the follocing properties

dir.root=/usr/local/alfresco-community70/alf_data
dir.keystore=/usr/local/alfresco-
community70/tomcat/shared/classes/alfresco/extension/keystore
alfresco.context=alfresco
alfresco.host=${localname}
alfresco.port=8080
alfresco.protocol=http
share.context=share
share.host=${localname}
share.port=8080
share.protocol=http
### Database Connection properties

db.driver=org.postgresql.Driver
db.username=alfresco
db.password=alfresco
db.name=alfresco
## La base de données est installé sur ce serveur : donc l'addresse
sera configuré pour être sur localhost

db.url=jdbc:postgresql://localhost:5432/${db.name}
db.pool.max=275
db.pool.validate.query=SELECT 1

# Add servermode to uknown

system.serverMode=UNKNOWN

## Alfresco rmi service configuration


alfresco.rmi.services.port=50500
alfresco.rmi.services.host=0.0.0.0

VIII - Outils de transformations


Installation de ImageMagick

sudo yum localinstall Install_dir/Downloads/Imagemagick7/*.rpm -y

# Emplacements des executables


# /usr/bin/convert
#/usr/bin/indentify
#/usr/bin/magick
#/usr/bin/magick-script
# Creation de liens symboliques pour Imagemagick
sudo ln -s /usr/bin/convert /usr/local/alfresco-
community70/imagemagick
sudo ln -s /usr/lib64/ImageMagick-7.0.10/config-Q16HDRI
/usr/local/alfresco-community70/imagemagick
sudo ln -s /usr/lib64/ImageMagick-7.0.10/modules-Q16HDRI
/usr/local/alfresco-community70/imagemagick

Installation de LibreOffice

sudo yum localinstall Install_dir/LibreOffice_6.3.5.2_Linux_x86-


64_rpm/RPMS/*.rpm -y
# LibreOffice est installé dans ce repertoire :/opt/libreoffice6.3
# Creation de lien symbolique
sudo ln -s /opt/libreoffice6.3/* /usr/local/alfresco-
community70/libreoffice

Alfresco PDF renderer

sudo tar -xvf Install_dir/alfresco-pdf-renderer-1.1-linux.tgz --


directory Install_dir/

sudo cp Install_dir/alfresco-pdf-renderer /usr/local/alfresco-


community70/alfresco-pdf-renderer/

### Mise à jour des permissions

sudo chgrp -R Alfresco /usr/local/alfresco-community70/alfresco-


pdf-renderer

sudo chmod -R 755 /usr/local/alfresco-community70/alfresco-pdf-


renderer

Un Module est nécessaire à configurer

sudo mkdir /usr/local/alfresco-community70/exiftool


sudo tar -xvf Install_dir/image-exiftool-12.25.tgz --directory
/home/centos/Downloads/
sudo cp -R Install_dir/Image-ExifTool-12.25/* /usr/local/alfresco-
community70/exiftool/

export PATH=$PATH:$ALF_HOME/exiftool

## Change permissions
sudo chgrp -R Alfresco /usr/local/alfresco-community70/exiftool
sudo chmod -R 755 /usr/local/alfresco-community70/exiftool
Mise à jour du ficher de configuration alfresco
Les service de transformation sont accessible via les proprietés
suivantes :

sudo nano /usr/local/alfresco-community70/shared/classes/alfresco-


global.properties

localTransform.core-aio.url=http://localhost:8090/

#This property is default true, here it it for information purpose.


local.transform.service.enabled=true

# Add the following config for ActiveMQ

messaging.broker.url=tcp://localhost:61616

#This property is default true, here it it for information purpose.


messaging.subsystem.autoStart=true

#If you have setup username and password for AMQ, then set the
below properties. In my case i have kept default admin/admin
messaging.broker.username=admin
messaging.broker.password=admin

Copier les executables du service de transformation

sudo cp Install_dir/alfresco-transform-core-aio-boot-2.4.0.jar
/usr/local/alfresco-community70/bin/
sudo chgrp Alfresco /usr/local/alfresco-community70/bin/alfresco-
transform-core-aio-boot-2.4.0.jar
sudo chmod 755 /usr/local/alfresco-community70/bin/alfresco-
transform-core-aio-boot-2.4.0.jar_

Pour Démarrer les services de transformations


sudo cp Install_dir/alfresco7-solr-localtransform-dist-setup/linux-
platform/alfresco-community70/localTransformationService.sh
/usr/local/alfresco-community70/

Start/stop transformation service

sudo -u alfresco /usr/local/alfresco-


community70/localTransformationService.sh start
sudo -u alfresco /usr/local/alfresco-
community70/localTransformationService.sh stop

Mise à jour des proprietés globales :


sudo nano /usr/local/alfresco-
community70/shared/classes/alfresco-global.properties

notification.email.siteinvite=false

### License location ###


dir.license.external=/usr/local/alfresco-community70
security.anyDenyDenies=false
smart.folders.enabled=false
alfresco.jmx.connector.enabled=false

Démarrer le service de logging :


Activez l'enregistrement des journaux afin de pouvoir configurer des
enregistreurs personnalisés ou modifier/mettre à jour les niveaux de
journalisation (facultatif).
Allez dans le dossier /usr/local/alfresco-
community70/tomcat/shared/classes/alfresco/extension/ et renommez
'custom-log4j.properties.sample' en 'custom-log4j.properties'. Vous
pouvez modifier les niveaux de journalisation selon vos besoins.

Applications d'alfresco package modules

sudo $ALF_HOME/bin/apply_amps.sh

## Lorsque les amps seront installés , ceci peut créer des fichiers
avec des permissions root , il faut donc changer les permissions
encore .
sudo chgrp -R Alfresco /usr/local/alfresco-
community70/tomcat/webapps/*.war
sudo chmod -R 775 /usr/local/alfresco-
community70/tomcat/webapps/*.war

Liaison entre alfresco repository & share


Change the following , au cas ou on veut avoir alfresco repository and
share dans des serveurs différents , on peut changer cette proprieté .
cd /usr/local/alfresco-
community70/tomcat/shared/classes/alfresco/web-extension/share-
config-custom.xml
<repository-url>http://localhost:8080/alfresco</repository-url>

Same Thing for the remote configuration .

<config evaluator="string-compare" condition="Remote">


<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts
that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-
url>http://localhost:8080/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>

<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts
that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-
url>http://localhost:8080/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>

<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP
authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-
url>http://localhost:8080/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>

<endpoint>
<id>alfresco-api</id>
<parent-id>alfresco</parent-id>
<name>Alfresco Public API - user access</name>
<description>Access to Alfresco Repository Public API
that require user authentication.
This makes use of the authentication that
is provided by parent 'alfresco' endpoint.</description>
<connector-id>alfresco</connector-id>
<endpoint-
url>http://localhost:8080/alfresco/api</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>

Il y a un certain problème lié àla recherche des utilisateurs , pour cela


une proprieté doit être modifié .

sudo nano /usr/local/alfresco-


community70/tomcat/shared/classes/alfresco/web-extension/share-
config-custom.xml

on doit donc changer la proprieté <show-authorization-status> comme suit :

<config evaluator="string-compare" condition="Users"


replace="true">
<users>
<!-- minimum length for username and password -->
<username-min-length>2</username-min-length>
<password-min-length>3</password-min-length>
<!-- Default value is 'true', setting it to 'false' to
fix the user search issue. -->
<show-authorization-status>false</show-authorization-
status>
</users>
<!-- This enables/disables the Add External Users Panel on
the Add Users page. -->
<enable-external-users-panel>false</enable-external-users-
panel>
</config>

IX - Configuration de moteur de recherche


ASS

## extraction de fichiers
sudo unzip Install_dir/alfresco-search-services-2.0.1.zip -d
/home/centos/Downloads/alfresco-search-services-2.0.1

## Copie de fichiers
sudo cp -R Install_dir/alfresco-search-services-2.0.1/alfresco-
search-services/* /usr/local/alfresco-search-services/

## Changement de permissions

sudo chown -R solr:Solr /usr/local/alfresco-search-services


sudo chmod -R 755 /usr/local/alfresco-search-services
sudo chmod -R 775 /usr/local/alfresco-search-services/logs
sudo chmod -R 775 /usr/local/alfresco-search-services/solrhome

## Rajouter les configurations de SOLR


sudo nano /usr/local/alfresco-
community70/tomcat/shared/classes/alfresco-global.properties
solr.host=localhost
solr.port=8983
solr.secureComms=none #Possible values are:
none, https, For ACS7.0, ACS7.1 or below ONLY
solr.base.url=/solr
index.subsystem.name=solr6

Enable Multi language Search

sudo nano /usr/local/alfresco-search-


services/solrhome/conf/shared.properties

alfresco.cross.locale.datatype.0=
{http://www.alfresco.org/model/dictionary/1.0}text
alfresco.cross.locale.datatype.1=
{http://www.alfresco.org/model/dictionary/1.0}content
alfresco.cross.locale.datatype.2=
{http://www.alfresco.org/model/dictionary/1.0}mltext

Enable Search suggestions

sudo nano /usr/local/alfresco-search-


services/solrhome/conf/shared.properties
alfresco.suggestable.property.0=
{http://www.alfresco.org/model/content/1.0}name
alfresco.suggestable.property.1=
{http://www.alfresco.org/model/content/1.0}title
alfresco.suggestable.property.2=
{http://www.alfresco.org/model/content/1.0}description
alfresco.suggestable.property.3=
{http://www.alfresco.org/model/content/1.0}content

Si vous configurez les services de recherche sur une machine


différente ou à distance, vous devrez définir les variables
d'environnement SOLR_SOLR_HOST, SOLR_SOLR_PORT,
SOLR_SOLR_BASEURL, SOLR_ALFRESCO_HOST,
SOLR_ALFRESCO_PORT et SOLR_ALFRESCO_BASEURL. Cela est
facultatif, mais nous conserverons la correspondance pour référence
future.

sudo nano /usr/local/alfresco-search-services/solr.in.sh


# Rajouter les lignes suivantes

SOLR_SOLR_HOST=localhost
SOLR_SOLR_PORT=8983
SOLR_SOLR_BASEURL=/solr
SOLR_ALFRESCO_HOST=localhost
SOLR_ALFRESCO_PORT=8080
SOLR_ALFRESCO_BASEURL=/alfresco
SOLR_HOME=/usr/local/alfresco-search-services/solrhome

#Since we are setting up with no SSL, this property need to


be set to none. Default is https. **For ACS7.0, ACS7.1 or below
ONLY**
SOLR_ALFRESCO_SECURECOMMS=none
sudo nano /usr/local/alfresco-search-
services/solrhome/templates/rerank/conf/solrcore.properties
# Changer la proprieté suivante
alfresco.secureComms=none

Systemd configuration alfresco search service

# Systemd unit file for solr6


[Unit]
Description=Alfresco search service
After=syslog.target network.target

[Service]
Type=forking
Restart=always

Environment=JAVA_HOME=/usr/lib/jvm/jre

ExecStart=/usr/local/alfresco-search-services/solr/bin/solr start
ExecStop=/usr/local/alfresco-search-services/solr/bin/solr stop -
all

User=solr
Group=Solr

[Install]
WantedBy=multi-user.target

Appliquer la configuration et démarrer SOLR

sudo systemctl daemon-reload


sudo systemctl start solr
sudo systemctl enable solr
PORT de SOLR : 8983
Rajouter SOLR dans la configuration firewall

sudo firewall-cmd --zone=public --permanent --add-port=8983/tcp


sudo firewall-cmd --reload

Interfaces `
http://localhost:8983/solr
http://localhost:8983/solr/#/alfresco

Démarrer les services


Démarrer activemq
sudo systemctl start activemq
Demarrer la base de données
sudo systemctl start postgresql-13.service
Démarrer alfresco
sudo systemctl start tomcat
Demarrer Solr search service
sudo systemctl start solr
Il y a un script qu'on peut utiliser pour démarrer tous ces services à la
fois :
Créer le script start.sh suivant :

#!/bin/bash

#Order of operation
## - Start AMQ
## - Start LocalTransformationService
## - Start DB
## - Start ACS
## - Start SOLR

printf "\n------------------------------ Starting services --------


----------------- \n"

#User can pass ALF_HOME path. Defaults to "/usr/local/alfresco-


community70".
export ALF_HOME=${1:-"/usr/local/alfresco-community70"}
#User can pass SOLR_HOME path. Defaults to "/usr/local/alfresco-
search-services".
export SOLR_HOME=${2:-"/usr/local/alfresco-search-services"}

export CATALINA_HOME=$ALF_HOME/tomcat
export CATALINA_TMPDIR=$CATALINA_HOME/temp
export JRE_HOME=$JAVA_HOME

# Check if JRE_HOME is set in path variable or not, else set


default path. It is mandatory for acs to start
if [ -z "$JRE_HOME" ]
then
echo "JRE_HOME could not be found, setting the default..."
export JRE_HOME="/usr/lib/jvm/java-11"
fi

#Export JRE_HOME to PATH


export PATH=$PATH:$JRE_HOME/bin
# Check if ALF_HOME is set in path variable or not, we may need it
for executing shell scripts as needed.
if [[ "$PATH" == *"$ALF_HOME"* ]]; then
echo "$ALF_HOME already set in PATH variable."
else
export PATH=$PATH:$ALF_HOME

fi

# Check if SOLR_HOME is set in path variable or not, we may need it


for executing shell scripts as needed.
if [[ "$PATH" == *"$SOLR_HOME"* ]]; then
echo "$SOLR_HOME already set in PATH variable."
else
export PATH=$PATH:$SOLR_HOME
fi

#User need to pass this param on initial startup in order to create


the cores. if core values are not passed then default 'alfresco and
archive' will be used.
SOLR_CORES=${3:-"alfresco,archive"}

#Set the exiftool path in PATH variable.


export PATH=$PATH:$ALF_HOME/exiftool

JAVA_OPTS="-Xms3G -Xmx4G -Xss1024k"


JAVA_OPTS="${JAVA_OPTS} -XX:+UseG1GC -XX:+UseStringDeduplication"
JAVA_OPTS="${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom"
JAVA_OPTS="${JAVA_OPTS} -Djava.io.tmpdir=${CATALINA_TMPDIR}"
JAVA_OPTS="${JAVA_OPTS} -Dfile.encoding=UTF-8 -
Dsun.jnu.encoding=UTF-8"
JAVA_OPTS="${JAVA_OPTS} -Dalfresco.home=${ALF_HOME} -
Dcom.sun.management.jmxremote=true"
JAVA_OPTS="${JAVA_OPTS} -server"

echo "-------------------------------------------"
echo CATALINA_HOME: $CATALINA_HOME
echo CATALINA_TMPDIR: $CATALINA_TMPDIR
echo JRE_HOME: $JRE_HOME
echo JAVA_OPTS: $JAVA_OPTS
echo SOLR_HOME: $SOLR_HOME
echo ALF_HOME: $ALF_HOME
echo PATH: $PATH
echo "-------------------------------------------"

StartAMQ() {
printf "\nStarting ActiveMQ... \n"
sudo systemctl start activemq

if [[ $? = 0 ]]
then
echo "activemq service started successfully."
else
echo "Failed to start activemq service!"
exit 1
fi
}

StartLocalTransformService() {
printf "\nInvoking local transformation service startup
script... \n"
# Check for more info: https://docs.alfresco.com/transform-
service/latest/install/#install-with-zip
sudo -u alfresco $ALF_HOME/localTransformationService.sh
start

if [[ $? = 0 ]]
then
echo "localTransformService script executed
successfully."
else
echo "Failed to execute localTransformService script!"
exit 1
fi
}

StartDB() {
printf "\nStarting Postgresql... \n"
sudo systemctl start postgresql-13.service

if [[ $? = 0 ]]
then
echo "postgresql-13.service started successfully."
else
echo "Failed to start postgresql-13.service!"
exit 1
fi
}

StartACS() {
printf "\nStarting Alfresco Tomcat... \n"
sudo systemctl start tomcat

if [[ $? = 0 ]]
then
echo "tomcat service started successfully."
else
echo "Failed to start tomcat service!"
exit 1
fi
}

StartSOLR() {

#flag for creating the cores on first startup


INITIAL=false

#Setting the context to solrhome


cd $SOLR_HOME/solrhome
for CORE in ${SOLR_CORES//,/ }
do
echo "Checking availability of the core: $CORE"
if [ -d "$CORE" ]; then
echo "'$CORE' found.."
INITIAL=false
else
echo "Warning: '$CORE' NOT found."
INITIAL=true
fi
done

#Going back to original context


cd $ALF_HOME

if [[ $INITIAL == true ]]; then


printf "\nStarting solr6 with initial mode, core
'$SOLR_CORES' will be created... \n"
sudo -u solr $SOLR_HOME/solr/bin/solr start -a "-
Dcreate.alfresco.defaults=alfresco,archive"
else

printf "\nStarting solr6... \n"


sudo systemctl start solr
if [[ $? = 0 ]]
then
echo "solr6 service started successfully."
else
echo "Failed to start solr6 service!"
exit 1
fi
fi
}

###################################

StartAMQ
StartLocalTransformService
StartDB
StartACS
StartSOLR

###################################

sudo cp install_dir/start.sh /usr/local/alfresco-community70/


sudo chgrp Alfresco /usr/local/alfresco-community70/start.sh
sudo chmod 755 /usr/local/alfresco-community70/start.sh

Pour accéder à Alfresco : http://localhost:8080/alfresco

Stopper les services


Créer le script suivant stop.sh

#!/bin/bash

#Order of operation
## - Stop LocalTransformService
## - Stop ACS
## - Stop DB
## - Stop Solr
## - Stop AMQ

printf "\n------------------------------ Stopping services --------


----------------- \n"

#User can pass ALF_HOME path. Defaults to "/usr/local/alfresco-


community70".
export ALF_HOME=${1:-"/usr/local/alfresco-community70"}
#User can pass SOLR_HOME path. Defaults to "/usr/local/alfresco-
search-services".
export SOLR_HOME=${2:-"/usr/local/alfresco-search-services"}

export CATALINA_HOME=$ALF_HOME/tomcat
export CATALINA_TMPDIR=$CATALINA_HOME/temp
export JRE_HOME=$JAVA_HOME

# Check if JRE_HOME is set in path variable or not, else set


default path. It is mandatory for acs to start
if [ -z "$JRE_HOME" ]
then
echo "JRE_HOME could not be found, setting the default..."
export JRE_HOME="/usr/lib/jvm/java-11"
fi

#Export JRE_HOME to PATH


export PATH=$PATH:$JRE_HOME/bin

# Check if ALF_HOME is set in path variable or not, we may need it


for executing shell scripts as needed.
if [[ "$PATH" == *"$ALF_HOME"* ]]; then
echo "$ALF_HOME already set in PATH variable."
else
export PATH=$PATH:$ALF_HOME
fi

# Check if SOLR_HOME is set in path variable or not, we may need it


for executing shell scripts as needed.
if [[ "$PATH" == *"$SOLR_HOME"* ]]; then
echo "$SOLR_HOME already set in PATH variable."
else
export PATH=$PATH:$SOLR_HOME
fi

echo "---------------------------------------------"
echo CATALINA_HOME: $CATALINA_HOME
echo CATALINA_TMPDIR: $CATALINA_TMPDIR
echo JRE_HOME: $JRE_HOME
echo SOLR_HOME: $SOLR_HOME
echo ALF_HOME: $ALF_HOME
echo PATH: $PATH
echo "---------------------------------------------"

StopLocalTransformService() {
printf "\nInvoking local transformation service stop script...
\n"
# Check for more info: https://docs.alfresco.com/transform-
service/latest/install/#install-with-zip
sudo -u alfresco $ALF_HOME/localTransformationService.sh
stop

if [[ $? = 0 ]]
then
echo "localTransformService script executed
successfully."
else
echo "Failed to execute localTransformService script!"
exit 1
fi
}

StopACS() {
printf "\nShutting down Alfresco Tomcat... \n"
sudo systemctl stop tomcat

if [[ $? = 0 ]]
then
echo "tomcat service stopped successfully."
else
echo "Failed to stop tomcat service!"
exit 1
fi
}

StopDB() {

printf "\nShutting down Postgresql... \n"


sudo systemctl stop postgresql-13.service

if [[ $? = 0 ]]
then
echo "postgresql-13.service stopped successfully."
else
echo "Failed to stop postgresql-13.service!"
exit 1
fi
}

StopSOLR() {

printf "\nShutting down solr6... \n"


sudo systemctl stop solr

if [[ $? = 0 ]]
then
echo "solr6 service stopped successfully."
else
echo "Failed to stop solr6 service!"
exit 1
fi
}

StopAMQ() {
printf "\nStopping ActiveMQ... \n"
sudo systemctl stop activemq

if [[ $? = 0 ]]
then
echo "activemq service stopped successfully."
else
echo "Failed to stop activemq service!"
exit 1
fi
}

###################################

StopLocalTransformService
StopACS
StopDB
StopSOLR
StopAMQ

###################################

Changer le répertoire courant vers l'emplacement de stop.sh

sudo cp ./stop.sh /usr/local/alfresco-community70/


sudo chgrp Alfresco /usr/local/alfresco-community70/start.sh
sudo chmod 755 /usr/local/alfresco-community70/stop.sh

You might also like