Установка Alfresco 5.x на Ubuntu server 14.04

Привет! В этой статье я постараюсь рассказать как установить бесплатную версию СЭД (ECM) Alfresco Community в Ubuntu Server 14.04.1 LTS x64.

1. Перед установкой самой системы Alfresco, нам придется подготовить «жизненное пространство» для нее, так что засучиваем рукава и устанавливаем все необходимые компоненты.
Итак, начнем:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get purge openjdk-*

Этими командами мы: обновили список доступных пакетов, обновили систему и удалили все установленные пакеты open JDK. Ибо мы будем использовать JDK от Oracle.
Далее:

adduser alfresco
Enter new UNIX password: alfresco

Этим мы создали пользователя alfresco с одноименным паролем.
Продолжим:
su – alfresco
— Начинаем работать от имени пользователя alfresco. Установка Java JDK: скачиваем JDK 1.7.0_71 отсюда, затем выполняем:
sudo mkdir -p /opt/java
tar zxvf jdk-7u71-linux-x64.gz
sudo mv jdk1.7.0_71/ /opt/java/

Командами выше, мы:
— создаем директорию для JDK
— распаковываем архив с JDK
— переносим распакованную папку в /opt/java (sudo здесь нужно для того, чтобы получить необходимые права доступа на запись к файловой системе, так как мы для директории /opt/java еще не установили доступ для пользователя alfresco)

sudo chmod -R +rx /opt/java

— даем права на чтение и исполнение для всех в директории /opt/java/

sudo nano /etc/profile.d/java.sh

Вставляем строки:

export JAVA_HOME=/opt/java/jdk1.7.0_71
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

Затем, нажимаем Ctrl+O (сохраняем файл) и Ctrl+X (выходим в shell).
Даем права: sudo chmod +rx /etc/profile.d/java.sh
Перезагружаем командой reboot.
Проверяем работу JDK:

java -version

Теперь дело за установкой GhostScript и ImageMagick:

sudo apt-get install ghostscript imagemagick

Проверяем:

convert --version
whereis convert

Должно найтись в /usr/bin/convert
Для установки FFMpeg добавляем репозиторий в базу, обновляем список пакетов и стандартно устанавливаем:

sudo add-apt-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg

Следом идет установка SWFTools:

sudo apt-get install libjpeg62 libgif4
wget https://archive.canonical.com/ubuntu/pool/partner/s/swftools/swftools_0.9.0-0ubuntu2_amd64.deb
chmod a+x swftools_0.9.0-0ubuntu2_amd64.deb
sudo dpkg -i swftools_0.9.0-0ubuntu2_amd64.deb

Проверяем:
whereis pdf2swf Если найдется в /usr/bin/pdf2swf, значит правильной дорогой идете, товарищ.
Установка LibreOffice :

sudo apt-get install libreoffice

Проверяем: whereis soffice — Результат должен быть: /usr/bin/soffice

Базу данных будем использовать PostgreSql:
Устанавливаем движок, ставим пароль на пользователя postgres — postgres

sudo apt-get install postgresql postgresql-contrib
sudo passwd postgres
postgres

Создаем пустую базу данных alfresco и присваиваем ее пользователю alfresco с паролем alfresco

sudo -u postgres psql postgres
CREATE ROLE alfresco WITH PASSWORD 'alfresco' LOGIN;
CREATE DATABASE alfresco WITH OWNER alfresco;
нажимаем ctrl+d, затем вводим:
sudo -u alfresco psql alfresco
ALTER USER alfresco WITH PASSWORD 'alfresco';
снова жмем ctrl+d - готово.

