本家様 http://emg.nysbc.org/redmine/projects/appion/wiki/Appion_Home

CentOS 7.6 に入れてみた

準備

以下のパッケージが必要みたい
http://emg.nysbc.org/redmine/projects/appion/wiki/Download_additional_Software_(CentOS_Specific)

yum  install \
  python-tools python-devel python-matplotlib \
  subversion ImageMagick grace gnuplot \
  wxPython numpy scipy python-imaging \
  gcc-gfortran compat-gcc-34-g77 \
  gcc-objc fftw3-devel gsl-devel \
  mysql mysql-server MySQL-python \
  httpd php php-mysql phpMyAdmin  \
  gcc-c++ openmpi-devel libtiff-devel \
  php-devel gd-devel re2c fftw3-devel php-gd \
  xorg-x11-server-Xvfb netpbm-progs \
  libssh2-devel

だが、、品目が正しくない.
「mysql」「mysql-server」は「mariadb」「mariadb-server」にすべきかな
CentOS 7.6に「compat-gcc-34-g77」は入っていない。CentOS6向けのパッケージである。
このパッケージは「Fortran 77 support for compatibility compiler」として「g77」が入っている。
CentOS 7.6でg77って、見当たらない..「yum provides */g77」から..

補足
「php-pecl-ssh2」パッケージが必要であった

mysqlの設定

「/etc/my.cnf.d/server.cnf」を修正します。
[mysqld]セクションの最後に下記を追加します

[root@c ~]# vi /etc/my.cnf.d/server.cnf
 :
 :
[mysqld]
query_cache_type = 1
query_cache_size = 100M
query_cache_limit= 100M
default_storage_engine=MyISAM
[mysqldump]
 :
[root@c ~]#

この後データベースを起動させます

[root@c ~]# systemctl enable mariadb
[root@c ~]# systemctl start mariadb

次にAppion向けのデータベースを作ります

[root@c ~]# mysqladmin create leginondb
[root@c ~]# mysqladmin create projectdb

mysqlにアクセスするユーザを作成。ここでは「usr_object」なるユーザを作る

[root@c ~]# mysql -u root mysql
mysql> CREATE USER usr_object@'%.sybyl.local' IDENTIFIED BY 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
mysql> GRANT ALTER, CREATE, INSERT, SELECT, UPDATE ON leginondb.* to usr_object@'%.sybyl.local';
mysql> GRANT ALTER, CREATE, INSERT, SELECT, UPDATE ON projectdb.* to usr_object@'%.sybyl.local';
 
*あるいは簡単に
CREATE USER usr_object@'localhost';
GRANT ALL PRIVILEGES ON leginondb.* TO usr_object@'localhost';
GRANT ALL PRIVILEGES ON projectdb.* TO usr_object@'localhost';

これでmysqlユーザの「usr_object」は「leginondb」「projectdb」データベースに作られるスキーマにアクセス可能となった。
次に「ap」から始まるデータベースに対しての操作をmysqlユーザの「usr_object」に与える
*「ap」から始まるデータベースはこの段階ではまだ存在しませんけど

mysql> GRANT ALTER, CREATE, INSERT, SELECT, UPDATE, DELETE ON `ap%`.* to usr_object@'%.sybyl.local';  
 
*あるいは簡単に
GRANT ALTER, CREATE, INSERT, SELECT, UPDATE, DELETE ON `ap%`.* to usr_object@localhost;

ここまできたら、mysqlユーザの「usr_object」で接続テストを行う

[root@c ~]# mysql -u usr_object -D leginondb -h c.sybyl.local -p     #あるいは「mysql -u usr_object -D leginondb」
Enter password:
mysql> SHOW VARIABLES LIKE 'query%';
+------------------------------+-----------+
| Variable_name                | Value     |
+------------------------------+-----------+
| query_alloc_block_size       | 8192      |
| query_cache_limit            | 104857600 |
| query_cache_min_res_unit     | 4096      |
| query_cache_size             | 104857600 |
| query_cache_type             | ON        |
| query_cache_wlock_invalidate | OFF       |
| query_prealloc_size          | 8192      |
+------------------------------+-----------+
7 rows in set (0.00 sec)
 
mysql> quit
[root@c ~]#

コマンドラインで接続テスト

[root@c ~]# php -r "mysql_connect('c.sybyl.local','usr_object','XXXXXXXXXXX','leginondb'); echo mysql_stat();";echo ""
Uptime: 2580  Threads: 1  Questions: 37  Slow queries: 0  Opens: 16  Flush tables: 1  Open tables: 9  Queries per second avg: 0.14
[root@c ~]#
 
*あるいは
php -r "mysql_connect('localhost','usr_object','','leginondb'); echo mysql_stat();";echo ""

ファイルシステム

データの置き場所とかを考える
「/your_file_server_mount_point/whatever」
な場所を定義しておく。
ここでは「/home」でいいかなぁ

アプリケーションの取得

gitから入手する。
基本、gitで取得した場所でアプリを展開する感じ

[root@c ~]# cd /Appl
[root@c Appl]# git clone -b myami-3.3 http://emg.nysbc.org/git/myami myami
 
(appionパッケージをインストールします)
[root@c Appl]# cd myami/appion
[root@c appion]# python setup.py install --install-scripts=/Appl/appion    *「Appionは/Appl/appionへ」
 
(次にmyamiパッケージをインストールします)
[root@c ~]# cd /App/myami
 
[root@c myami]# export PYTHONPATH=/Appl/myami/lib/python2.7/site-packages:/Appl/myami/lib64/python2.7/site-packages
[root@c myami]# ./pysetup.sh install --prefix=/Appl/myami    *「--prefixを付けないと /usr/lib/python2.7 にインスト」
Log file: /Appl/myami/pysetup.log
processing pyami... ok.
processing sinedon... ok.
processing redux... ok.
processing imageviewer... ok.
processing leginon... ok.
processing pyscope... ok.
processing slack... ok.
processing modules/radermacher... ok.
processing modules/libcv... ok.
processing modules/numextension... ok.
[root@c myami]#

次に設定ファイをコピーします。

[root@c ~]# cp /Appl/myami/leginon/leginon.cfg.template /etc/myami/leginon.cfg
[root@c ~]# cp /Appl/myami/sinedon/examples/sinedon.cfg /etc/myami/sinedon.cfg

これが済めばコマンドラインで一応Appionは使えるっぽい
*myamiのインストールで「--prefix」を付けたなら別途「export PYTHONPATH」が必要

[illya@c ~]$ export PYTHONPATH=/Appl/myami/lib/python2.7/site-packages:/Appl/myami/lib64/python2.7/site-packages
 
[illya@c ~]$ /Appl/appion/gctf.py
/usr/lib64/python2.7/site-packages/matplotlib/__init__.py:1005: UserWarning:  This call to matplotlib.use() has no effect
because the the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.
 
  warnings.warn(_use_error_msg)
 
 
 ... Time stamp: 19mar17d45
 ... Function name: gctf
 ... Appion directory: /usr/lib/python2.7/site-packages
 ... Processing hostname: c.sybyl.local
Usage: gctf.py --projectid=## --runname=<runname> --session=<session> --preset=<preset> --description='<text>' --commit [options]
 :
 :
[illya@c ~]$

matplotlibの警告が出るが一応使えるっぽい

Web Server Installation(Redux)

[root@c ~]# easy_install fs==0.5 PyFFTW3
[root@c ~]# cd /Appl/myami/
[root@c myami]# cp -r ./myamiweb /var/www/myamiweb
[root@c myami]# chmod 777 /var/www/myamiweb
[root@c ~]# cd /Appl/myami/redux/
[root@c redux]# cp redux.cfg.template /etc/myami/redux.cfg

「redux.cfg」を修正する

--- redux.cfg.template  2019-03-12 01:15:55.878031945 +0900
+++ /etc/myami/redux.cfg        2019-03-12 01:38:42.530698946 +0900
@@ -10,11 +10,11 @@
 # Sizes are in MB
 
 [cache]
-enable: no
+enable: yes
 path: /var/cache/myami/redux
 disksize:  500
 memsize: 500
 
 # default uses current directory... better to specify full path
 [log]
-file: redux.log
+file: /var/log/redux.log

[cache]の場所を確保する

[root@c ~]# mkdir -p /var/cache/myami/redux

サイトの設定ファイルを用意します

[root@c ~]# vi /etc/httpd/conf.d/myamiweb.conf
Alias /myamiweb /var/www/myamiweb
<Directory /var/www/myamiweb >
    DirectoryIndex index.php
    Options -Indexes
    AllowOverride all
 
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc on
    php_flag track_vars on
</Directory>
[root@c ~]# apachectl configtest

reduxdデーモンを起動させる。

[root@c ~]# chkconfig --add reduxd         <-- appionパッケージをインストールした際に置かれる
[root@c ~]# vi /etc/init.d/reduxd
 :
 # Source function library.
 . /etc/rc.d/init.d/functions
+export PATH=/Appl/myami/bin:$PATH
+export PYTHONPATH=/Appl/myami/lib/python2.7/site-packages:/Appl/myami/lib64/python2.7/site-packages
 prog=reduxd
  :
[root@c ~]# systemctl daemon-reload
[root@c ~]# systemctl start reduxd
[root@c ~]# systemctl status reduxd

正常に動いたかは「systemctl status reduxd」の確認のほか、ログファイル「/var/log/redux.log」も確認する
その後、webサーバを立ち上げて該当URLへアクセスする。ここでは「c.sybyl.local/myamiweb/setup」

[root@c ~]# systemctl restart httpd

すると下記のような画面が表示される
2019y03m17d_190702967.png

ログイン設定は「Enable Login System:」は「No」、「Enable "Anonymous" login option:」を「YES」にしてみた
2019y03m17d_191047201.png

次に、データベースとの接続設定画面になる。
2019y03m17d_191312082.png
ここでは下記のようにしました

項目
Enter the Database Host Name:localhost
Enter the Database username:usr_object
Enter the Database password:
Enter the Leginon database name:leginondb
Enter the Project database name:projectdb

次に、その他のセットアップ画面になって
2019y03m17d_191614559.png
「Enter Redux Image Server location and port:」は、「localhost」、port番号は「55123」とします。
具体的には、/var/log/redux.log に記載されています。
「Do you want to enable PHP image caching for faster image viewing?」は取りあえず、「No」
「Do you want to enable the Appion image processing pipeline」は「Yes」にする。
「Enter Appion database prefix:」はそのまま「ap」
「Do you wish to use the IMAGIC image processing package」は「Yes」
「Do you wish to use programs that require MATLAB?」は持ってないので「No」
「Do you want to use image processing tools that are still under development?」はそのまま「No」
「Enter a temporary upload directory location.」は「/home/appion/temp」として「mkdir -p /home/appion/temp && chmod 777 /home/appion/temp」
「Enter a default Appion base directory location.」は「/Appl/appion」

2019y03m17d_193211066.png
計算を実行するノードの登録を行う。ここでは「localhost」のみ登録します。
「Local cluster host name :」は「localhost」
「Path to Appion Scripts :」は「/Appl/appion」
「Path to appionlib directory :」は「/Appl/myami/appion/appionlib」
「Base output directory :」は「/home/appion」
「Directory Seperator, eg. / :」は「/」

2019y03m17d_194422694.png
このときにapacheユーザによる設定ファイル「/var/www/myamiweb/config.php」が作成されます。
内容を確認して「DB initialiization」ボタンを押下します。
これが完了すれば、「http://localhost/myamiweb/index.php」にてパスワードなしで下記画面が表示される
2019y03m17d_200454253.png


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2019-03-17 (日) 20:06:28 (68d)