http://docs.alfresco.com/community/concepts/welcome-infocenter_community.html

Alfresco comes with Postgres by default, but I prefer MySQL - hence this guide is for MySQL

 

Requirements

Alfreco

See link for newest requirements

OS and Hardware Settings

Virtual: Why not - the benefist are huge

Preferred OS: Ubuntu LTS 64-bit (this is for a 16.04)

Hardware: At least 2 CPU's and at least 4 GB Ram


Libs

Different Libs for image support (ImageMagick), SWFTools (Flash), etc

sudo apt-get install mysql-server smbclient
sudo apt-get install libsm6 libxt6 libxrender1 libfontconfig1 libcups2 libxinerama1 libglu1-mesa
sudo apt-get install imagemagick ghostscript libjpeg62 ffmpeg libgif-dev libice6  libart-2.0-2 swftools

LibreOffice

sudo apt-get install libreoffice
sudo apt-get install ttf-mscorefonts-installer fonts-droid


Mail

SMTP Access for sending mail

IMAP Access for picking up mail

 

Installation

Prepare database

Create the Database

mysql> CREATE DATABASE alfresco CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL on alfresco .* to alfresco@localhost identified by '******';
Query OK, 0 rows affected (0.00 sec)
mysql>

Install binaries

Download Alfreco from http://www.alfresco.com/products/community

For the binary installer, JAVA is integrated.

MySQL Driver is at http://dev.mysql.com/downloads/connector/j/

root@alf01:~# ./alfresco-community-installer-201605-linux-x64.bin
Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXextlibcups libGLU
You are strongly advised to stop this installation and install the libraries.
For more information, see the LibreOffice documentation at http://docs.alfresco.com

Do you want to continue with the installation? [y/N]: y

Language Selection

Please select the installation language
[1] English - English
[2] French - Français
[3] Spanish - Español
[4] Italian - Italiano
[5] German - Deutsch
[6] Japanese - ???
[7] Dutch - Nederlands
[8] Russian - ???????
[9] Simplified Chinese - ????
[10] Norwegian - Norsk bokmål
[11] Brazilian Portuguese - Português Brasileiro
Please choose an option [1] :
----------------------------------------------------------------------------
Welcome to the Alfresco Community Setup Wizard.

----------------------------------------------------------------------------
Installation Type

[1] Easy - Install using the default configuration.
[2] Advanced - Configure server ports and service properties.: Choose optional components to install.
Please choose an option [1] : 2

----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.

Java [Y/n] :

PostgreSQL [Y/n] :n

LibreOffice [Y/n] :

Alfresco Community : Y (Cannot be edited)

Solr1 [y/N] :

Solr4 [Y/n] :

Alfresco Office Services [Y/n] :

Web Quick Start [y/N] :

Google Docs Integration [Y/n] :

Is the selection above correct? [Y/n]:

----------------------------------------------------------------------------
Installation Folder

Choose a folder to install Alfresco Community.

Select a folder: [/opt/alfresco-community]: /pack/alfresco-201605

----------------------------------------------------------------------------
Database Configuration

