Quantcast
Channel: ろっひー
Viewing all articles
Browse latest Browse all 77

Alfrescoの起動方法を変える systemctl

$
0
0

Alfrescoを起動する方法、現状がよろしくなかった。

/etc/init.d/alfrescoに定義を書いて、root権限で動作させている。


変えましょう…




■サービスを止める


今までの手順だとこちら。


$ sudo service alfresco stop

※終了に猛烈に時間がかかる(5分、CPU使用率は高くならない)ことがあったが、原因を突き止められずにここまできた。


サービスの登録状況は sysv-rc-conf で見る。


$ sysv-rc-conf --list
acpid 2:on 3:on 4:on 5:on
alfresco 0:off 1:off 2:on 3:on 4:on 5:on 6:off
alsa-utils 0:off 1:off 6:off S:on

という具合。


サービスを削除する。


$ sudo update-rc.d alfresco disable ← これは無効化。やらなくていいかも。
$ sudo update-rc.d alfresco remove ← これで /etc/rc?.d からシンボリックリンクが消える
$ sudo rm /etc/init.d/alfresco ← 起動スクリプトを削除
$ sysv-rc-conf --list
acpid 2:on 3:on 4:on 5:on
alsa-utils 0:off 1:off 6:off S:on

きれいに消えた。


 




■起動ユーザーを作る


ユーザー alfresco を作って、Alfresco関連ファイルの持ち主を alfresco に変える。


$ sudo useradd --system --user-group alfresco
$ sudo chown -R alfresco:alfresco /usr/share/alfresco/

 


■起動用の設定ファイルを作る


このあたりを参考に。


https://gist.github.com/fmaul/b05d9b8d8b5ff8ff0a0657f2c25d7d8d

http://alfrescoblog.magenta.dk/content/creating-systemd-service-alfresco-installation


/lib/systemd/system/alfresco.service


[Unit]
Description=Alfresco Content Service
After=syslog.target network.target mysql.service

[Service]
Type=forking
ExecStart=/usr/share/alfresco/alfresco.sh start
ExecReload=/usr/share/alfresco.sh restart
ExecStop=/usr/share/alfresco/alfresco.sh stop
User=alfresco
PIDFile=/usr/share/alfresco/tomcat/temp/catalina.pid

[Install]
WantedBy=multi-user.target

 


rootでインストールしたので、スクリプトに若干の修正が必要。


/usr/share/alfresco/alfresco.sh


#!/bin/sh

echo "TRACE : 101"

# Allow only root execution
#if [ `id|sed -e s/uid=//g -e s/\(.*//g` -ne 0 ]; then
# echo "This script requires root privileges"
# exit 1
#fi

echo "TRACE : 102"

※コメントアウトする


■サービスとして登録


まずは起動を試す。


$ sudo sudo systemctl daemon-reload
$ sudo systemctl start mattermost.service
$ systemctl status mattermost.service
● alfresco.service - Alfresco Content Service
Loaded: loaded (/lib/systemd/system/alfresco.service; enabled; vendor preset: enabled)
Active: active (running) since 土 2018-04-14 11:08:41 JST; 10s ago
Process: 6033 ExecStart=/usr/share/alfresco/alfresco.sh start (code=exited, status=0/SUCCESS)

これで起動が確認できたらOKかな。


サービスとして登録。


$ sudo systemctl enable alfresco.service

 




これで移行ができる。


も、もしかして init.d で何かするより簡単!?


Viewing all articles
Browse latest Browse all 77

Trending Articles