LoginSignup
193
225

More than 5 years have passed since last update.

Alfrescoのインストール作業をコマンド単位で丁寧に記載します

Last updated at Posted at 2015-07-19

Alfrescoとは

AlfrescoはCMS(コンテンツマネジメントシステム)です。
詳しくは前回記事を参考にしてください。
脱ファイルサーバ!!個人でも会社でも使えるOSSのドキュメント管理システム!その名も「Alfresco」!

今回の構成

今回は以下のような構成でいきます!
スクリーンショット 2015-07-19 7.29.34.png

  • Alfrescoの5.0.dは2015/07/19現在の最新です。
  • DBをMySQLにしたのは、他のOSSで使っているので、同居できるからです。
  • OSに関してはもはや個人の好みでしかないですね。
  • UBUNTUが好きです。
  • Nginxを入れる理由は、コンテンツキャッシュが優秀なのと、アクセス制御やログを取ろうかなと思ったからです。

ubuntu環境整備

ホスト名の変更

  • hosts編集
/etc/hosts
127.0.0.1 localhost
127.0.0.1 [hostname] [hostname].localdomain

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

  • hostname編集
/etc/hostname
[hostname] 

  • hostname確認
$ hostname

[hostname]

リポジトリアップデート

  • aptのアップデートとaptitudeのインストール
$ sudo apt-get update
$ sudo apt-get install -y aptitude
$ sudo aptitude -y update

MySQL

  • Alfrescoで使用するDBをはじめに作成します

参考:ubuntuにdebパッケージでMySQL5.6をインストール・アンインストール

インストール

今回は5.6.19をインストールする

  • インストール
$ sudo aptitude install -y mysql-server-5.6

インストールの途中でrootパスワードを求められるので、「[pass]」を入力

  • 確認
# mysql -V

mysql  Ver 14.14 Distrib 5.6.19, for debian-linux-gnu (x86_64) using  EditLine wrapper

MySQL設定

  • my.cnf編集
$ sudo vim /etc/mysql/my.cnf

slow_query_log_file     = /var/log/mysql/mysql-slow.log
long_query_time = 60


bind-address        = 0.0.0.0

................
character-set-server    = utf8
default-storage-engine  = InnoDB
innodb_buffer_pool_size = 512M
innodb_log_file_size    = 128M
innodb_log_files_in_group       = 2
innodb_flush_log_at_trx_commit  = 1
innodb_file_per_table   = 1
innodb_buffer_pool_dump_at_shutdown     = ON
innodb_buffer_pool_load_at_startup      = ON

mysqlユーザのHOME作成

起動時のエラーをなくすために必要な作業

  • HOMEディレクトリ作成
$ sudo mkdir /home/mysql
  • 権限付与
$ sudo chown mysql /home/mysql/
  • mysqlにHOMEディレクトリを追加
$ sudo usermod -d /home/mysql/ mysql
  • 確認
$ sudo getent passwd mysql

mysql:x:103:106:MySQL Server,,,:/home/mysql/:/bin/false

MySQLの起動

  • 起動
$ sudo /etc/init.d/mysql start

テーブルの設定

  • MySQLにログイン
mysql -u root -p

パスワード入力

  • テーブル確認
mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
  • データベース作成
mysql> create database alfresco character set utf8;
Query OK, 1 row affected (0.00 sec)
  • データベースの所有者設定
mysql>  grant all privileges on alfresco.* to 'alfresco'@'%' identified by '[pass]' with grant option;
Query OK, 0 rows affected (0.00 sec)
  • ユーザ確認
mysql> SELECT host,user FROM mysql.user;

+--------------+------------------+
| host         | user             |
+--------------+------------------+
| %            | alfresco         |
| 127.0.0.1    | root             |
| ::1          | root             |
| c8a18cfc871b | root             |
| localhost    | debian-sys-maint |
| localhost    | root             |
+--------------+------------------+
6 rows in set (0.00 sec)
  • 権限確認
mysql> SHOW GRANTS FOR alfresco;