JDBC URL: [jdbc:postgresql://localhost/alfresco]: jdbc:mysql://localhost/alfresco

JDBC Driver: [org.postgresql.Driver]: com.mysql.jdbc.Driver

Database name: [alfresco]: alfresco

Username: []: alfresco

Password: :
Verify: :
----------------------------------------------------------------------------
Tomcat Port Configuration

Enter your Tomcat configuration parameters.

Web Server Domain: [127.0.0.1]:

Tomcat Server Port: [8080]:

Tomcat Shutdown Port: [8005]:

Tomcat SSL Port: [8443]:

Tomcat AJP Port: [8009]:

----------------------------------------------------------------------------
LibreOffice Server Port

Enter the port that the LibreOffice Server will listen to.

LibreOffice Server Port: [8100]:

----------------------------------------------------------------------------
Alfresco FTP Port

Choose a port number for the integrated Alfresco FTP server.

Port: [21]:

----------------------------------------------------------------------------
Admin Password

Specify a password for the Alfresco administrator account.

Admin Password: :
Repeat Password: :
----------------------------------------------------------------------------
Install as a service

If you register Alfresco Community as a service it will automatically start
Alfresco Community on machine startup.

Install Alfresco Community as a service? [Y/n]:


----------------------------------------------------------------------------
Warning

This environment is not configured optimally for Alfresco - review this list
before continuing.

While these issues won’t prevent Alfresco from functioning, some product
features might not be available, or the system might not perform optimally.

Not enough CPUs (cores) available
 (2+): 1


Press [Enter] to continue:

----------------------------------------------------------------------------
Setup is now ready to begin installing Alfresco Community on your computer.

Do you want to continue? [Y/n]:

----------------------------------------------------------------------------
Please wait while Setup installs Alfresco Community on your computer.

 Installing
 0% ______________ 50% ______________ 100%
 #########################################

----------------------------------------------------------------------------
Setup has finished installing Alfresco Community on your computer.

View Readme File [Y/n]: n

Launch Alfresco Community [Y/n]: n

root@alf01

 

If You use MySQL, we need to copy in the driver (get it here) first to /opt/alfresco/tomcat/lib:

sudo cp mysql-connector-java-5.1.39-bin.jar /pack/alfresco-201605/tomcat/lib/

Then start alfresco:

sudo /etc/init.d/alfresco start

Using CATALINA_BASE:   /opt/alfresco/tomcat
Using CATALINA_HOME:   /opt/alfresco/tomcat
Using CATALINA_TMPDIR: /opt/alfresco/tomcat/temp
Using JRE_HOME:        /opt/alfresco/java
Using CLASSPATH:       /opt/alfresco/tomcat/bin/bootstrap.jar:/opt/alfresco/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID:    /opt/alfresco/tomcat/temp/catalina.pid
Tomcat started.
/opt/alfresco/tomcat/scripts/ctl.sh : tomcat started
root@myserver:~#

See everything is ok:

root@myserver:~# tail -f /opt/alfresco/tomcat/logs/catalina.out

If the database bootstrap fails due to Driver failure, Yo will see:

Caused by: java.lang.RuntimeException: Database connection failed: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql:localhost/alfresco'

Restart install

Easiest way to restart setup is to kill the java process and remove the install dir:

killall -9 java
rm -rf /opt/alfresco

 

Postinstall

Also review http://docs.alfresco.com/community/concepts/prereq-opt-install.html

Move data

You can move the data dir /opt/alfresco/alf_data to another location (Renaming is not recommeded, the "alf_data" name is in several config files allover)

/etc/init.d/alfresco stop
cd /opt/alfresco/
mv alf_data /data/
ln -s /data/alf_data .
/etc/init.d/alfresco start

Correct Paths

Edit the /opt/alfresco/shared/classes/alfresco-global.properties and check paths

Enable CIFS

Edit the /opt/alfresco/shared/classes/alfresco-global.properties

## CIFS ##
cifs.disableNativeCode=false
cifs.enabled=true
cifs.serverName=alfresco.myserver.dk
cifs.domain=MYSERVER
cifs.hostannounce=true
cifs.sessionTimeout=500
cifs.ipv6.enabled=false
cifs.tcpipSMB.port=445
cifs.netBIOSSMB.namePort=137
cifs.netBIOSSMB.datagramPort=138
cifs.netBIOSSMB.sessionPort=139
cifs.WINS.autoDetectEnabled=true

Test CIFS

With the SMB Client You can test and browse:

root@myserver: smbclient -U admin \\\\127.0.0.1\\alfresco
Enter admin's password: 
Domain=[MOS-EISLEY] OS=[Java] Server=[Alfresco CIFS Server 6.0.0]
smb: \> ls
  .                                   D        0  Tue Feb 26 18:39:48 2013
  ..                                  D        0  Tue Feb 26 18:39:48 2013
  __ShowDetails.exe                       393216  Tue Feb 26 18:00:58 2013
  __CheckInOut.exe                        393216  Tue Feb 26 18:00:58 2013
  __Alfresco.url                             131  Tue Feb 26 18:00:58 2013
  Data Dictionary                     D        0  Tue Feb 26 08:10:23 2013
  Guest Home                          D        0  Tue Feb 26 08:10:10 2013
  User Homes                          D        0  Tue Feb 26 13:28:42 2013
  Imap Attachments                    D        0  Tue Feb 26 08:10:44 2013
  Sites                               D        0  Tue Feb 26 18:40:03 2013
		65535 blocks of size 33553920. 32767 blocks available
smb: \> 



 

Enable FTP

Edit the /opt/alfresco/tomcat/shared/classes/alfresco-global.properties (see http://docs.alfresco.com/4.1/concepts/fileserv-ftp-props.html)

### FTP Server Configuration ###
ftp.enabled=true
ftp.port=21
ftp.ipv6.enabled=false

 

Other

Proxy passing

There are good reasons for using an Apache or Traffic Manager in front of the Alfresco Installation, some are:

  • No port changing (non-root users can assign to ports below 1024)
  • Use of URL Rewrite
  • Use of URL Blocking
  • Use of Allow/Denial 
  • SSL offloading/handling outside the Confluence

Se my example in Apache2 Proxy Passing

Trashcan tweaking

Instead of having Alfreso putting deleted files into the contentstore.deleted directory, which has to be cleaned manually, read http://blyx.com/2014/08/18/understanding-alfresco-content-deletion/ and add the amp https://code.google.com/p/alfresco-trashcan-cleaner/ into /op/alfresco/amps/

Edit the /opt/alfresco/tomcat/shared/classes/alfresco-global.properties

system.content.eagerOrphanCleanup=true
trashcan.cron=0 30 * * * ?
trashcan.daysToKeep=1
trashcan.deleteBatchCount=1000

 

Batch upload

 

Batch upload to Alfresco sites via CIFS

Logfiles

Logrotate

Set up logrotate to avoid ever growing catalina.out log file. Here JIRA_Home is /opt/jira, logs are rotated daily and kept for 7 days:

/etc/logrotate.d/confluence
/opt/alfresco/tomcat/logs/catalina.out {
    daily
    rotate 7 
    compress
    copytruncate
    delaycompress
    missingok
    size 10M
    notifempty
}