#author("2023-12-17T06:23:29+00:00","default:sysosa","sysosa")
#author("2023-12-17T06:23:44+00:00","default:sysosa","sysosa")
ccp4 cloud
webベースで解析が行えるそうな. 結果表示もいいみたい. それをccp4側のクラウドではなく&color(magenta){オンプレミス};で用意するお話

オンプレミスの作り方 [[https://cloud.ccp4.ac.uk/manuals/html-dev/setup.html>+https://cloud.ccp4.ac.uk/manuals/html-dev/setup.html]]
ドキュメント[[https://cloud.ccp4.ac.uk/manuals/html-tutorials/index.html>+https://cloud.ccp4.ac.uk/manuals/html-tutorials/index.html]], 
使い方とか [[https://www.youtube.com/watch?app=desktop&v=eGlrbLtPlss>+https://www.youtube.com/watch?app=desktop&v=eGlrbLtPlss]](youtube)
チュートリアル [[https://cloud.ccp4.ac.uk/manuals/html-tutorials/index.html>+https://cloud.ccp4.ac.uk/manuals/html-tutorials/index.html]]

構築対象の計算機
#code(nonumber){{
[root@rockylinux ~]# cat /etc/redhat-release
Rocky Linux release 8.8 (Green Obsidian)

[root@rockylinux ~]#
}}


***下準備 [#tbbb6881]
SELinuxは無効か「httpd_can_network_connect」を有効にします
SELinuxは無効にするか「httpd_can_network_connect」を有効にします
#code(nonumber){{
[root@rockylinux ~]# getsebool httpd_can_network_connect
httpd_can_network_connect --> on

[root@rockylinux ~]# setsebool -P httpd_can_network_connect 1
}}
そしてfirewallとしては80/tcpを通しておきます
#code(nonumber){{
[root@rockylinux ~]# firewall-cmd --add-service=http --zone=public --permanent
[root@rockylinux ~]# firewall-cmd --reload
}}

***ccp4の準備 [#daae1061]
#code(nonumber){{
[root@rockylinux ~]# cd /apps/
[root@rockylinux apps]# tar xf /Public/em/ccp4-8.0.015-linux64.tar.gz
[root@rockylinux apps]# ./ccp4-8.0/BINARY.setup
 :
Do you accept the terms of the license? y/n [n] y
 :
[root@rockylinux apps]# source /apps/ccp4-8.0/bin/ccp4.setup-sh
[root@rockylinux apps]# ./ccp4-8.0/bin/ccp4um -m 99
}}

***CCP4 Cloudの展開 [#j613049e]
機能的にはFE(フロントエンド),NC(NumberCrunchers)の2つの機能が存在していて、別途作成したユーザ(ccp4-cloud)で稼働させる.
NCは複数用意できるようですが、ここでは1つで行います.

必要なソースコードを取得して展開します.

#code(nonumber){{
[root@rockylinux ~]# useradd ccp4-cloud

[root@rockylinux ~]# cd /apps/src/
[root@rockylinux src]# curl http://ccp4serv6.rc-harwell.ac.uk/jscofe-dev/ccp4cloud-setup.tar.gz > ccp4cloud-setup.tar.gz
[root@rockylinux src]# ls -l
total 12
-rw-r--r--. 1 root root 9941 Nov 27 00:59 ccp4cloud-setup.tar.gz

[root@rockylinux src]# tar xf ccp4cloud-setup.tar.gz
[root@rockylinux src]# cd ccp4cloud-setup
[root@rockylinux ccp4cloud-setup]#
[root@rockylinux ccp4cloud-setup]# ls -l
total 8
drwxr-xr-x. 4 503 games 4096 Nov 27 01:07 FE
drwxr-xr-x. 5 503 games 4096 May 15  2022 NC
[root@rockylinux ccp4cloud-setup]#
}}

アプリの配置は
#code(nonumber){{
/apps/ccp4-8.0
     /ccp4-cloud/FC(ccp4-cloud,rw)
                /NC(ccp4-cloud,rw)
                /disk1/{users,projects}
                /images
                /pdb
                /data
                /tutorial
                /job-state    <-- ユーザ ccp4-cloud がrw
}}
な感じで.

#code(nonumber){{
[root@rockylinux ccp4cloud-setup]# mkdir /apps/ccp4-cloud
[root@rockylinux ccp4cloud-setup]# cp -r FE /apps/ccp4-cloud/
[root@rockylinux ccp4cloud-setup]# cp -r NC /apps/ccp4-cloud/
[root@rockylinux ccp4cloud-setup]# chown -R ccp4-cloud. /apps/ccp4-cloud/{FE,NC}

[root@rockylinux ccp4cloud-setup]# mkdir /apps/ccp4-cloud/{images,pdb,data,tutorial,job_safe}
[root@rockylinux ccp4cloud-setup]# mkdir -p /apps/ccp4-cloud/disk1/{users,projects}
[root@rockylinux ccp4cloud-setup]# chown -R ccp4-cloud. /apps/ccp4-cloud/job_safe/ /apps/ccp4-cloud/disk1/
}}

設定ファイルを調整します 参照[[ccp4/cloud/config]]

