Skip to content

Instantly share code, notes, and snippets.

@AFaust
Last active April 13, 2017 08:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AFaust/47112f135537cb00b41c86859d9cfdac to your computer and use it in GitHub Desktop.
Save AFaust/47112f135537cb00b41c86859d9cfdac to your computer and use it in GitHub Desktop.
Generic Alfresco Install - Ubuntu 16
[Unit]
Description=Alfresco Repository
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=
Environment=CATALINA_PID=/opt/alfresco/repo/tomcat/work/.pid
Environment=CATALINA_HOME=/usr/share/tomcat7
Environment=CATALINA_BASE=/opt/alfresco/repo/tomcat
Environment='CATALINA_OPTS=-Xms2G -Xmx2G -XX:+UseG1GC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Dsun.security.ssl.allowUnsafeRenegotiation=true -Dorg.terracotta.quartz.skipUpdateCheck=true -Dcom.sun.management.jmxremote'
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /tmp/tomcat-alf-repo
ExecStartPre=/bin/chown -R alfresco:alfresco /tmp/tomcat-alf-repo
ExecStart=/usr/share/tomcat7/bin/startup.sh
ExecStop=/usr/share/tomcat7/bin/shutdown.sh
ExecStopPost=/bin/rm -rf /tmp/tomcat-alf-repo
User=alfresco
Group=alfresco
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
#!/bin/sh
# WIP
export POSTGRESQL_JDBC_JAR_NAME=postgresql-42.0.0.jar
export POSTGRESQL_JDBC_JAR_URL=https://jdbc.postgresql.org/download/$POSTGRESQL_JDBC_JAR_NAME
export ARTIFACTS_BASE_URL=https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content
export CENTRAL_BASE_URL=https://repo1.maven.org/maven2
export REPOSITORY_WAR_URL=$ARTIFACTS_BASE_URL/org/alfresco/alfresco-platform/5.2.f/alfresco-platform-5.2.f.war
export SHARE_WAR_URL=$ARTIFACTS_BASE_URL/org/alfresco/share/5.2.e/share-5.2.e.war
export VTI_BIN_WAR_URL=$ARTIFACTS_BASE_URL/org/alfresco/aos-module/alfresco-vti-bin/1.1.5/alfresco-vti-bin-1.1.5.war
export AOS_AMP_URL=$ARTIFACTS_BASE_URL/org/alfresco/aos-module/alfresco-aos-module/1.1.5/alfresco-aos-module-1.1.5.amp
export OOTBE_ST_REPO_AMP_URL=$CENTRAL_BASE_URL/org/orderofthebee/support-tools/support-tools-repo/0.0.1.0/support-tools-repo-0.0.1.0.amp
export JS_CONSOLE_REPO_AMP_URL=$CENTRAL_BASE_URL/de/fmaul/javascript-console-repo/0.6/javascript-console-repo-0.6.amp
export SHARE_SERVICES_AMP_URL=$ARTIFACTS_BASE_URL/org/alfresco/alfresco-share-services/5.2.e/alfresco-share-services-5.2.e.amp
export OOTBE_ST_SHARE_AMP_URL=$CENTRAL_BASE_URL/org/orderofthebee/support-tools/support-tools-share/0.0.1.0/support-tools-share-0.0.1.0.amp
export JS_CONSOLE_SHARE_AMP_URL=$CENTRAL_BASE_URL/de/fmaul/javascript-console-share/0.6/javascript-console-share-0.6.amp
export MMT_JAR_URL=$ARTIFACTS_BASE_URL/org/alfresco/alfresco-mmt/5.2.f/alfresco-mmt-5.2.f.jar
if [ "`which wget`" = "" ]; then
sudo apt-get install wget -y
fi
sudo apt-get install openjdk-8-jdk postgresql -y
sudo apt-get install ghostscript imagemagick libreoffice -y
sudo apt-get install tomcat7 libtcnative-1 -y
sudo /etc/init.d/tomcat7 stop
sudo rm /etc/init.d/tomcat7
echo "Set password for postgres user via: \\password postgres"
echo "Quit afterwards via: \\q"
sudo -u postgres psql postgres
echo "Create alfresco user with password, and create database"
sudo -u postgres createuser -D -A -P alfresco
sudo -u postgres createdb -O alfresco alfresco
echo "Preparing Repository + Share Tomcat structures"
sudo mkdir -p /opt/alfresco/repo/tomcat/webapps
sudo mkdir -p /opt/alfresco/repo/tomcat/shared/classes/alfresco/extension
sudo mkdir -p /var/log/alf-repo
sudo mkdir -p /var/cache/alf-repo
sudo ln -s /var/log/alf-repo /opt/alfresco/repo/tomcat/Logs
sudo ln -s /var/cache/alf-repo /opt/alfresco/repo/tomcat/work
sudo ln -s /tmp/tomcat-alf-repo /opt/alfresco/repo/tomcat/temp
sudo mkdir -p /opt/alfresco/share/tomcat/webapps
sudo mkdir -p /opt/alfresco/share/tomcat/shared/classes/alfresco/web-extension
sudo mkdir -p /var/log/alf-share
sudo mkdir -p /var/cache/alf-share
sudo ln -s /var/log/alf-share /opt/alfresco/share/tomcat/Logs
sudo ln -s /var/cache/alf-share /opt/alfresco/share/tomcat/work
sudo ln -s /tmp/tomcat-alf-share /opt/alfresco/share/tomcat/temp
echo "Preparing Repository + Share Tomcat configuration"
sudo cp -r /etc/tomcat7 /opt/alfresco/repo/tomcat/conf
sudo sed -i 's/\(common\.loader=\).*/\1${catalina.home}\/lib,${catalina.home}\/lib\/*.jar,${catalina.home}\/common\/classes,${catalina.home}\/common\/*.jar/' /opt/alfresco/repo/tomcat/conf/catalina.properties
sudo sed -i 's/\(server\.loader=\).*/\1${catalina.home}\/server\/classes,${catalina.home}\/server\/*.jar/' /opt/alfresco/repo/tomcat/conf/catalina.properties
sudo sed -i 's/\(shared\.loader=\).*/\1${catalina.base}\/shared\/classes,${catalina.base}\/shared\/*.jar/' /opt/alfresco/repo/tomcat/conf/catalina.properties
sudo sed -i '/^\s*<user/d' /opt/alfresco/repo/tomcat/conf/tomcat-users.xml
sudo sed -i '/^\s*<role/d' /opt/alfresco/repo/tomcat/conf/tomcat-users.xml
sudo sed -i '/^<\/tomcat-users>/i <user username="CN=Alfresco Repository Client, OU=Unknown, O=Alfresco Software Ltd., L=Maidenhead, ST=UK, C=GB" roles="repoclient" password="null" />' /opt/alfresco/repo/tomcat/conf/tomcat-users.xml
sudo sed -i '/<!--APR/i <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />' /opt/alfresco/repo/tomcat/conf/server.xml
sudo sed -i '/<!--APR/,+3d' /opt/alfresco/repo/tomcat/conf/server.xml
sudo sed -i 's/port="8005"/port="10000"/' /opt/alfresco/repo/tomcat/conf/server.xml
sudo sed -i 's/port="8080"/port="10001"/' /opt/alfresco/repo/tomcat/conf/server.xml
sudo sed -i 's/redirectPort="8443"/redirectPort="443"/' /opt/alfresco/repo/tomcat/conf/server.xml
sudo sed -i 's/autoDeploy="true"/autoDeploy="false"/' /opt/alfresco/repo/tomcat/conf/server.xml
sudo sed -i 's/%h %l %u %t &quot;%r&quot; %s %b/%h %t %s %I &quot;%r&quot; %b %D/' /opt/alfresco/repo/tomcat/conf/server.xml
sudo sed -i 's/^handlers =/#handlers =/' /opt/alfresco/repo/tomcat/conf/logging.properties
sudo sed -i 's/^\.handlers =/handlers =/' /opt/alfresco/repo/tomcat/conf/logging.properties
sudo cp -r /opt/alfresco/repo/tomcat/conf /opt/alfresco/share/tomcat/conf
sudo sed -i 's/\(<Server port="\)10000"/\110010"/' /opt/alfresco/share/tomcat/conf/server.xml
sudo sed -i 's/port="10001"/port="10011"/' /opt/alfresco/share/tomcat/conf/server.xml
sudo sed -i '/^\s*<user/d' /opt/alfresco/share/tomcat/conf/tomcat-users.xml
echo "Downloading PostgreSQL JDBC driver"
sudo wget -O /opt/alfresco/repo/tomcat/shared/$POSTGRESQL_JDBC_JAR_NAME $POSTGRESQL_JDBC_JAR_URL
echo "Create Alfresco user and set chown application structure"
sudo adduser --system --disabled-login --disabled-password --group alfresco
sudo chown -R alfresco:alfresco /opt/alfresco
sudo chown -R alfresco:alfresco /var/log/alf-*
sudo chown -R alfresco:alfresco /var/cache/alf-*
echo "Downloading web applications and modules"
sudo wget -O /opt/alfresco/repo/tomcat/webapps/alfresco.war $REPOSITORY_WAR_URL
sudo wget -O /opt/alfresco/repo/tomcat/webapps/_vti_bin.war $VTI_BIN_WAR_URL
sudo wget -O /opt/alfresco/repo/tomcat/webapps/aos.amp $AOS_AMP_URL
sudo wget -O /opt/alfresco/repo/tomcat/webapps/ootbee-support-tools.amp $OOTBEE_ST_REPO_AMP_URL
sudo wget -O /opt/alfresco/repo/tomcat/webapps/share-services.amp $SHARE_SERVICES_AMP_URL
sudo wget -O /opt/alfresco/repo/tomcat/webapps/javascript-console.amp $JS_CONSOLE_REPO_AMP_URL
sudo wget -O /opt/alfresco/repo/tomcat/webapps/alfresco-mmt.jar $MMT_JAR_URL
sudo cp /opt/alfresco/repo/tomcat/webapps/alfresco-mmt.jar /opt/alfresco/share/tomcat/webapps/alfresco-mmt.jar
sudo wget -O /opt/alfresco/share/tomcat/webapps/share.war $SHARE_WAR_URL
sudo wget -O /opt/alfresco/share/tomcat/webapps/ootbee-support-tools.amp $OOTBEE_ST_SHARE_AMP_URL
sudo wget -O /opt/alfresco/share/tomcat/webapps/javascript-console.amp $JS_CONSOLE_SHARE_AMP_URL
echo "Installing modules"
sudo java -jar /opt/alfresco/repo/tomcat/webapps/alfresco-mmt.jar install /opt/alfresco/repo/tomcat/webapps/aos.amp /opt/alfresco/repo/tomcat/webapps/alfresco.war
sudo java -jar /opt/alfresco/repo/tomcat/webapps/alfresco-mmt.jar install /opt/alfresco/repo/tomcat/webapps/share-services.amp /opt/alfresco/repo/tomcat/webapps/alfresco.war -nobackup
sudo java -jar /opt/alfresco/repo/tomcat/webapps/alfresco-mmt.jar install /opt/alfresco/repo/tomcat/webapps/ootbee-support-tools.amp /opt/alfresco/repo/tomcat/webapps/alfresco.war -nobackup
sudo java -jar /opt/alfresco/repo/tomcat/webapps/alfresco-mmt.jar install /opt/alfresco/repo/tomcat/webapps/javascript-console.amp /opt/alfresco/repo/tomcat/webapps/alfresco.war -nobackup
sudo java -jar /opt/alfresco/share/tomcat/webapps/alfresco-mmt.jar install /opt/alfresco/share/tomcat/webapps/ootbee-support-tools.amp /opt/alfresco/share/tomcat/webapps/share.war
sudo java -jar /opt/alfresco/share/tomcat/webapps/alfresco-mmt.jar install /opt/alfresco/share/tomcat/webapps/javascript-console.amp /opt/alfresco/share/tomcat/webapps/share.war -nobackup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment