CentOS 部署 FoundryVTT 教程
这里介绍雙月ひめは的 CentOS 教程以及其一键部署脚本教程。
脚本部署
你需要一个CentOS7.x版本的 linux虚拟机,然后执行如下命令:
sudo su root
cd
wget https://sh.peatsuki.com/fvtt/InstallFVTT.sh --no-check-certificate
sh InstallFVTT.sh
官网地址 登录以购买的账户以获取下载链接。
现无需输入官网地址,已经重定向到镜像,但仍需要登入官网购买licence以便激活系统
安装过程中需要中输入非【P】的任意字符选择 以nohup进行后台运行
。
若需要使用 PM2 作为后台监视程序,建议有足够的OPS知识后进行选择。
如需上传文件,需要设置 root 账号密码后使用 SFTP 工具上传,例如 WinSCP 等。
如果因为设置密码造成的系统重启,则需要在远程连接中执行如下内容:(执行后需要等待2-3分钟系统运行即可访问)
sudo su root
cd
sh startfvtt.sh
使用脚本在阿里云 CentOS 机器上部署的教程视频
手动部署
0x00 目标服务器
阿里云轻量服务器是一个物美价廉的香港服务器。
目前定价为 1U1G=24 元、1U2G=34 元。(截至 2020/7/1 日)
峰值带宽为 30M,流量为 1T-2T 左右。已经足够当我们的服务器使用。
请注意:由于非大陆地域的虚拟主机提供国际带宽,如在中国大陆使用,会有较大的网络延迟。
0x01 我的服务器状况
我的服务器上已经做了 apache+php+wordpress,并且配置了全域 SSL 和加入 HSTS Preload List。
经过考虑,我让 FoundryVTT 和这个 wordpress 博客挤一挤。以下制作代码建立在我的环境之下。
阿里云自带的 WordPress 4.8.1 或许能提供类似环境(不保证)
0x02 安装node.js环境(来源于官方指导)
依次运行以下语句
sudo yum install -y openssl-devel
curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs
0x03 创建对应文件夹并下载FoundryVTT运作档(来源于官方指导)
依次运行以下语句,其中斜线部分需要去你的FoundrtVTT授权页面点击node.js后方的链条按钮获得临时下载地址,并替换斜体部分。
cd $HOME mkdir foundryvtt mkdir foundrydata cd foundryvtt wget -O foundryvtt.zip "https://foundryvtt.s3.amazonaws.com/releases/0.6.4/foundryvtt-0.6.4.zip" unzip foundryvtt.zip
0x04 使用直接运行的方式测试FoundrtVTT(来源于官方指导)
运行以下语句并访问你的服务器公网地址测试,例如:http://127.0.0.1:30000
node resources/app/main.js --dataPath=$HOME/foundrydata
0x05 使用PM2创建node.js值守进程(来源于社区指导)
依次运行以下语句,安装pm2并创建值守进程
cd $home
npm install -g pm2
pm2 start foundrtvtt/resources/app/main.js
0x06 安装SSL证书
cd /foundrydata
mkdir ssl
然后将证书的 crt、key 文件拷贝到 ssl 文件夹下。(建议采用 FTP 方式或者 SFTP 方式)
打开 FoundryVTT,在 Configuration 中修改以下内容(斜体部分需要根据实际情况修改)
- UserDataPath修改为
/root/foundrydata
- 填写SSL Certifilcate
/root/foundrydata/ssl/yourdomain.crt
- 填写SSL Private Key
/root/foundrydata/ssl/yourdomain.key
然后点击 Save Changes 保存配置文件
0x07配置apache实现反向代理
修改 /usr/local/apache/conf/httpd.conf
的内容,添加以下字段:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
修改 /usr/local/apache/conf/extra/httpd-ssl.conf
文件,添加以下字段,其中斜下划线部分需要根据实际情况修改:
<VirtualHost *:443> ServerName yourdomain.com ServerAlias yourdomain.com RewriteEngine On RewriteCond %{REQUEST_URI} ^/socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /(.*) wss://yourdomain.com:30000/$1 [P,L] SSLEngine On SSLProxyEngine on SSLCertificateFile /root/foundrydata/ssl/yourdomain.crt SSLCertificateKeyFile /root/foundrydata/ssl/yourdomain.key SSLCertificateChainFile /root/foundrydata/ssl/yourdomain_ca.crt Options FollowSymLinks AllowOverride All Require all granted ProxyRequests Off ProxyPass / "https://yourdomain.com:30000/" ProxyPassReverse / "https://yourdomain.com:30000/" </VirtualHost>
最后重启apache:
/usr/local/apache/bin/apachectl restart