SlideShare a Scribd company logo
Installing Alfresco
components one by one
Angel Borroy
developer@keensoft
Alfresco components (201702)
https://community.alfresco.com/docs/DOC-6641-alfresco-community-edition-file-list-201702
Alfresco Community Distribution
Alfresco SDK 3.0.0
Extension path
Tomcat resources
Alfresco Search Services (aka SOLR 6)
SOLR 6 software
SOLR 6 Alfresco cores definition
Anything else?
Apache
Tomcat
Apache HTTPd
Interactions
HTTP
80
AJP
7009
AJP
8009
HTTP
8983
HTTP
SOLR 6
Share
LibreOffice
PostgreSQL
TCP
8100
TCP
5432
Filesystem
TCP
2049
Alfresco
1
2
3
4
5
6
Resources - Server map
HTTP 0,5 GB
Share 2 GB
Alfresco 3 GB
SOLR 3 GB
LibreOffice 1 GB
PostgreSQL 2 GB
OS 0,5 GB
12
GB
ecm.local
share.local
alfresco.local
solr.local
libreoffice.local
postgresql.local
6
servers
Installing
30 minutes count down
Base OS image
$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
$ yum list installed
ImageMagick.x86_64 6.7.8.9-15.el7_2
apr.x86_64 1.4.8-3.el7
cairo.x86_64 1.14.2-1.el7
cups-libs.x86_64 1:1.6.3-22.el7
fontconfig.x86_64 2.10.95-7.el7
ghostscript.x86_64 9.07-18.el7
httpd.x86_64 2.4.6-40.el7.centos.4
postgresql94.x86_64 9.4.9-1PGDG.rhel7
https://www.dropbox.com/s/mm43kmzg4jtrueb/alfresco-centos.ova?dl=0
root / keensoft
Downloaded software
# ls -lh
-rw-r--r--. 1 root root 315M alfresco-community-distribution-201702.zip
-rw-r--r--. 1 root root 127M alfresco-search-services-1.0.0.zip
-rw-r--r--. 1 root root 8,6M apache-tomcat-7.0.59.tar.gz
-rw-r--r--. 1 root root 173M jdk-8u101-linux-x64.tar.gz
-rw-r--r--. 1 root root 263M LibreOffice_5.3.2_Linux_x86-64_rpm.tar.gz
Faking server names
$ vi /etc/hosts
127.0.0.1 ecm.local
127.0.0.1 alfresco.local
127.0.0.1 share.local
127.0.0.1 solr.local
127.0.0.1 libreoffice.local
127.0.0.1 postgresql.local
Install Oracle JDK
$ cd /opt
$ tar xvf /root/jdk-8u101-linux-x64.tar.gz
$ alternatives --install /usr/bin/java java /opt/jdk1.8.0_101/bin/java 2
$ java -version
java version "1.8.0_101”
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
1. Install PostgreSQL
$ /usr/pgsql-9.4/bin/postgresql94-setup initdb
$ systemctl enable postgresql-9.4
$ systemctl start postgresql-9.4
$ su - postgres
$ psql
CREATE DATABASE alfresco
WITH OWNER = postgres
ENCODING = 'UTF8'
TABLESPACE = pg_default
TEMPLATE template0;
PostgreSQL
1. Install PostgreSQL
CREATE ROLE alfresco LOGIN
PASSWORD 'alfresco'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
GRANT ALL ON DATABASE alfresco TO public;
GRANT ALL ON DATABASE alfresco TO postgres;
GRANT ALL ON DATABASE alfresco TO alfresco;
q
PostgreSQL
1. Install PostgreSQL
$ vi /var/lib/pgsql/9.4/data/pg_hba.conf
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
$ vi /var/lib/pgsql/9.4/data/postgresql.conf
maintenance_work_mem = 192MB
checkpoint_completion_target = 0.7
effective_cache_size = 2048MB
work_mem = 22MB
wal_buffers = 4MB
checkpoint_segments = 8
shared_buffers = 768MB
PostgreSQL
1. Install PostgreSQL
$ exit
$ systemctl restart postgresql-9.4
$ cat /etc/hosts
127.0.0.1 postgresql.local
PostgreSQL
2. Install Alfresco webapp
$ mkdir /opt/alfresco
$ cd /opt/alfresco
$ tar xvf /root/apache-tomcat-7.0.59.tar.gz
$ mv apache-tomcat-7.0.59 tomcat
$ cd tomcat/bin/
$ tar xzvf tomcat-native.tar.gz
$ cd tomcat-native-1.1.32-src/jni/native/
$ ./configure --with-apr=/usr/bin/apr-1-config 
--with-java-home=/opt/jdk1.8.0_101
$ make; make install
Libraries have been installed in:
/usr/local/apr/lib
Apache
Tomcat
2. Install Alfresco webapp
$ vi /opt/alfresco/tomcat/bin/setenv.sh
# Load Tomcat Native Library
LD_LIBRARY_PATH="/usr/local/apr/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
$ /opt/alfresco/tomcat/bin/catalina.sh start
$ tail -f -n 100 /opt/alfresco/tomcat/logs/catalina.out
INFO: Loaded APR based Apache Tomcat Native library 1.1.32 using APR version
1.4.8.
$ /opt/alfresco/tomcat/bin/catalina.sh stop
Apache
Tomcat
2. Install Alfresco webapp
$ unzip alfresco-community-distribution-201702.zip
$ cd alfresco-community-distribution-201702
$ mkdir /opt/alfresco/alf_data
$ cp -r amps /opt/alfresco
$ mkdir /opt/alfresco/bin
$ cp bin/alfresco-mmt.jar /opt/alfresco/bin
$ cp bin/apply_amps.sh /opt/alfresco/bin
$ cp bin/clean_tomcat.sh /opt/alfresco/bin
$ mkdir -p /opt/alfresco/modules/platform
Alfresco
2. Install Alfresco webapp
$ cd web-server
$ cp -r * /opt/alfresco/tomcat
$ rm -rf /opt/alfresco/tomcat/webapps/share.war
$ rm -rf /opt/alfresco/tomcat/webapps/solr4.war
$ rm -rf /opt/alfresco/tomcat/conf/Catalina/localhost/share.xml
$ rm -rf /opt/alfresco/tomcat/shared/classes/alfresco/web-extension
$ mkdir /opt/alfresco/tomcat/shared/lib
$ vi /opt/alfresco/tomcat/conf/catalina.properties
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.
jar
Alfresco
2. Install Alfresco webapp
$ chmod +x /opt/alfresco/tomcat/bin/setenv.sh
$ vi /opt/alfresco/tomcat/bin/setenv.sh
JAVA_OPTS="$JAVA_OPTS -Dalfresco.home=/opt/alfresco"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=128m"
JAVA_OPTS="$JAVA_OPTS -Xms512M -Xmx3072M"
export JAVA_OPTS
Apache
Tomcat
2. Install Alfresco webapp
$ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
dir.root=/opt/alfresco/alf_data
db.driver=org.postgresql.Driver
db.username=alfresco
db.password=alfresco
db.url=jdbc:postgresql://postgresql.local:5432/alfresco
Alfresco
2. Install Alfresco webapp
$ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
alfresco.context=alfresco
alfresco.host=alfresco.local
alfresco.port=8080
alfresco.protocol=http
cifs.enabled=false
ftp.enabled=false
imap.server.enabled=false
alfresco.rmi.services.host=0.0.0.0
monitor.rmi.service.port=0
index.subsystem.name=noindex
Alfresco
2. Install Alfresco webapp
$ cat /etc/hosts
127.0.0.1 alfresco.local
$ ls /opt/alfresco/amps
alfresco-share-services.amp
$ chmod +x /opt/alfresco/bin/apply_amps.sh
$ /opt/alfresco/bin/apply_amps.sh
03210000 Invalid directory '/opt/alfresco/amps_share'
Alfresco
2. Install Alfresco webapp
$ /opt/alfresco/tomcat/bin/catalina.sh start
$ tail -f /opt/alfresco/tomcat/logs/catalina.out
abr 21, 2017 4:42:46 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
abr 21, 2017 4:42:46 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
abr 21, 2017 4:42:46 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 104755 ms
Alfresco
3. Install SOLR 6 webapp
$ mkdir /opt/solr6
$ cd /opt/solr6
$ unzip /root/alfresco-search-services-1.0.0.zip
$ cd alfresco-search-services
$ mv * ..
$ cd ..
$ rm -rf alfresco-search-services/
$ vi /opt/solr6/solrhome/templates/rerank/conf/solrcore.properties
alfresco.host=alfresco.local
SOLR 6
3. Install SOLR 6 webapp
$ /opt/solr6/solr/bin/solr start -force -m 3G 
-a -Dcreate.alfresco.defaults=alfresco,archive
Started Solr server on port 8983 (pid=2498).
Happy searching!
$ tail -f /opt/solr6/logs/solr.log
2017-04-21 17:01:47.272 INFO (main) [ ] o.e.j.s.ServerConnector Started
ServerConnector@624ea235{HTTP/1.1,[http/1.1]}{0.0.0.0:8983}
2017-04-21 17:01:47.272 INFO (main) [ ] o.e.j.s.Server Started @7126ms
SOLR 6
3. Install SOLR 6 webapp
$ cat /etc/hosts
127.0.0.1 solr.local
$ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
index.subsystem.name=solr6
solr.host=solr.local
solr.port=8983
solr.port.ssl=8984
solr.secureComms=none
$ /opt/alfresco/tomcat/bin/catalina.sh stop
$ /opt/alfresco/tomcat/bin/catalina.sh start
Alfresco
4. Install Share webapp
$ mkdir /opt/share
$ cd /opt/share
$ tar xvf /root/apache-tomcat-7.0.59.tar.gz
$ mv apache-tomcat-7.0.59 tomcat
$ vi /opt/share/tomcat/bin/setenv.sh
# Load Tomcat Native Library
LD_LIBRARY_PATH="/usr/local/apr/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
Apache
Tomcat
4. Install Share webapp
$ vi /opt/share/tomcat/conf/server.xml
<Server port="7005" shutdown="SHUTDOWN">
<Connector port="7080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="7443" />
<Connector port="7009" URIEncoding="UTF-8"
protocol="AJP/1.3" redirectPort="7443" />
</Server>
Apache
Tomcat
4. Install Share webapp
$ cd /root/alfresco-community-distribution-201702
$ mkdir /opt/share/amps_share
$ mkdir /opt/share/bin
$ cp bin/alfresco-mmt.jar /opt/share/bin
$ cp bin/apply_amps.sh /opt/share/bin
$ cp bin/clean_tomcat.sh /opt/share/bin
$ mkdir -p /opt/share/modules/share
Share
4. Install Share webapp
$ cd web-server
$ cp -r * /opt/share/tomcat
$ rm -rf /opt/share/tomcat/webapps/alfresco.war
$ rm -rf /opt/share/tomcat/webapps/solr4.war
$ rm -rf /opt/share/tomcat/conf/Catalina/localhost/alfresco.xml
$ rm -rf /opt/share/tomcat/shared/classes/alfresco/extension
$ mkdir /opt/share/tomcat/shared/lib
$ vi /opt/share/tomcat/conf/catalina.properties
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.
jar
Share
4. Install Share webapp
$ vi /opt/share/tomcat/shared/classes/alfresco/web-extension/share-config-
custom.xml
<config evaluator="string-compare" condition="Remote">
<endpoint-url>http://alfresco.local:8080/alfresco/s</endpoint-url> [x4]
</config>
$ cat /etc/hosts
127.0.0.1 share.local
Share
4. Install Share webapp
$ touch /opt/share/tomcat/bin/setenv.sh
$ chmod +x /opt/share/tomcat/bin/setenv.sh
$ vi /opt/share/tomcat/bin/setenv.sh
LD_LIBRARY_PATH="/usr/local/apr/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=128m"
JAVA_OPTS="$JAVA_OPTS -Xms512M -Xmx2048M"
export JAVA_OPTS
Apache
Tomcat
4. Install Share webapp
$ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
share.context=share
share.host=share.local
share.port=7080
share.protocol=http
img.root=/usr/share/doc/imagemagick
img.exe=/usr/bin/convert
img.config=${img.root}
img.coders=/usr/lib64/ImageMagick-6.7.8/modules-Q16/coders
img.dyn=/usr/local/lib
img.gslib=/usr/local/lib
$ /opt/alfresco/tomcat/bin/catalina.sh stop
$ /opt/alfresco/tomcat/bin/catalina.sh start
Alfresco
4. Install Share webapp
$ /opt/share/tomcat/bin/catalina.sh start
$ tail -f /opt/share/tomcat/logs/catalina.out
INFO: Starting ProtocolHandler ["http-apr-7080"]
abr 21, 2017 7:37:02 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-7009"]
abr 21, 2017 7:37:03 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 38529 ms
Share
5. Install LibreOffice service
$ cd
$ tar zxf LibreOffice_5.3.2_Linux_x86-64_rpm.tar.gz
$ yum install -y LibreOffice_5.3.2.2_Linux_x86-64_rpm/RPMS/*.rpm
$ vi /opt/libreoffice.sh
/opt/libreoffice5.3/program/soffice.bin "--
accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" "-
env:UserInstallation=file:///opt/alfresco/alf_data/oouser" --nologo --
headless --nofirststartwizard --norestore --nodefault &
$ chmod +x /opt/libreoffice.sh
$ /opt/libreoffice.sh
LibreOffice
5. Install LibreOffice service
$ cat /etc/hosts
127.0.0.1 libreoffice.local
$ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
ooo.enabled=true
ooo.port=8100
ooo.host=libreoffice.local
$ /opt/alfresco/tomcat/bin/catalina.sh stop
$ /opt/alfresco/tomcat/bin/catalina.sh start
Alfresco
6. Install Apache HTTPd
$ cat /etc/httpd/conf.d/alfresco.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPass /alfresco ajp://alfresco.local:8009/alfresco
ProxyPassReverse /alfresco ajp://alfresco.local:8009/alfresco
ProxyPass "/share" "ajp://share.local:7009/share"
ProxyPassReverse "/share" "ajp://share.local:7009/share"
</VirtualHost>
HTTP
6. Install Apache HTTPd
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
$ systemctl start httpd
$ systemctl enable httpd
$ cat /etc/hosts
127.0.0.1 ecm.local
HTTP
6. Install Apache HTTPd
$ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
alfresco.host=ecm.local
alfresco.port=80
share.host=ecm.local
share.port=80
$ /opt/alfresco/tomcat/bin/catalina.sh stop
$ /opt/alfresco/tomcat/bin/catalina.sh start
Alfresco
Hands up!
Closing
Testing & AOB
Testing
Repository
http://ecm.local/alfresco
Share
http://ecm.local/share
Libreoffice
Upload a ODT file
SOLR
Search for content (after uploading)
Enhancing our configuration
Apache / NGINX
http://beecon.buzz/talks/?id=20160125025
https://github.com/ecm4u/alfresco-reverse-proxy
SSL using Apache HTTP & Let's Encrypt
www.keensoft.es/en/configuring-alfresco-ssl-by-using-lets-encrypt/
PostgreSQL tuning
http://beecon.buzz/2016/talks/?id=20160125019
Thanks!
angel.borroy@keensoft.es

More Related Content

PPTX
Alfresco Certificates
PPTX
From zero to hero Backing up alfresco
PDF
Alfresco Security Best Practices Guide
PPTX
Discovering the 2 in Alfresco Search Services 2.0
PPTX
Alfresco tuning part1
PDF
IT Automation with Ansible
PDF
Alfresco Backup and Disaster Recovery White Paper
PPTX
(Re)Indexing Large Repositories in Alfresco
Alfresco Certificates
From zero to hero Backing up alfresco
Alfresco Security Best Practices Guide
Discovering the 2 in Alfresco Search Services 2.0
Alfresco tuning part1
IT Automation with Ansible
Alfresco Backup and Disaster Recovery White Paper
(Re)Indexing Large Repositories in Alfresco

What's hot (20)

PDF
Container Performance Analysis
PDF
Ansible - Introduction
PDF
DevOps with Ansible
PPTX
Moving Gigantic Files Into and Out of the Alfresco Repository
ODP
ansible why ?
PDF
[GuideDoc] Deploy EKS thru eksctl - v1.22_v0.105.0.pdf
PDF
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorial
PDF
Mastering PostgreSQL Administration
 
PDF
Docker and the Linux Kernel
PPTX
Ansible presentation
PDF
A Practical Introduction to Apache Solr
PPTX
Oracle ASM Training
PPTX
PPTX
Alfresco tuning part1
PPTX
ELK Elasticsearch Logstash and Kibana Stack for Log Management
PDF
How to Manage Scale-Out Environments with MariaDB MaxScale
PDF
Understanding oracle rac internals part 2 - slides
PDF
Alfresco Security Best Practices 2014
PDF
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
PDF
Alfresco Content Modelling and Policy Behaviours
 
Container Performance Analysis
Ansible - Introduction
DevOps with Ansible
Moving Gigantic Files Into and Out of the Alfresco Repository
ansible why ?
[GuideDoc] Deploy EKS thru eksctl - v1.22_v0.105.0.pdf
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorial
Mastering PostgreSQL Administration
 
Docker and the Linux Kernel
Ansible presentation
A Practical Introduction to Apache Solr
Oracle ASM Training
Alfresco tuning part1
ELK Elasticsearch Logstash and Kibana Stack for Log Management
How to Manage Scale-Out Environments with MariaDB MaxScale
Understanding oracle rac internals part 2 - slides
Alfresco Security Best Practices 2014
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Alfresco Content Modelling and Policy Behaviours
 
Ad

Similar to Ef09 installing-alfresco-components-1-by-1 (20)

PDF
EF09-Installing-Alfresco-components-1-by-1.pdf
PDF
Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
PDF
Automated Java Deployments With Rpm
PDF
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
PPT
Apache solr configuration with drupal 7
PPTX
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
PDF
Installing and Getting Started with Alfresco
DOCX
Alfresco
DOCX
Oracle forms and reports 11g installation on linux
PDF
Bee con2016 presentation_20160125004_installing
PDF
How To Install Openbravo ERP 2.50 MP43 in Ubuntu
PPT
DSpace Tutorial : Open Source Digital Library
PPTX
Alfresco spk-alfresco-day
PDF
Oracle api gateway installation as cluster and single node
PDF
Alfresco Content Services - Solution Document
PPTX
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
PDF
Alfresco Boxes.pdf
PDF
Tomcat tutorail
PPT
Installation of application server 10g in red hat 4
EF09-Installing-Alfresco-components-1-by-1.pdf
Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Automated Java Deployments With Rpm
Alfresco Workshop: Installing Alfresco Content Services and Alfresco Governan...
Apache solr configuration with drupal 7
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Installing and Getting Started with Alfresco
Alfresco
Oracle forms and reports 11g installation on linux
Bee con2016 presentation_20160125004_installing
How To Install Openbravo ERP 2.50 MP43 in Ubuntu
DSpace Tutorial : Open Source Digital Library
Alfresco spk-alfresco-day
Oracle api gateway installation as cluster and single node
Alfresco Content Services - Solution Document
Alfresco DevCon 2018: From Zero to Hero Backing up Alfresco
Alfresco Boxes.pdf
Tomcat tutorail
Installation of application server 10g in red hat 4
Ad

More from Angel Borroy López (20)

PDF
Alfresco and the Model Context Protocol (MCP)
PDF
Alfresco AI Webinar, creating a RAG system from scratch
PDF
Alfresco TechQuest 2024 - Alfresco Container-based Installation and Configura...
PDF
Transitioning from Customized Solr to Out-of-the-Box OpenSearch
PDF
Alfresco integration with OpenSearch - OpenSearchCon 2024 Europe
PDF
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
PDF
Using Generative AI and Content Service Platforms together
PDF
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
PDF
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
PDF
Docker Init with Templates for Alfresco
PDF
Before & After Docker Init
PDF
Alfresco Transform Services 4.0.0
PDF
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
PDF
Using Podman with Alfresco
PDF
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
PDF
Alfresco Embedded Activiti Engine
PDF
Alfresco Transform Core 3.0.0
PDF
Collaborative Editing Tools for Alfresco
PDF
Desarrollando una Extensión para Docker
PDF
DockerCon 2022 Spanish Room-ONBOARDING.pdf
Alfresco and the Model Context Protocol (MCP)
Alfresco AI Webinar, creating a RAG system from scratch
Alfresco TechQuest 2024 - Alfresco Container-based Installation and Configura...
Transitioning from Customized Solr to Out-of-the-Box OpenSearch
Alfresco integration with OpenSearch - OpenSearchCon 2024 Europe
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Using Generative AI and Content Service Platforms together
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
Docker Init with Templates for Alfresco
Before & After Docker Init
Alfresco Transform Services 4.0.0
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
Using Podman with Alfresco
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
Alfresco Embedded Activiti Engine
Alfresco Transform Core 3.0.0
Collaborative Editing Tools for Alfresco
Desarrollando una Extensión para Docker
DockerCon 2022 Spanish Room-ONBOARDING.pdf

Recently uploaded (20)

PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
Approach and Philosophy of On baking technology
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
project resource management chapter-09.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
WOOl fibre morphology and structure.pdf for textiles
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Hybrid model detection and classification of lung cancer
Approach and Philosophy of On baking technology
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Unlocking AI with Model Context Protocol (MCP)
project resource management chapter-09.pdf
Zenith AI: Advanced Artificial Intelligence
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
A comparative analysis of optical character recognition models for extracting...
Heart disease approach using modified random forest and particle swarm optimi...
OMC Textile Division Presentation 2021.pptx
A novel scalable deep ensemble learning framework for big data classification...
cloud_computing_Infrastucture_as_cloud_p
A comparative study of natural language inference in Swahili using monolingua...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
WOOl fibre morphology and structure.pdf for textiles

Ef09 installing-alfresco-components-1-by-1

  • 1. Installing Alfresco components one by one Angel Borroy developer@keensoft
  • 3. Alfresco Community Distribution Alfresco SDK 3.0.0 Extension path Tomcat resources
  • 4. Alfresco Search Services (aka SOLR 6) SOLR 6 software SOLR 6 Alfresco cores definition
  • 7. Resources - Server map HTTP 0,5 GB Share 2 GB Alfresco 3 GB SOLR 3 GB LibreOffice 1 GB PostgreSQL 2 GB OS 0,5 GB 12 GB ecm.local share.local alfresco.local solr.local libreoffice.local postgresql.local 6 servers
  • 9. Base OS image $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) $ yum list installed ImageMagick.x86_64 6.7.8.9-15.el7_2 apr.x86_64 1.4.8-3.el7 cairo.x86_64 1.14.2-1.el7 cups-libs.x86_64 1:1.6.3-22.el7 fontconfig.x86_64 2.10.95-7.el7 ghostscript.x86_64 9.07-18.el7 httpd.x86_64 2.4.6-40.el7.centos.4 postgresql94.x86_64 9.4.9-1PGDG.rhel7 https://www.dropbox.com/s/mm43kmzg4jtrueb/alfresco-centos.ova?dl=0 root / keensoft
  • 10. Downloaded software # ls -lh -rw-r--r--. 1 root root 315M alfresco-community-distribution-201702.zip -rw-r--r--. 1 root root 127M alfresco-search-services-1.0.0.zip -rw-r--r--. 1 root root 8,6M apache-tomcat-7.0.59.tar.gz -rw-r--r--. 1 root root 173M jdk-8u101-linux-x64.tar.gz -rw-r--r--. 1 root root 263M LibreOffice_5.3.2_Linux_x86-64_rpm.tar.gz
  • 11. Faking server names $ vi /etc/hosts 127.0.0.1 ecm.local 127.0.0.1 alfresco.local 127.0.0.1 share.local 127.0.0.1 solr.local 127.0.0.1 libreoffice.local 127.0.0.1 postgresql.local
  • 12. Install Oracle JDK $ cd /opt $ tar xvf /root/jdk-8u101-linux-x64.tar.gz $ alternatives --install /usr/bin/java java /opt/jdk1.8.0_101/bin/java 2 $ java -version java version "1.8.0_101” Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
  • 13. 1. Install PostgreSQL $ /usr/pgsql-9.4/bin/postgresql94-setup initdb $ systemctl enable postgresql-9.4 $ systemctl start postgresql-9.4 $ su - postgres $ psql CREATE DATABASE alfresco WITH OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default TEMPLATE template0; PostgreSQL
  • 14. 1. Install PostgreSQL CREATE ROLE alfresco LOGIN PASSWORD 'alfresco' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE; GRANT ALL ON DATABASE alfresco TO public; GRANT ALL ON DATABASE alfresco TO postgres; GRANT ALL ON DATABASE alfresco TO alfresco; q PostgreSQL
  • 15. 1. Install PostgreSQL $ vi /var/lib/pgsql/9.4/data/pg_hba.conf host all all 127.0.0.1/32 trust host all all ::1/128 trust $ vi /var/lib/pgsql/9.4/data/postgresql.conf maintenance_work_mem = 192MB checkpoint_completion_target = 0.7 effective_cache_size = 2048MB work_mem = 22MB wal_buffers = 4MB checkpoint_segments = 8 shared_buffers = 768MB PostgreSQL
  • 16. 1. Install PostgreSQL $ exit $ systemctl restart postgresql-9.4 $ cat /etc/hosts 127.0.0.1 postgresql.local PostgreSQL
  • 17. 2. Install Alfresco webapp $ mkdir /opt/alfresco $ cd /opt/alfresco $ tar xvf /root/apache-tomcat-7.0.59.tar.gz $ mv apache-tomcat-7.0.59 tomcat $ cd tomcat/bin/ $ tar xzvf tomcat-native.tar.gz $ cd tomcat-native-1.1.32-src/jni/native/ $ ./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/opt/jdk1.8.0_101 $ make; make install Libraries have been installed in: /usr/local/apr/lib Apache Tomcat
  • 18. 2. Install Alfresco webapp $ vi /opt/alfresco/tomcat/bin/setenv.sh # Load Tomcat Native Library LD_LIBRARY_PATH="/usr/local/apr/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH $ /opt/alfresco/tomcat/bin/catalina.sh start $ tail -f -n 100 /opt/alfresco/tomcat/logs/catalina.out INFO: Loaded APR based Apache Tomcat Native library 1.1.32 using APR version 1.4.8. $ /opt/alfresco/tomcat/bin/catalina.sh stop Apache Tomcat
  • 19. 2. Install Alfresco webapp $ unzip alfresco-community-distribution-201702.zip $ cd alfresco-community-distribution-201702 $ mkdir /opt/alfresco/alf_data $ cp -r amps /opt/alfresco $ mkdir /opt/alfresco/bin $ cp bin/alfresco-mmt.jar /opt/alfresco/bin $ cp bin/apply_amps.sh /opt/alfresco/bin $ cp bin/clean_tomcat.sh /opt/alfresco/bin $ mkdir -p /opt/alfresco/modules/platform Alfresco
  • 20. 2. Install Alfresco webapp $ cd web-server $ cp -r * /opt/alfresco/tomcat $ rm -rf /opt/alfresco/tomcat/webapps/share.war $ rm -rf /opt/alfresco/tomcat/webapps/solr4.war $ rm -rf /opt/alfresco/tomcat/conf/Catalina/localhost/share.xml $ rm -rf /opt/alfresco/tomcat/shared/classes/alfresco/web-extension $ mkdir /opt/alfresco/tomcat/shared/lib $ vi /opt/alfresco/tomcat/conf/catalina.properties shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*. jar Alfresco
  • 21. 2. Install Alfresco webapp $ chmod +x /opt/alfresco/tomcat/bin/setenv.sh $ vi /opt/alfresco/tomcat/bin/setenv.sh JAVA_OPTS="$JAVA_OPTS -Dalfresco.home=/opt/alfresco" JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote" JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=128m" JAVA_OPTS="$JAVA_OPTS -Xms512M -Xmx3072M" export JAVA_OPTS Apache Tomcat
  • 22. 2. Install Alfresco webapp $ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties dir.root=/opt/alfresco/alf_data db.driver=org.postgresql.Driver db.username=alfresco db.password=alfresco db.url=jdbc:postgresql://postgresql.local:5432/alfresco Alfresco
  • 23. 2. Install Alfresco webapp $ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties alfresco.context=alfresco alfresco.host=alfresco.local alfresco.port=8080 alfresco.protocol=http cifs.enabled=false ftp.enabled=false imap.server.enabled=false alfresco.rmi.services.host=0.0.0.0 monitor.rmi.service.port=0 index.subsystem.name=noindex Alfresco
  • 24. 2. Install Alfresco webapp $ cat /etc/hosts 127.0.0.1 alfresco.local $ ls /opt/alfresco/amps alfresco-share-services.amp $ chmod +x /opt/alfresco/bin/apply_amps.sh $ /opt/alfresco/bin/apply_amps.sh 03210000 Invalid directory '/opt/alfresco/amps_share' Alfresco
  • 25. 2. Install Alfresco webapp $ /opt/alfresco/tomcat/bin/catalina.sh start $ tail -f /opt/alfresco/tomcat/logs/catalina.out abr 21, 2017 4:42:46 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-apr-8080"] abr 21, 2017 4:42:46 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-apr-8009"] abr 21, 2017 4:42:46 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 104755 ms Alfresco
  • 26. 3. Install SOLR 6 webapp $ mkdir /opt/solr6 $ cd /opt/solr6 $ unzip /root/alfresco-search-services-1.0.0.zip $ cd alfresco-search-services $ mv * .. $ cd .. $ rm -rf alfresco-search-services/ $ vi /opt/solr6/solrhome/templates/rerank/conf/solrcore.properties alfresco.host=alfresco.local SOLR 6
  • 27. 3. Install SOLR 6 webapp $ /opt/solr6/solr/bin/solr start -force -m 3G -a -Dcreate.alfresco.defaults=alfresco,archive Started Solr server on port 8983 (pid=2498). Happy searching! $ tail -f /opt/solr6/logs/solr.log 2017-04-21 17:01:47.272 INFO (main) [ ] o.e.j.s.ServerConnector Started ServerConnector@624ea235{HTTP/1.1,[http/1.1]}{0.0.0.0:8983} 2017-04-21 17:01:47.272 INFO (main) [ ] o.e.j.s.Server Started @7126ms SOLR 6
  • 28. 3. Install SOLR 6 webapp $ cat /etc/hosts 127.0.0.1 solr.local $ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties index.subsystem.name=solr6 solr.host=solr.local solr.port=8983 solr.port.ssl=8984 solr.secureComms=none $ /opt/alfresco/tomcat/bin/catalina.sh stop $ /opt/alfresco/tomcat/bin/catalina.sh start Alfresco
  • 29. 4. Install Share webapp $ mkdir /opt/share $ cd /opt/share $ tar xvf /root/apache-tomcat-7.0.59.tar.gz $ mv apache-tomcat-7.0.59 tomcat $ vi /opt/share/tomcat/bin/setenv.sh # Load Tomcat Native Library LD_LIBRARY_PATH="/usr/local/apr/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH Apache Tomcat
  • 30. 4. Install Share webapp $ vi /opt/share/tomcat/conf/server.xml <Server port="7005" shutdown="SHUTDOWN"> <Connector port="7080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="7443" /> <Connector port="7009" URIEncoding="UTF-8" protocol="AJP/1.3" redirectPort="7443" /> </Server> Apache Tomcat
  • 31. 4. Install Share webapp $ cd /root/alfresco-community-distribution-201702 $ mkdir /opt/share/amps_share $ mkdir /opt/share/bin $ cp bin/alfresco-mmt.jar /opt/share/bin $ cp bin/apply_amps.sh /opt/share/bin $ cp bin/clean_tomcat.sh /opt/share/bin $ mkdir -p /opt/share/modules/share Share
  • 32. 4. Install Share webapp $ cd web-server $ cp -r * /opt/share/tomcat $ rm -rf /opt/share/tomcat/webapps/alfresco.war $ rm -rf /opt/share/tomcat/webapps/solr4.war $ rm -rf /opt/share/tomcat/conf/Catalina/localhost/alfresco.xml $ rm -rf /opt/share/tomcat/shared/classes/alfresco/extension $ mkdir /opt/share/tomcat/shared/lib $ vi /opt/share/tomcat/conf/catalina.properties shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*. jar Share
  • 33. 4. Install Share webapp $ vi /opt/share/tomcat/shared/classes/alfresco/web-extension/share-config- custom.xml <config evaluator="string-compare" condition="Remote"> <endpoint-url>http://alfresco.local:8080/alfresco/s</endpoint-url> [x4] </config> $ cat /etc/hosts 127.0.0.1 share.local Share
  • 34. 4. Install Share webapp $ touch /opt/share/tomcat/bin/setenv.sh $ chmod +x /opt/share/tomcat/bin/setenv.sh $ vi /opt/share/tomcat/bin/setenv.sh LD_LIBRARY_PATH="/usr/local/apr/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=128m" JAVA_OPTS="$JAVA_OPTS -Xms512M -Xmx2048M" export JAVA_OPTS Apache Tomcat
  • 35. 4. Install Share webapp $ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties share.context=share share.host=share.local share.port=7080 share.protocol=http img.root=/usr/share/doc/imagemagick img.exe=/usr/bin/convert img.config=${img.root} img.coders=/usr/lib64/ImageMagick-6.7.8/modules-Q16/coders img.dyn=/usr/local/lib img.gslib=/usr/local/lib $ /opt/alfresco/tomcat/bin/catalina.sh stop $ /opt/alfresco/tomcat/bin/catalina.sh start Alfresco
  • 36. 4. Install Share webapp $ /opt/share/tomcat/bin/catalina.sh start $ tail -f /opt/share/tomcat/logs/catalina.out INFO: Starting ProtocolHandler ["http-apr-7080"] abr 21, 2017 7:37:02 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-apr-7009"] abr 21, 2017 7:37:03 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 38529 ms Share
  • 37. 5. Install LibreOffice service $ cd $ tar zxf LibreOffice_5.3.2_Linux_x86-64_rpm.tar.gz $ yum install -y LibreOffice_5.3.2.2_Linux_x86-64_rpm/RPMS/*.rpm $ vi /opt/libreoffice.sh /opt/libreoffice5.3/program/soffice.bin "-- accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" "- env:UserInstallation=file:///opt/alfresco/alf_data/oouser" --nologo -- headless --nofirststartwizard --norestore --nodefault & $ chmod +x /opt/libreoffice.sh $ /opt/libreoffice.sh LibreOffice
  • 38. 5. Install LibreOffice service $ cat /etc/hosts 127.0.0.1 libreoffice.local $ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties ooo.enabled=true ooo.port=8100 ooo.host=libreoffice.local $ /opt/alfresco/tomcat/bin/catalina.sh stop $ /opt/alfresco/tomcat/bin/catalina.sh start Alfresco
  • 39. 6. Install Apache HTTPd $ cat /etc/httpd/conf.d/alfresco.conf <VirtualHost *:80> ProxyRequests Off ProxyPass /alfresco ajp://alfresco.local:8009/alfresco ProxyPassReverse /alfresco ajp://alfresco.local:8009/alfresco ProxyPass "/share" "ajp://share.local:7009/share" ProxyPassReverse "/share" "ajp://share.local:7009/share" </VirtualHost> HTTP
  • 40. 6. Install Apache HTTPd $ /usr/sbin/setsebool -P httpd_can_network_connect 1 $ systemctl start httpd $ systemctl enable httpd $ cat /etc/hosts 127.0.0.1 ecm.local HTTP
  • 41. 6. Install Apache HTTPd $ vi /opt/alfresco/tomcat/shared/classes/alfresco-global.properties alfresco.host=ecm.local alfresco.port=80 share.host=ecm.local share.port=80 $ /opt/alfresco/tomcat/bin/catalina.sh stop $ /opt/alfresco/tomcat/bin/catalina.sh start Alfresco
  • 45. Enhancing our configuration Apache / NGINX http://beecon.buzz/talks/?id=20160125025 https://github.com/ecm4u/alfresco-reverse-proxy SSL using Apache HTTP & Let's Encrypt www.keensoft.es/en/configuring-alfresco-ssl-by-using-lets-encrypt/ PostgreSQL tuning http://beecon.buzz/2016/talks/?id=20160125019