***apache設定 [#gbdece58]
機構的には apache で受け取ってProxyPassを使ってユーザ(ccp4-cloud)で稼働しているnodeプロセスにつなげます.

っでシステムにhttpdを入れます
#code(nonumber){{
[root@rockylinux ~]# dnf install httpd mod_proxy_html

[root@rockylinux ~]# cp /apps/src/ccp4cloud-setup/FE/etc/apache2/sites-enabled/ccp4cloud.conf /etc/httpd/conf.d/

[root@rockylinux ~]# vi /etc/httpd/conf.d/ccp4cloud.conf

<Proxy http://127.0.0.1:8081/*>
  Allow from all
</Proxy>

ProxyRequests Off
ProxyPass /ccp4cloud http://localhost:8081
SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyHTMLURLMap http://localhost:8081 /ccp4cloud
LogLevel Info
ProxyPassReverse /ccp4cloud http://localhost:8081

[root@rockylinux ~]#
}}

っで起動
***起動 [#p4850215]

FEとNCはユーザ(ccp4-cloud)権限で稼働させます.

#code(nonumber){{
[root@rockylinux ~]# su - ccp4-cloud

[ccp4-cloud@rockylinux ~]$
[ccp4-cloud@rockylinux ~]$ /apps/ccp4-cloud/NC/start-nc.sh
[ccp4-cloud@rockylinux ~]$ /apps/ccp4-cloud/FE/start-fe.sh

[ccp4-cloud@rockylinux ~]$ exit

[root@rockylinux ~]# 
[root@rockylinux ~]# systemctl start httpd
}}


***確認 [#g692ffa4]
NCのログを確認
#code(nonumber){{
[root@rockylinux ~]# ls -l  /apps/ccp4-cloud/NC/logs/
total 4
-rw-rw-r--. 1 ccp4-cloud ccp4-cloud   0 Dec 17 02:26 node_nc.err
-rw-rw-r--. 1 ccp4-cloud ccp4-cloud 540 Dec 17 02:26 node_nc.log
[root@rockylinux ~]#
}}

次にFEの確認
#code(nonumber){{
[root@rockylinux ~]# ls -l /apps/ccp4-cloud/FE/logs/
total 4
-rw-rw-r--. 1 ccp4-cloud ccp4-cloud   0 Dec 17 02:26 node_fe.err
-rw-rw-r--. 1 ccp4-cloud ccp4-cloud 316 Dec 17 02:26 node_fe.log
[root@rockylinux ~]#
}}

FEとNCはnodeで動いているのでそれも確認します
#code(nonumber){{
[root@rockylinux ~]# lsof -i -P
 :
node      42383 ccp4-cloud   19u  IPv4  96928      0t0  TCP localhost:8083 (LISTEN)
node      42862 ccp4-cloud   19u  IPv4 100300      0t0  TCP localhost:8081 (LISTEN)
 :

[root@rockylinux ~]# curl http://localhost:8081/whoareyou
CCP4 Cloud FE 1.7.016 [27.09.2023] CCP4-8.0.016 active

[root@rockylinux ~]#
[root@rockylinux ~]# curl http://localhost:8083/whoareyou
CCP4 Cloud NC-0 (nc-1) 1.7.016 [27.09.2023] 0
[root@rockylinux ~]#

[root@rockylinux ~]# curl http://rockylinux/ccp4cloud/whoareyou
CCP4 Cloud FE 1.7.016 [27.09.2023] CCP4-8.0.016 active

[root@rockylinux ~]#
}}


これで問題ないようなのでブラウザからアクセスしてみます
&ref(2023y12m17d_025516879.jpg,nolink,80%);

っで規定で用意されているアカウントでログインします. ログイン名は「devel」でパスワードも同じく「devel」です.
ccp4へのフィードバックをするかしないかを定めたり、新規のプロジェクトらをはじめに作る.

***アカウント [#u2535d5b]
ユーザ「devel」以外にも管理者アカウント「admin」も用意するそうな. っで
#code(nonumber){{
[root@rockylinux ~]# su - ccp4-cloud
[ccp4-cloud@rockylinux ~]$ cp /apps/ccp4-cloud/disk1/users/devel.user /apps/ccp4-cloud/disk1/users/admin.user
[ccp4-cloud@rockylinux ~]$ cp -r /apps/ccp4-cloud/disk1/projects/devel.projects /apps/ccp4-cloud/disk1/projects/admin.projects
}}
っで「/apps/ccp4-cloud/disk1/users/admin.user」に変更を加えます.  &size(10){roleがあるのに注目かな};

#code(diff,nonumber){{
--- /apps/ccp4-cloud/disk1/users/devel.user     2023-12-17 10:12:01.434730270 +0900
+++ /apps/ccp4-cloud/disk1/users/admin.user     2023-12-17 10:11:38.978509054 +0900
@@ -1,15 +1,15 @@
 {
   "_type": "UserData",
-  "name": "Developer",
-  "email": "ccp4@ccp4.ac.uk",
-  "login": "devel",
+  "name": "Admin",
+  "email": "saber@chaperone.jp",
+  "login": "admin",
   "licence": "academic",
   "feedback": "declined",
   "pwd": "149afd631693c895f81e508eb5aaef37",
   "cloudrun_id": "73u9-tpbh-1b4u-4w49",
   "knownSince": 1702748837788,
   "lastSeen": 1702774031283,
-  "role": "user",
+  "role": "admin",
   "dormant": 0,
   "volume": "disk1",
   "helpTopics": [],
}}
これでアカウント「admin」、パスワードはユーザ「devel」のパスワードを継承しているので変更した値を入れてログインします
そうするとこんな画面になります
&ref(2023y12m17d_101528573.jpg,nolink,80%);
1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS