Fedora 22下ParaviewWeb安装

介绍


本文介绍了如何在Fedora 22下安装ParaView 4.4。对于RedHat/CentOS系列的linux更有帮助。

1)Fedora准备

2)安装paraviewweb

3)配置apache

4) 配置ParaViewWeb网站

5)修改web 安全设置


文章的步骤参考了paraview的官方介绍 http://paraviewweb.kitware.com/#!/guide/ubuntu_14_04

补充了 paraview 5.0的说明。


1  Fedora准备

试验的机器安装了Fedora 22+Gnome。GUI环境是运行Paraview需要的。

1.1 添加必要软件包

按照apache作为前端入口,可以参考http://fedoraproject.org/wiki/Administration_Guide_Draft/Apache

安装完整apache和必要附加支持。
sudo dnf groupinstall "Web Server"

简单安装应该是安装httpd, 
<em>sudo dnf groupinstall "httpd"
</em>
猜测这个可以满足需求,没有实际测试。

apache的常用命令
启动Apache server 
sudo systemctl start httpd.service"
停止 
sudo systemctl stop httpd.service"
重启
sudo systemctl restart httpd.service"

把apche注册成服务
su -c "systemctl enable httpd.service"

安装启动之后,如果可以正常访问http://localhost,就说明apache安装正确了。

原文档里面安装了nvidia/mesa等,如果运行paraview有问题,需要考虑升级对应的包。
ParaView 5.0需要Mesa 10.6..5和OpenGL 3.2。可以用glxinfo命令检查对应版本。

1.2 创建用户

使用登陆用户作为pvw-user启动paraview server的用户,后面所有出现pvw-user的地方都是这个用户。

把用户添加到Apache所在用户组
sudo usermod -a -G apache  pvw-user

1.3 准备工作目录


创建根目录/data,修改权限

sudo mkdir /data
sudo chown pvw-user /data
sudo chgrp apache /data


创建工作目录

mkdir -p /data/pvw /data/pv /data/logs /data/www

Directory structure:

  • /data/www will contains the html/js/css files that compose your web site that will leverage ParaViewWeb.
  • /data/pv will contains the ParaView installation binaries.
  • /data/pvw will contains the ParaView process launcher that will dynamically trigger a new process for each visualization session.
  • /data/logs will contains the Apache logs that will serve your ParaViewWeb virtual host.

2 安装ParaViewWeb

2.1 下载安装

从http://www.paraview.org/download/下载 ParaView-4.4.0-Qt4-Linux-64bit.tar.gz
解压到本地某个目录 /.../ParaView-4.4.0-Qt4-Linux-64bit

拷贝到工作目录/data

cp -r /.../ParaView-4.4.0-Qt4-Linux-64bit /data/pv/pv-20160112
ln -s /data/pv/pv-20160112 /data/pv/pv-current

chown -R pvw-user /data/pv
chgrp -R pvw-user /data/pv

2.2 配置ParaViewWeb launcher


1)创建相应的目录

mkdir -p /data/pvw/bin /data/pvw/conf /data/pvw/data /data/pvw/logs

2)创建配置文件

vi /data/pvw/conf/launcher.json

launcher的配置文件
文件中的YOUR_HOST_NAME_TO_REPLACE需要替换为真实域名,比如pvw.pvwdemo.com

{
    "resources": [ {"port_range": [9001, 9103], "host": "localhost"} ],
    "sessionData": {
      "updir": "/Home"
    },
    "configuration": {
      "log_dir": "/data/pvw/logs",
      "host": "localhost",
      "endpoint": "paraview",
      "sessionURL": "ws://YOUR_HOST_NAME_TO_REPLACE/proxy?sessionId=${id}",
      "timeout": 25,
      "upload_dir": "/data/pvw/upload",
      "fields": ["file", "host", "port", "updir"],
      "port": 8080,
      "proxy_file": "/data/proxy.txt"
    },
    "properties": {
      "python_path": "/data/pv/pv-current/lib/paraview-4.4/site-packages",
      "dataDir": "/data/pvw/data",
      "python_exec": "/data/pv/pv-current/bin/pvpython"
    },
    "apps": {
      "pipeline": {
        "cmd": [
          "${python_exec}", "${python_path}/paraview/web/pv_web_visualizer.py",
          "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
        ],
        "ready_line" : "Starting factory"
      },
      "visualizer": {
        "cmd": [
          "${python_exec}", "${python_path}/paraview/web/pv_web_visualizer.py",
          "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
        ],
        "ready_line" : "Starting factory"
      },
      "loader": {
        "cmd": [
          "${python_exec}", "${python_path}/paraview/web/pv_web_file_loader.py",
          "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
        ],
        "ready_line" : "Starting factory"
      },
      "data_prober": {
        "cmd": [
          "${python_exec}", "${python_path}/paraview/web/pv_web_data_prober.py",
          "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
        ],
        "ready_line" : "Starting factory"
      }
    }
  }


3)pvw启动文件

sudo vi /data/pvw/bin/start.sh

  #!/bin/bash


  export DISPLAY=:0.0
  /data/pv/pv-current/bin/pvpython /data/pv/pv-current/lib/paraview-4.4/site-packages/vtk/web/launcher.py /data/pvw/conf/launcher.json &


4) 准备proxy文件

sudo touch /data/proxy.txt
sudo chown pvw-user /data/proxy.txt
sudo chgrp apache /data/proxy.txt
sudo chmod 660 /data/proxy.txt


5)准备ParaView Data
从http://www.paraview.org/download/下载数据文件ParaViewData-v4.4.0.tar.gz

解压sample data到目录/.../ParaViewData-v4.4.0/ ,然后拷贝

cp -r /.../ParaViewData-v4.4.0/* /data/pvw/data

6) 修改文件权限

sudo chown -R pvw-user /data/pvw
sudo chgrp -R pvw-user /data/pvw
sudo chmod u+x /data/pvw/bin/start.sh



Tips:
 如果这个时候,打算确认paraviewweb服务是不是装好了。
可以把lanucher.josn中的sssionURL配置改一下,

"sessionURL" : "ws://${host}:${port}/ws",

然后用http://localhost:8080/apps/Visualizer/访问

参考http://paraviewweb.kitware.com/#!/guide/python_launcher


3 配置Apache

Apache要做为服务器的前端,负责静态html和websocket转发。
默认Fedora已经支持virtualhost/proxy和rewrite

1) 配置virtual host

假设主机域名为 YOUR_HOST_NAME_TO_REPLACE

sudo gedit /etc/httpd/conf.d/httpd-vhosts.conf

<VirtualHost YOUR_HOST_NAME_TO_REPLACE:80>
    ServerName YOUR_HOST_NAME_TO_REPLACE
    ServerAdmin webmaster@YOUR_HOST_NAME_TO_REPLACE
    
    DocumentRoot /data/www

    ErrorLog /data/logs/error.log
    CustomLog /data/logs/access.log combined
    
      <Directory /data/www>
          Options Indexes FollowSymLinks
          Order allow,deny
          Allow from all
          AllowOverride None
          Require all granted
      </Directory>

# Handle launcher forwarding
      ProxyPass /paraview http://localhost:8080/paraview

      # Handle WebSocket forwarding
      RewriteEngine On
      # The following line is used for debuging rewrite
      #LogLevel debug rewrite:trace6

      RewriteMap  session-to-port  txt:/data/proxy.txt
      RewriteCond %{QUERY_STRING}  ^sessionId=(.*)$ [NC]
      RewriteRule ^/proxy.*$       ws://${session-to-port:%1}/ws  [P]
</VirtualHost>


4 建立ParaViewWeb网站


从paraview网站下载API doc文档。这个文档不是每个release版本都对应更新,目前的最新版是4.3.1的 ParaView-API-docs-v4.3.1.zip


1) 解压然后copy到www root目录

cp -r /.../ParaView-doc.v4.3.1/js-doc/* /data/www

2) 修改默认文件

mv /data/www/index.html /data/www/index.origin
sh -c 'cat /data/www/index.origin | grep -v DEMO-APPS > /data/www/index.html'

3)添加paraview应用代码

cp -r /data/pv/pv-current/share/paraview-4.4/www/* /data/www/

5 修改各种安全配置

修改目录用户权限,
sudo chown -R pvw-user /data/www
sudo chgrp -R apache /data/www


解除SeLinux文件访问,安全限制
su -c "/usr/bin/chcon -R --reference=/etc/httpd/logs /data/logs"
su -c "/usr/bin/chcon -R --reference=/var/www /data/www"
su -c "/usr/bin/chcon -R --reference=/var/www /data/proxy.txt"


解除SELinux的网络安全限制,允许httpd反向链接本机端口

su -c "setsebool -P httpd_can_network_connect 1" 

到此为止,应该可以访问通过http://YOUR_HOST_NAME_TO_REPLACE访问了。


如果需要从其他机器访问,还需要接触防火墙的限制
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

临时解除防火墙限制,可以使用
firewall-cmd --add-service=http
firewall-cmd --add-service=https


结束语

到此为止,重新启动机器,然后先启动start.sh,再启动httpd。就可以通过http://YOUR_HOST_NAME_TO_REPLACE进行访问了。
页面下部的Demo apps链接就是各种演示程序。












你可能感兴趣的:(processing,Paraview,imge,ParaviewWeb)