+-----------------------------------------------------------------------------------------------------+
| Grants for alfresco@%                                                                                   |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON **.** TO 'alfresco'@'%' IDENTIFIED BY PASSWORD '***************' |
| GRANT ALL PRIVILEGES ON `alfresco`.* TO 'alfresco'@'%' WITH GRANT OPTION                             |
+-----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
  • データベース確認
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| alfresco        |
+--------------------+
4 rows in set (0.00 sec)

MySQLドライバー

  • ダウンロード
$ sudo wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.34.tar.gz -P /opt

こちらも説明の便宜上/optに配置

  • 解凍
$ tar -xzvf mysql-connector-java-5.1.34.tar.gz

Alfresco

ダウンロード

公式ページからCommunityEditionをダウンロードして任意のディレクトリに配置
今回は説明の便宜上、/opt/に配置したものとする

LibreOffice依存ライブラリのインストール

$ sudo apt-get install -y libice6 libsm6 libxt6 libxrender1 libfontconfig1 libcups2

インストール

  • 実際にインストールする前に何をインストールするか決めましょう。

  • 今回は以下のようにしました。

項目 インストールするか 説明
Java ⚪︎ javaが入っているならいりません。
PostgreSQL × MySQLを使うので、インストールしない
Alfresco ⚪︎ もちろん入れる
Solr1 × Solr4が選択できるので、これは入れない
Solr4 ⚪︎ 検索エンジンがなければ入れる
SharePoint ⚪︎ WindowsでのOffice編集がいい感じになるからいれる。
Web Quick Start ⚪︎ ドキュメントの共有に使える。
Google Docsの統合 × GoogleDocでオンライン編集ができる!でも個人的にGoogleDocは使わないので入れない。便利なので、インストール推奨
LibreOffice ⚪︎ Officeのプレビューで必要
  • インストーラー起動
$ sudo /opt/alfresco-community-5.0.d-installer-linux-x64.bin

Language Selection

Please select the installation language
[1] English - English
[2] French - Francais
[3] Spanish - Espanol
[4] Italian - Italiano
[5] German - Deutsch
[6] Japanese - 日本語
[7] Dutch - Nederlands
[8] Russian - Русский
[9] Simplified Chinese - ?体中文
[10] Norwegian - Norsk bokmal
[11] Brazilian Portuguese - Portugues Brasileiro
Please choose an option [1] : 6   #← 日本語がいいよね。。
----------------------------------------------------------------------------
ようこそ Alfresco Community セットアップウィザードへ。

----------------------------------------------------------------------------
インストールの種類

[1] 簡易 - サーバーをデフォルトの設定でインストールします。
[2] アドバンスド - サーバーのポートとサービスのプロパティを設定します。: 追加でインストールするコンポーネントも選択できます。
オプションを選択してください [1] : 2 #← カスタマイズするので、2

----------------------------------------------------------------------------
インストールするコンポーネントを選択してください。準備ができたら“次へ“をクリックしてください。

Java [Y/n] :Y 

PostgreSQL [Y/n] :n

Alfresco : Y (Cannot be edited)

Solr1 [y/N] : N

Solr4 [Y/n] :Y

SharePoint [Y/n] :Y

Web Quick Start [y/N] : N

Google Docsの統合 [Y/n] :n

LibreOffice [Y/n] :Y

上記選択部分が正しいことを確認してください。 [Y/n]: Y

----------------------------------------------------------------------------
インストールフォルダ

Alfresco Communityをインストールするフォルダを選択してください。

インストール先フォルダ: [/opt/alfresco]: #← 便宜上、/opt/alfrescoにインストール

----------------------------------------------------------------------------
データベースの設定

JDBCのURL: [jdbc:mysql://localhost:3306/alfresco?useUnicode=yes&characterEncoding=UTF-8]: #← MySQLのドライバーはこのように設定

JDBCドライバー: [org.gjt.mm.mysql.Driver]:  #← こちらもこのまま貼り付けて設定してください。

データベース名: [alfresco]:  #← 今回作成したDB名

ユーザー名: [alfresco]: #← 今回作成したユーザ名

パスワード: [********] : #← 今回作成したパスワード
確認: [********] :
----------------------------------------------------------------------------
Tomcatのポート設定

Tomcatで使用する設定パラメータを入力してください。

Webサーバードメイン: [127.0.0.1]:  #← ポート各自設定

Tomcatサーバー用ポート: [8080]: #← ポート各自設定

Tomcatのシャットダウン用ポート: [8005]: #← ポート各自設定

TomcatのSSLポート [8443]: #← ポート各自設定

TomcatのAJPポート: [8009]: #← ポート各自設定

----------------------------------------------------------------------------
Alfresco FTPのポート

統合されたAlfresco FTPサーバーに使用するポート番号を選択してください。

ポート: [21]: #← ポートは各自設定

----------------------------------------------------------------------------
管理者パスワード

Alfresco管理者アカウントのパスワードを入力してください。

管理者パスワード: [**********] : #← 「admin」ユーザのパスワード
パスワードの再入力: [**********] :
----------------------------------------------------------------------------
Alfresco SharePointのポート

SharePointプロトコル用のポート番号を選択してください。

ポート: [7070]:  #← ポートは各自設定

----------------------------------------------------------------------------
サービスとしてインストール

必要に応じて、Alfresco Communityをサービスとして登録できます。サービスとして登録すると、コンピュータを起動するたびに、Alfresco 
Communityが自動的に開始されます。

Alfresco Communityをサービスとしてインストールしますか? [Y/n]: Y #← 特にこだわりがなければサービスにしましょう。


----------------------------------------------------------------------------
LibreOfficeサーバーのポート

LibreOFFICEサーバーがデフォルトでリッスンするポートを入力してください。

LibreOfficeサーバーのポート [8100]: #← ポートは各自設定

----------------------------------------------------------------------------
お使いのコンピュータに Alfresco Community をインストールする準備が整いました。

続けますか? [Y/n]: Y 
  • MySQLドライバーの設置
$ sudo cp /opt/mysql-connector-java-5.1.34/mysql-connector-java-5.1.34-bin.jar /opt/alfresco/tomcat/lib/

これでインストール作業は完了

ブラウザで http://localhost:8080/share にアクセスできるばず。

Nginx

リバプロとファイルキャッシュのため、Nginxをいれる。
このレイヤーでログをとったり、アクセス制御できるので、便利

インストール

参考
How To Install The Latest Version Of Nginx On Ubuntu 14.10

  • デフォルトパッケージのバージョン確認
$ sudo aptitude show nginx

Package: nginx                           
State: not installed
Version: 1.4.6-1ubuntu3.2
Priority: optional
Section: web
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all

1.4.6は低すぎるので、最新を探す

  • keyのダウンロード
$ cd /tmp/ && wget http://nginx.org/keys/nginx_signing.key
  • apt設定ファイル作成
/etc/apt/sources.list.d/nginx.list

deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx
  • aptアップデート
$ sudo aptitude update
  • バージョン確認
$ sudo aptitude show nginx

Package: nginx                           
State: not installed
Version: 1.9.0-1~trusty
Priority: optional
Section: httpd
Maintainer: Sergey Budnevitch <sb@nginx.com>
Architecture: amd64
Uncompressed Size: 1,105 k
Depends: libc6 (>= 2.14), libpcre3, libssl1.0.0 (>= 1.0.1), zlib1g (>= 1:1.2.0), lsb-base, adduser
Provides: httpd
Provided by: nginx-core, nginx-extras, nginx-full, nginx-light, nginx-naxsi
Description: high performance web server
 nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server.
Homepage: http://nginx.org

完璧です

  • インストール
$ sudo aptitude install -y nginx
  • バージョン確認
$  nginx -v

nginx version: nginx/1.9.0

nginxの設定は長くなるので、省略

参考記事を貼っておきます。
quota exceed msg when no quotas are set
NGINXのLOCATION設定について、優先順位の基本と意外な罠
インストール nginx + OpenSSL(新規・更新)
nginxの設定、その4 - TLS/SSLの設定

Alfrescoの設定

再起動

設定反映のためにはもちろん再起動が必要なので、先に再起動の方法を書きます。
Solrのインデックス作成に時間がかかるので、再起動時間及び、起動後利用できるようになるまで時間がかかる。

$ sudo service alfresco restart

LDAP設定

参考
AlfrescoのLDAP連携

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

ldap.authentication.userNameFormat=%s@[domain]
ldap.authentication.java.naming.provider.url=ldap://[domain]:389
ldap.authentication.defaultAdministratorUserNames=Administrator,alfresco
ldap.synchronization.java.naming.security.principal=[user]@[domain]
ldap.synchronization.java.naming.security.credentials=[pass]

ファイルの後ろの方にこんな感じで書けばいける

メール設定

  • hostを編集(メールのURLに関連するので。)
/opt/alfresco/tomcat/shared/classes/alfresco-global.properties

alfresco.context=alfresco
#alfresco.host=127.0.0.1 ← コメントアウト
alfresco.host=[Domain] #← ドメイン記入。なければIP
alfresco.port=443 #← HTTPSにした
alfresco.protocol=https #← HTTPSにした

share.context=share
#share.host=127.0.0.1 #← コメントアウト
share.host=[Domain] #← ドメイン記入。なければIP
share.port=443 #← HTTPSにした
share.protocol=https #← HTTPSにした

  • メール設定の追加
/opt/alfresco/tomcat/shared/classes/alfresco-global.properties

mail.host=[fqdn] #← メールサーバ
mail.port=25
mail.username=[user]
mail.password=[pass]
mail.encoding=UTF-8
mail.from.default=[address]
mail.from.enabled=false
mail.smtp.auth=false
mail.smtp.timeout=30000

Libre Office設定

この設定はやらないとうまいことOfficeのプレビューができない

  • 設定ファイル編集
/opt/alfresco/libreoffice/scripts/libreoffice_ctl.sh

# Libre Office
SOFFICE_PATH="/opt/alfresco/libreoffice/program"
SOFFICE_PORT="8100"
SOFFICEBIN=/opt/alfresco/libreoffice/program/.soffice.bin
SOFFICEWRAPPER=/opt/alfresco/libreoffice/program/soffice.bin
#SOFFICE="$SOFFICEWRAPPER --nofirststartwizard --nologo --headless --accept=socket,host=localhost,port=$SOFFICE_PORT\;urp\;StarOffice.ServiceManager"   #← コメントアウト
SOFFICE="$SOFFICEWRAPPER --nofirststartwizard --nologo --headless --accept=socket,host=localhost,port=$SOFFICE_PORT;urp;StarOffice.ServiceManager" #← 追加
SOFFICE_STATUS=""
  • ファイル名変更
$ sudo cp /opt/alfresco/libreoffice/scripts/libreoffice_ctl.sh /opt/alfresco/libreoffice/scripts/ctl.sh
  • 依存ライブラリインストール
$ sudo aptitude install -y libxinerama1 libcups2 libdbus-glib-1-2 libfontconfig1

データディレクトリの変更(必要であれば。)

1つのディスクにMySQLもファイルデータもSolrのインデックスも置いちゃえば、バックアップが簡単でいいよねw
ということで、全て寄せる。これはやらなくてもいい作業です。
今回は/dataという場所にディスクをマウントして、ディレクトリを作成したという前提で話を進めていきます。

  • Alfrescoの停止
$ sudo service alfresco stop
  • MySQLの停止
$ suo service mysql stop

データの移行を行うので、サービスの停止はお忘れなく

データの移行

$ sudo cp -a /opt/alfresco/alf_data/ /data/

Alfresco

  • ファイル場所の設定変更
/opt/alfresco/tomcat/shared/classes/alfresco-global.properties

#dir.root=/opt/alfresco/alf_data
dir.root=/data/alf_data

Solr

  • Rootディレクトリ場所設定変更
/opt/alfresco/tomcat/conf/Catalina/localhost/solr4.xml

<?xml version="1.0" encoding="utf-8"?>
<Context debug="0" crossContext="true">
  <Environment name="solr/home"        type="java.lang.String" value="/data/solr4" override="true"/>
  <Environment name="solr/model/dir"   type="java.lang.String" value="/data/alf_data/solr4/model" override="true"/>
  <Environment name="solr/content/dir" type="java.lang.String" value="/data/alf_data/solr4/content" override="true"/>
</Context>

  • アーカイブディレクトリ場所設定変更
/opt/alfresco/solr4/archive-SpacesStore/conf/solrcore.properties

#
# solrcore.properties - used in solrconfig.xml
#
# data is in ${data.dir.root}/${data.dir.store} 

#data.dir.root=/opt/alfresco/alf_data/solr4/index
data.dir.root=/data/alf_data/solr4/index
data.dir.store=archive/SpacesStore
enable.alfresco.tracking=true
  • ワークスペース場所設定変更
/opt/alfresco/solr4/workspace-SpacesStore/conf/solrcore.properties

#
# solrcore.properties - used in solrconfig.xml
#
# data is in ${data.dir.root}/${data.dir.store} 

#data.dir.root=/opt/alfresco/alf_data/solr4/index
data.dir.root=/data/alf_data/solr4/index
data.dir.store=workspace/SpacesStore
enable.alfresco.tracking=true
  • server.xml編集
/opt/alfresco/tomcat/conf/server.xml

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" URIEncoding="UTF-8" protocol="AJP/1.3" redirectPort="8443" />

    <Connector port="8443" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
               maxThreads="150" scheme="https" keystoreFile="/data/alf_data/keystore/ssl.keystore" keystorePass="kT9X6oe68t" keystoreType="JCEKS"
 secure="true" connectionTimeout="240000" truststoreFile="/data/alf_data/keystore/ssl.truststore" truststorePass="kT9X6oe68t" truststoreType="JCEKS"
               clientAuth="want" sslProtocol="TLS" allowUnsafeLegacyRenegotiation="true" maxHttpHeaderSize="32768" />

MySQL

参考
Ubuntu の MySQL を標準以外のディレクトリで動かす
AppArmor を使ってみる

ubuntuは実ファイルをそのまま移行するだけだとダメらしいね

  • データ格納場所設定変更
/etc/mysql/my.cnf

#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
#datadir                = /var/lib/mysql
datadir         = /data/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
  • 権限設定
/etc/apparmor.d/local/usr.sbin.mysqld

# Site-specific additions and overrides for usr.sbin.mysqld.
# For more details, please see /etc/apparmor.d/local/README.

/data/mysql/ r,
/data/mysql/** rwk,

  • apparmor再起動
$ sudo service apparmor restart
  • MySQL起動
$ sudo service mysql start
  • 元のディレクトリをみているものがないことを確認
$ mysql -uroot -p -e "show variables" | grep /var/lib

ログファイルの出力先変更

デフォルトだとAlfrescoのホームディレクトリに吐かれてしまって、邪魔なので。

  • ログファイル出力先のディレクトリ作成
$ sudo mkdir /data/log/alfresco
  • alfresco.log
/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/log4j.properties

###### File appender definition #######
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.File.File=alfresco.log                   #← コメントアウト
log4j.appender.File.File=/data/log/alfresco/alfresco.log  #← 追加
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
  • share.log
/opt/alfresco/solr4/log4j-solr.properties

###### File appender definition #######
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.File.File=solr.log #← コメントアウト
log4j.appender.File.File=/data/log/alfresco/solr.log #← 追加
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] %m%n

最後に

長々と書きましたが、以上です。
本当はまだまだ書きたいことがあるのですが、この辺でやめておきます

ここまで設定できれば、普通に使えると思いますので、是非チャレンジしてみてください。
Let's Enjoy Alfresco!!

193
225
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
193
225