介绍
把用户添加到Apache所在用户组
创建根目录/data,修改权限
创建工作目录
1)创建相应的目录
2)创建配置文件
vi /data/pvw/conf/launcher.json
launcher的配置文件
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
6) 修改文件权限
然后用http://localhost:8080/apps/Visualizer/访问
sudo gedit /etc/httpd/conf.d/httpd-vhosts.conf
3)添加paraview应用代码
到此为止,应该可以访问通过http://YOUR_HOST_NAME_TO_REPLACE访问了。
临时解除防火墙限制,可以使用
本文介绍了如何在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,
apache的常用命令
<em>sudo dnf groupinstall "httpd"
</em>
猜测这个可以满足需求,没有实际测试。
apache的常用命令
启动Apache serversudo 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命令检查对应版本。
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
3)pvw启动文件
sudo vi /data/pvw/bin/start.sh
4) 准备proxy文件
{
"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_REPLACEsudo 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链接就是各种演示程序。