Сервер Alfresco: службы и файлы

Сервер Alfresco: службы и файлы

Alfresco Community Services установлены на нашем компьютере. Что на нем в результате изменилось?

Во-первых, появились две службы: PostgresSQL и Tomcat. В Linux их статус можно посмотреть при помощи специального скрипта alfresco.sh. Отметим, что скрипт alfresco.sh кроме параметра status может принимать также параметры stop и start. При разработке программных модулей для Alfresco перезапуск служб необходим при добавлении нового модуля, так что этим скриптом приходится пользоваться постоянно.

В Windows эти службы называются Alfresco PostgreSQL и Alfresco Tomcat соответственно, и работать с ними можно как из стандартной консоли Services, так и из специальной утилиты, которую можно найти в меню Пуск: Пуск | Alfresco Content Services | Alfresco Content Services Manager Tool.

Как несложно догадаться, служба PostgreSQL отвечает за сервер баз данных для Alfresco, а Tomcat — это сервер приложений, в котором реализована логика Alfresco. Упрощенно говоря, служба Tomcat — это сам Alfresco и есть. Первой, конечно, должна стартовать служба базы данных, что реализовано при помощи зависимости служб.

Во-вторых, после установки Alfresco у нас появляются две папки на диске: /opt/alfresco-community под Linux и C:\alfresco-community под Windows (указан путь по умолчанию, в ходе установки вы можете выбрать другой путь). В этих папках и лежат программные файлы, контент, индексы и все прочее, что имеет отношение к Alfresco.

Про эти папки и их содержание надо рассказать отдельно, поскольку со многими из них приходится работать:

  1. \alf_data — в этой папке находятся все данные Alfresco:
  • \contentstore — это папка для хранилища Alfresco. Собственно говоря, здесь и хранятся те документы, которые вы помещаете в Alfresco. Если вы в нее заглянете, то увидите набор подкаталогов, в которых находятся файлы с расширением .bin — эти файлы и составляют виртуальную файловую систему Alfresco. При нормальной работе Alfresco эта папка будет самой большой и ее размер будет составлять многие гигабайты. Конечно, на нее пойдет и основная нагрузка при работе с Alfresco.
    По умолчанию эта папка помещается на тот же диск, что и программные файлы Alfresco и операционной системы (в Windows — диск C), а это обычно не совсем то, что нужно администратору Alfresco. Поэтому одна из первых послеустановочных задач в производственной среде — перенести эту папку на другой диск (обычно выделенный под хранилище Alfresco отказоустойчивый RAID-массив). Проще всего произвести такой перенес следующим образом:

1) остановить службу Tomcat, чтобы освободить открытые ей файлы хранилища;

2) перенести содержимое папки contentstore на RAID-массив

3) смонтировать RAID-массив как эту папку и запустить службу Tomcat.

Так можно сделать как в Linux, так и в Windows.

Можно поступить и по другому: внести изменения в файлы конфигурации вместо монтирования папки.

  • /contentstore.deleted — как понятно из названия, в эту папку помещаются удаленные пользователем документы, которые в течение определенного времени можно восстановить. Можно сказать, что эта папка является аналогом Корзины. Нагрузки на нее почти нет, большая отказоустойчивость ей тоже не требуется, а места она может занимать много. Поэтому некоторые администраторы переносят ее на отдельный диск (теми же способами, которые были описаны для contentstore);
  • /keystore — эта папка предназначена для хранения SSL-ключей для шифрования контента в хранилище, а также скриптов и некоторых дополнительных файлов, которые предназначены для работы с ключами шифрования. Эта папка маленькая по размеру и нагрузки не создает, но, возможно, вам потребуется перенести ее в какое-либо защищенное место в соответствии с политиками безопасности вашего предприятия;
  • /oouser — эта папка нужна для работы подсистемы Open Office/Libre Office в Alfresco, где эта подсистема используется для преобразования файлов. В этой папке хранятся настройки пользователя, от имени которого производятся преобразования, кэш преобразований, информация о заблокированных на время преобразований файлах и т. п. Выполнять какие-то действия с этой папкой приходится крайне редко;
  • /postgresql — в этой папке находится база данных PostgreSQL, которую Alfresco использует для хранения некоторых настроек и метаданных (программные файлы PosgresSQL устанавливаются в другую папку). В отличие от многих других систем документооборота, Alfresco документы в базе данных не хранит, и поэтому эта папка большой не будет. Не будет она создавать и нагрузку на диск. Но при выполнении резервного копирования хранилища очень рекомендуется добавлять в резервную копию и эту папку;
  • /solr4 — эта папка хранит в себе полнотекстовые индексы для поиска в документах в хранилище Alfresco, которые созданы модулем Solr (сами программные файлы этого модуля находятся в другом каталоге). Эта папка, как и contentstore, обычно занимает много места на диске (в большинстве случаев — примерно 30-40 процентов от размера хранилища) и создает большую нагрузку на дисковую подсистему. В нагруженных производственных системах эту папку часто переносят на отдельный RAID-массив по отношению к хранилищу (и, конечно, переносят с диска, на котором находятся программные файлы Alfresco и на которым полнотекстовым индексам делать нечего). Механизм переноса — такой же, как был описан для папки contentstore;
  • amps и amps_share — эти две папки предназначены для размещение программных модулей AMP (Alfresco Module Package), расширяющих функциональность Alfresco. Сразу после установки в них уже будут присутствовать файлы AMP, конкретный набор которых зависит от компонентов, выбранных во время установки (например, файл alfresco-googledocs-repo-3.0.3.amp появляется, если вы выбрали установку дополнительного модуля для работы с Google Docs). Файлы дополнительных программных модулей можно добавлять в Alfresco и напрямую (помещая их в соответствующие подпапки внутри каталога Tomcat), но удобнее делать это, предварительно упаковав их в формат AMP и поместив в папки amps или amps_share (для завершения установки, кроме копирования файлов AMP, потребуется еще запустить файл apply_amps.sh или apply_amps.bat из каталога /bin). Файлы AMP обеспечивают модульность добавления и удаления программных компонентов и существенно упрощают эту процедуру.
    В каталог amps_share положено помещать модули AMP, которые основаны на объектной модели Aikau и обеспечивают возможности работы с графическим интерфейсом (например, такие файлы AMP могут добавлять новые веб-страницы и дашлеты). С технической точки зрения, они добавляют новые элементы (расширяют) файл share.war.

В каталог amps помещаются файлы AMP, которые описывают дополнительную программную логику при работе с контентом (не ориентированы на работу с графическим интерфейсом). Такие файлы AMP основаны на типе проектов Maven, который называется Repository extension project (Проект расширения репозитария) и с технической точки зрения они расширяют пакет alfresco.war. Подробнее про это будет говориться в разделах про программирование в Alfresco;

  • /bin — в этой папке лежат несколько утилит, предназначенных для работы с пакетами AMP. Подробнее про эти утилиты будет говориться в разделе, посвященном развертыванию и удалению пакетов AMP;
  • /imagemagick — в этой папке лежат программные модули, необходимые для работы компонента ImageMagick, предназначенного для работы с файлами изображений, и, в частности, их переконвертации между форматами;
  • /java — в эту папку помещаются программные файлы Java Runtime Environment (если они устанавливаются вместе с Alfresco);
  • /libreoffice — папка для программных файлов LibreOffice, которые будут использоваться для конвертации документов различных форматов в хранилище Alfresco;
  • /licenses — папка, в которую помещаются лицензионные соглашения Alfresco;
  • /modules — папка, в которой находятся две подпапки: platform и share. Эти подпапки можно считать отчасти аналогами папок amps и amps_share, но в них положено помещать пакеты расширений Alfresco в более современном и более рекомендованном по сравнению с AMP формате JAR (по историческим причинам те пакеты расширений, которые идут в поставке Alfresco, все-таки используют устаревший формат AMP). Подробнее про работу с пакетами расширений в формате JAR будет рассказано в разделе про программирование под Alfresco;
  • /postgresql — в эту папку помещаются программные файлы сервера баз данных PostgreSQL, устанавливаемого вместе с Alfresco (сама база данных при этом находится в папке /alf_data/postgresql;
  • /scripts — в этой папке находится единственный файл setenv.sh (или setenv.bat), в зависимости от платформы, который устанавливает переменные окружения для папок Alfresco, GhostScript и ImageMagick и используется при запуске службы Alfresco Tomcat;
  • /solr4 — в этой папке находятся программные файлы компонента Solr, который ответственен за полнотекстовый поиск и создание полнотекстовых индексов;
  • /tomcat — в этой папке находятся программные файлы сервера Tomcat, программные модули, при помощи которых реализована сама система Alfresco (большая часть их находится в подкаталоге /webapps в формате архивов WAR), файлы конфигурации Afresco (в том числе главный файл конфигурации alfresco-global.properties, который находится в подкаталоге /shared/classes), логи Alfresco и многое другое. В эту папку придется обращаться постоянно.

Собственно говоря, две службы и этот набор папок и файлов в каталоге /opt/alfresco-community или C:\alfresco-community (в зависимости от платформы) и составляют то, что появилось после установки Alfresco на компьютере, больше ничего нет. И это надо учитывать при удалении Alfresco. Но про это — в следующем разделе.

Академия Alfresco

Пока лишь 1 комментарий

Dmitry S Опубликовано8:25 дп - Окт 12, 2018

А как при установке указать дисковую полку под хранилище документов?