您的位置:首页 > Web前端

Fedora 22下ParaviewWeb安装

2016-01-14 12:51 363 查看
介绍

本文介绍了如何在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链接就是各种演示程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息