多分、今旬だと思いますので、書き残しておこう!と言う試み…
AIPO の無料プランが終了するそうで、コミュニティー版をオンプレミスで運用しよう!と言う事になり、インストールしてみました
一回、データの移行などを行えるか?などを確認する為に簡単にテストが出来る環境を構築しましたので、顛末を書き残してみる試み…
あと何日かで AIPO の無料プランが終了するそうで、現在管理している方が難儀していましたので、サーバー構築のお手伝いをしました
その際、いくつかポイントが有りましたので忘れないように、手順などを書き残してみる試み….
AIPO のオープンソース版と言う事ですが、どんなライセンスなのかパット見じゃ判らないなぁ…
オープンソースだと言うことなので、急に無くなることは無いだろうと思いますが…
# wiki には AGPLv3 と言う事らしいが、開発元に書いてある所が判らない..
1.CentOS をインストール
AIPO 8.1.1 は、CentOS 7 や 新しめの Ubuntu などへインストールすることが出来ません
これは、イーサネットのデバイス名が長いものに変更されてしまっている為、データベースに接続できず、ログインページなどを表示しようとするとタイムアウトします
ブラウザーでアクセスしてみて、タイムアウトしたら、その環境はあきらめた方が良いと思います
# どこで悪さしているかなどを確認して対処出来ないので…
ですので、古い Ubuntu などを用意するより、開発元で動作確認してあるという CentOS を選択して見ました
余り得意じゃ無いですが、致し方ない…
開発元では CentOS 6.6 で動作確認済みとなっていますが、JAIST などではもう取得出来ませんでしたので、CentOS 6.8 (Final) と言う版を利用する事にしました
AIPO のインストーラーに必要な物が用意されている様ですので、CentOS-6.8-x86_64-minimal.iso を拾ってきて、最小版のインストールを行いました
特記するようなことは無いと思いますが、Minimal Install 版って言うのは、使えそうなコマンドが入っていないので、ネットワークの設定に気を付けた方が良いと思います
最小インストール版でも 日本語を選択するとインストール作業は日本語で行えます
インストールの時点でネットワークの設定を行っておくようにしましょう!
ここで手を抜くと vi で設定ファイルを修正しなくてはならなくなります…
yum などで必要なコマンド類を拾ってくる必要がありますが、これが出来ないと苦労します
インストールが完了したら、NTP と OS の自動アップデート機能もインストールします
yum update
yum install emacs ntp yum-cron
とりあえずこれだけ設定しよう…
2.OS の設定など
最初に ネットワークの設定を確認します
emacs などをインストールしてみました
久し振りの AIPO なので、なにが必要だったか、もう思い出せません…
なので、OS のメンテナンスと時間だけは同期しておきたいと思ったのですが、必要なら追記していきます…
ntp
ntp は /etc/ntp.conf の中に、 server と言う行があるので
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp.nict.jp
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
server ntp.kddnet.ad.jp
こんな感じで変更しましたが…
最近、mfeed が良くこけるような気がしますが…
最初に ntpdate ntp.nict.jp
などを実行して時間を修正した方が良いようです
余りに時間差があると同期出来ないようですので、最初にイッパツで同期します
/etc/rc.d/init.d/ntpd start
一端、これで起動して ntpq を実行して動作確認します
[root@localhost ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp-b3.nict.go. .NICT. 1 u 44 512 377 6.095 1.769 0.599
+ntp1.jst.mfeed. 133.243.236.17 2 u 24 512 377 4.205 2.625 1.929
+ntp2.jst.mfeed. 133.243.236.17 2 u 384 512 377 5.036 1.514 1.466
+ntp3.jst.mfeed. 133.243.236.17 2 u 444 512 377 4.790 2.019 0.459
str10.int-gw.kd .INIT. 16 u - 1024 0 0.000 0.000 0.000
[root@localhost ~]#
こんな感じで、行の先頭に * とか + が付けば良いようです
x とか – が付く場合も良く有りますので、再確認してみましょう…
で、動作が確認出来たら
chkconfig ntpd on
を実行して、起動時に実行されるように設定します
yum-cron
OS の自動更新は、ちょっと判らないですので、色んな Blog を参考にさせて頂き、最低限の更新だけされるようにしてみましたが
ちょっと、状況などを確出来ていません
また、/boot がそのうち溢れるそうなので、回避や対処なども行わないといけません
[root@localhost ~]# service yum-cron start
夜間 yum 更新の有効化中: [ OK ]
[root@localhost ~]# chkconfig --list | grep yum
yum-cron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]# runlevel
N 3
[root@localhost ~]#
一応、動いているようです..
iptables
次に、FireWall の設定を行います
iptables を手動で追加したか、ちょっと忘れてしまったので、次回に設定するときは控えておかないと…
# 追記: 最初から入っているようです
ポートの 80 と 443 を開けないといけませんので、コマンドで追加した方が早そうなので、手順を忘れないように書いておきます
[root@localhost ~]# iptables -L --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT icmp -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere
4 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
5 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
[root@localhost ~]# iptables -I INPUT 5 -m tcp -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -I INPUT 6 -m tcp -p tcp --dport 443 -j ACCEPT
[root@localhost ~]# iptables -L --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT icmp -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere
4 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
5 ACCEPT tcp -- anywhere anywhere tcp dpt:http
6 ACCEPT tcp -- anywhere anywhere tcp dpt:https
7 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
[root@localhost ~]# service iptables save
要は、最初のナンバー付きリストの 5 行目が REJECT の指定ですので、
その前に、http と https の設定を追加したと言う事のようです
最後に設定を保存して、リブートなどした後にリスト表示して、もう一度確認してみてください
AIPO をインストールした後、なにも表示されないなどした場合はこれを確認してみてください
3.AIPO のインストール
開発元の説明にあるように、必要なパッケージをインストールします
yum install gcc nmap lsof unzip readline-devel zlib-devel
tar zxvf aipo-8.1.1-linux-x64.tar.gz
cd aipo-8.1.1-linux-x64
sh installer.sh /usr/local/aipo
で、コンパイルなど始まって、最後に必要な情報を表示しますので書き留めて於くなりしましょう!
…
=============================================
Aipo のインストールが完了しました。
バージョン : 8.1.1.0
インストール先 : /usr/local/aipo
PostgreSQLユーザー : aipo_postgres
PostgreSQLパスワード: XXXXXXXXXXXX
アクセス先:
http://172.16.XXX.XXX
ID/PASSWORD:
admin/admin
起動方法:
/usr/local/aipo/bin/startup.sh
停止方法:
/usr/local/aipo/bin/shutdown.sh
[root@localhost aipo-8.1.1-linux-x64]#
で、起動方法が書いてありますので実行してみます
[root@localhost ~]# /usr/local/aipo/bin/startup.sh
Starting Aipo 8.1.1.0.
Access URL : http://172.16.XXX.XXX
[root@localhost ~]#
Access URL で表示されてるアドレスが AIPO のアドレスになります
インストール完了後、開発元で用意してある祝休日カレンダーをインストールしないとね!
4.残件
サーバー証明を取って、https で接続出来るようにしないといけません
tomcat へ設定するそうですが、やったことが無いのでちょっと判らない…
それと、HDD を増設して RAID5 を設定しておこうと思いますが…
たぶん、BIOS で設定すれば構成出来る機体だったと思うので、ここには書く事ないかなぁ…..
サーバー証明の設定を行ったら、また書き忘れないようにしないと…
一応、動いてる感じ..
2021-11-17 追記:リストア
AIPO を動かしていたサーバが動かなくなってしまったので、リストアする必要がありました
この記事を書いた時点では、CentOS の配布が無くなるなんて考えても無かった…
CentOS の 7,8 は確保しておいたんだけど、6 Final は保管してなかった…
で、 6.6 の DVD を探し出してなんとか環境ができたが、それはまた別の話かな…
AIPO のインストーラが gcc の環境が足りないと言うことで文句を言ってきたんですが、なんとかごまかしました
cc のインストールでライブラリが見つからないので、一本だけ無視して進めました
で、リストアなんですが、何とかなったので書き留めておきます
バックアップは AIPO の bin に backup.sh があるので、cron で 深夜に動かしてバックアップを取っていました
そのファイルが AIPO の backup ディレクトリーにあるので、まとめてせっせと毎晩ファイルサーバーに複写していて助かりました ^^/
AIPO を素の状態でインストールしたら、AIPO が起動している状態で backup ディレクトリに確保しておいたファイルの中身を全部コピーします
コピーし終わったら、bin にある restore.sh を実行します
Aipo のリストアを開始します。
[1] 2021年11月08日02時15分
[2] 2021年11月09日02時15分
[3] 2021年11月10日02時15分
[4] 2021年11月11日02時15分
[5] 2021年11月12日02時15分
[6] 2021年11月13日02時15分
[7] 2021年11月14日02時15分
[0] キャンセル
バックアップファイルを選んで番号を入力してください
バックアップファイルの選択が表示されますので、選択するとリストアが始まります
最初、動いていないとリストアできないのが判らなくて数時間苦しみました
どうも、AIPO が動かないので PostgreSQL が動かずリストアできない様で判るまで数時間かかってしまったので、備忘として書いておきます
すいません、私はAIPO8.1.1をWindowsで運用しているのですが、
共有メモ・簡易在席確認で「共有メモ」は2024年6月30日をもちまして、提供を終了いたします。など提供終了のメッセージ出力がありました。
「bbz internet」さんはどのように対応されているのでしょうか?
こればっかりは仕方がないので、あきらめています
だんだんと使えなくなっていくのでしょう ^^;
エンドユーザーさんには、現クロジカ をお勧めしていました
オンプレで運営しているものは、機体が壊れたら代替が有りませんのであきらめて!とアナウンスして休日のメンテだけしています ^^;
オンプレですので CentOS 6 の動く環境を用意できる限り延命していこうと思っています
Exment で似たような環境が動くように移行しようかな?と思っていたのですが、結構、環境の維持が大変です
ワークフローの運営方法をうまく調整できれば NextCloud でいけるかな?とも思っています
NextCloud は社内で利用させて浸透を図っているところです ^^b
返信ありがとうございます。
OSSですので、大丈夫かと思っていたのですが・・・・。
現クロジカも拝見したのですが、500円/月(一人)はやはり高価です。
ワークフロー・スケジュールなど結構重宝していました。
ソースを眺めてみることにします。(可能であれば・・・)
重ねてありがとうございました。
また何か進展がございましたら、情報交換ができればうれしく思います。
AIPOを解析したところ
DB:applicaionテーブルに、クロジカさんに向かうURLがあり、そこから本体を取得していました。
ですので、時限爆弾はそこで制御しているようです。
以下が対象アプリです。
“安否確認”、”チャットルーム”、”共有メモ”、”簡易在席確認”、”twiリーダー”、”フィードリーダー”
そこのソースを利用できれば対処は可能ですが、ライセンスの問題がありますかね~(AGPLv3)
情報ありがとうございます
当方は AIPO 本体でできる範囲で運営してもらって、移行先を探す感じでしょうか…
メンテナンスが終わったものを延命し続けるのもどうかな?とも思っていますが、
これがなかなかうまく周りが付いてきてくれません ^^
サイボウズなども検討したのですが、やっぱり慣れたものが良いとのことと、値段のことで押し切られてしまいました
なかなか適当なものが見つからずに難儀しています
また良いお話しがあれば、教えて頂けると嬉しいです ^^b