Теперь возьмемся за установку сервера приложений Tomcat, на момент написания статьи, версия была 7.0.57. Скачиваем архив с сайта Apache, создаем директорию alfresco, даем права на нее одноименному пользователю, распаковываем архив в созданную директорию, запускаем tomcat, проверяем инстанцию (кстати, вы можете попробовать зайти по адресу https://имя_хоста:8080, используя браузер, чтобы проверить работу Tomcat.) :

sudo mkdir -p /opt/alfresco
sudo chown alfresco:alfresco /opt/alfresco
wget https://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz
tar xzvf apache-tomcat-7.0.57.tar.gz
sudo mv apache-tomcat-7.0.57 /opt/alfresco/tomcat
sudo chown -R alfresco:alfresco /opt/alfresco/tomcat
/opt/alfresco/tomcat/bin/startup.sh
ps -ef | grep java

После успешной проверки установленного компонента, останавливаем сервис:
/opt/alfresco/tomcat/bin/shutdown.sh

2. Теперь мы имеем полное право заняться установкой самой ECM Alfresco.

Для этого скопируем конфигурацию-пример в действительный файл настроек и запустим редактор этого файла:

cp /opt/alfresco/tomcat/conf/catalina.properties /opt/alfresco/tomcat/conf/catalina.properties.orig
nano /opt/alfresco/tomcat/conf/catalina.properties

В нем находим строку shared.loader и заменяем ее наshared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
Сохраняемся и выходим. Помните как? Ctrl+O, Enter, Ctrl+X
Следующим шагом будет сделать тоже с файлом настроек сервера — server.xml :

cp /opt/alfresco/tomcat/conf/server.xml /opt/alfresco/tomcat/conf/server.xml.orig
nano /opt/alfresco/tomcat/conf/server.xml

В нем мы добавляем между тегами <Connector……/>  параметрURIEncoding="UTF-8"
Следующий файл — context.xml :
nano /opt/alfresco/tomcat/conf/context.xml
Добавляем строку перед закрывающим тегом :

<Valve className=»org.apache.catalina.authenticator.SSLAuthenticator» securePagesWithPragma=»false» />

Создаем дополнительные рабочие директории:

mkdir -p /opt/alfresco/tomcat/shared
mkdir -p /opt/alfresco/tomcat/shared/classes
mkdir -p /opt/alfresco/tomcat/shared/lib
mkdir -p /opt/alfresco/tomcat/endorsed

Скачиваем дистрибутив Alfresco с SourceForge и распаковываем его:

wget https://sourceforge.net/projects/alfresco/files/Alfresco%205.0.c%20Community/alfresco-community-5.0.c.zip/download
mv download alfresco-community-5.0.c.zip
unzip alfresco-community-5.0.c.zip

Копируем необходимые директории и файлы в место, где будет жить наш Alfresco:

cd alfresco-community-5.0.c/
cp -R bin /opt/alfresco
cp -R web-server/endorsed/* /opt/alfresco/tomcat/endorsed
cp -R web-server/shared/* /opt/alfresco/tomcat/shared
cp -R web-server/lib/* /opt/alfresco/tomcat/lib
cp -R web-server/webapps/* /opt/alfresco/tomcat/webapps/

Теперь можно удалить распакованный архив alfresco-community-5.0.c.
Создаем необходимые скрипты:

1. Для LibreOffice

nano /opt/alfresco/start_oo.sh

Вставляем в него:

#!/bin/sh -e
SOFFICE_ROOT=/usr/bin
"${SOFFICE_ROOT}/soffice" "--accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" --nologo --headless &

Сохраняем, выходим.
Даем права, проверяем работу:

chmod uga+x /opt/alfresco/start_oo.sh
/opt/alfresco/start_oo.sh
ps -ef | grep soffice

Убиваем процесс: killall soffice.bin

2. Для запуска Alfresco:

nano /opt/alfresco/alfresco.sh

Вставляем в него:

#!/bin/sh -e
# Start or stop Alfresco server
# Set the following to where Tomcat is installed
ALF_HOME=/opt/alfresco
cd "$ALF_HOME"
APPSERVER="${ALF_HOME}/tomcat"
export CATALINA_HOME="$APPSERVER"
# Set any default JVM values
export JAVA_OPTS='-Xms512m -Xmx768m -Xss768k -XX:MaxPermSize=256m -XX:NewSize=256m -server'
export JAVA_OPTS="${JAVA_OPTS} -Dalfresco.home=${ALF_HOME} -Dcom.sun.management.jmxremote"
if [ "$1" = "start" ]; then
"${APPSERVER}/bin/startup.sh"
if [ -r ./start_oo.sh ]; then
"${ALF_HOME}/start_oo.sh"
fi
elif [ "$1" = "stop" ]; then
"${APPSERVER}/bin/shutdown.sh"
killall -u alfresco java
killall -u alfresco soffice.bin
fi

Сохраняем, выходим и, аналогично предыдущему, даем права:
chmod uga+x /opt/alfresco/alfresco.sh
3. Для запуска Alfresco при старте системы:

sudo nano /etc/init.d/alfresco

Вставляем:

#!/bin/sh -e
ALFRESCO_SCRIPT="/opt/alfresco/alfresco.sh"
if [ "$1" = "start" ]; then
su - alfresco "${ALFRESCO_SCRIPT}" "start"
elif [ "$1" = "stop" ]; then
su - alfresco "${ALFRESCO_SCRIPT}" "stop"
elif [ "$1" = "restart" ]; then
su - alfresco "${ALFRESCO_SCRIPT}" "stop"
su - alfresco "${ALFRESCO_SCRIPT}" "start"
else
echo "Usage: /etc/init.d/alfresco [start|stop|restart]"
fi

Сохраняем, выходим, даем права:

sudo chmod uga+x /etc/init.d/alfresco
sudo chown alfresco:alfresco /etc/init.d/alfresco

Создаем ссылку для консольной загрузки (INIT 3):
 ln -s /etc/init.d/alfresco /etc/rc3.d/S95alfresco

Последние приготовления и настройки:


mkdir /opt/alfresco/alf_data
cp /opt/alfresco/tomcat/shared/classes/alfresco-global.properties.sample /opt/alfresco/tomcat/shared/classes/alfresco-global.properties
nano /opt/alfresco/tomcat/shared/classes/alfresco-global.properties

Параметры, которые нам нужно проверить и, при необходимости, добавить-изменить:

dir.root=/opt/alfresco/alf_data
db.username=alfresco
db.password=alfresco
# OpenOffice
ooo.exe=/usr/lib/libreoffice/program/soffice.bin
ooo.enabled=true
jodconverter.officeHome=/usr/lib/libreoffice
jodconverter.portNumbers=8100
jodconverter.enabled=true
# ImageMagick installation
img.root=/usr/share/doc/imagemagick
img.exe=/usr/bin/convert
# SWFTools exe
swf.exe=/usr/bin/pdf2swf
db.schema.update=true
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/alfresco
index.recovery.mode=AUTO
authentication.chain=alfrescoNtlm1:alfrescoNtlm

Сохраняем, выходим.

На этом все. Мы можем приступить к запуску всех служб:
service alfresco start
Сразу после этого, открываем логи и внимательно следим за процессом запуска:
tail -f /opt/alfresco/tomcat/logs/catalina.out

Проблемы, с которыми столкнулся я это ругательства по поводу CIFS и SMB
Решил их путем добавления кода в файл настроек:

nano /opt/alfresco/tomcat/shared/classes/alfresco-global.properties

Код:

# CIFS configuration
#
cifs.enabled=true
cifs.ipv6=disabled
cifs.serverName=doc
cifs.domain=DOMAIN.LAN
cifs.hostannounce=true
cifs.urlfile.prefix=https://${localname}:8080/alfresco
cifs.bindto=0.0.0.0
cifs.broadcast=255.255.255.255
cifs.hostannounce=true
cifs.tcpipSMB.port=10445
cifs.netBIOSSMB.sessionPort=10139
cifs.netBIOSSMB.namePort=10137
cifs.netBIOSSMB.datagramPort=10138
cifs.platforms=linux,solaris,macosx
cifs.WINS.autoDetectEnabled=true

После этого проблемы ушли.

Если все ошибки были устранены, заходим по адресу

https://имя_хоста:8080/alfresco и начинаем углубленно изучать структуру системы.
логин и пароль по-умолчанию admin

Кстати, в данной конфигурации «из коробки» не работает поисковый движок solr. С Alfresco 5.0.c Community в архиве есть директория solr4 версии. Чтобы поиск заработал, нужно подружить alfresco и solr4

Ну вот, мы и завершили самую легкую часть :)
Удачи и до встречи в блоге.

Источник:https://blog.cym.com.ua/alfresco-manual-install/

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *