Webstation使用及配置

Webstation套件使用手册
https://www.synology.com/zh-cn/knowledgebase/DSM/help/WebStation/application_webserv_desc

Webstation的使用

由于状态、常规设置、php设置官网已经讲得很详细了,请参考官方Webstation套件使用手册

虚拟主机

使用场景一

DSM中有很多网页版套件,例如:phpmyadmin、dokuwiki、wordpress
他们都是在web目录下有网站主页的,但是DSM套件默认会让这些套件使用域名+路径去访问
而虚拟主机则将这些套件配置为进使用域名就可以访问。

使用场景二

希望可以只用NAS的一个80端口来部署多个不同应用的网站,使用不同的域名访问NAS可以访问不同的应用。

原理

通过检查来访者使用的域名让其访问不同的网站项目文件

以下为实际配置举例,仅供参考。

NAS ip为 192.168.0.63

a.xxnas.com -> 访问 web/wordpress
b.xxnas.com -> 访问 web/phpmyadmin

NAS配置

由于phpmyadmin需要mysql拓展,需要到php设置->php7.0中开启mysql拓展插件

确认配置正常

由于需要使用指定域名访问NAS,这边直接修改电脑内部hosts指定域名的解析ip

测试解析是否已经生效

用浏览器分别访问
a.xxnas.com
b.xxnas.com

这个时候如果你直接用ip访问NAS就会显示以下页面

虚拟主机504超时

以下三种变更完成后需要重启nas才会生效

一、后端服务器是nginx

编辑 /etc/nginx/fastcgi.conf
添加 fastcgi_read_timeout 3600s;

二、后端服务器是apache

编辑 /var/packages/WebStation/target/misc/VirtualHost-nginx.mustache
添加两条 proxy_read_timeout 3600s;

添加前

添加后

三、后端服务器是apache2.4

新建 /usr/local/etc/apache24/sites-enabled/user.conf
添加以下内容

TimeOut 300
ProxyTimeout 300

nginx相关

开启nginx详细日志

修改 /etc/nginx/nginx.conf 将

access_log  off;
#access_log syslog:server=unix:/dev/log,facility=local7,tag=nginx_access,nohostname main;

修改为

#access_log  off;
access_log syslog:server=unix:/dev/log,facility=local7,tag=nginx_access,nohostname main;

然后执行

reload nginx

access日志将会生成在

/var/log/nginx/access.log

重启nginx或者重启NAS该配置会失效

nginx自定义配置

主配置不允许自定义

添加 user.conf/usr/local/etc/nginx/sites-enabled

执行 nginx -t 验证配置是否正确

执行 reload nginx 加载新配置

apache相关

开启apache详细日志

修改

/usr/local/etc/apache22/conf/httpd22.conf
/usr/local/etc/apache24/conf/httpd24.conf

CustomLog /dev/null combined
#CustomLog /run/apache22-access_log combined

修改为

#CustomLog /dev/null combined
CustomLog /run/apache22-access_log combined

access日志将会生成在

/var/log/httpd/access.log

apache模块控件配置调整

配置文件位置

/volumeX/\@appstore/Apache2.2/usr/local/etc/apache22/conf/httpd22.conf

/volumeX/\@appstore/Apache2.4/usr/local/etc/apache24/conf/httpd24.conf

重启apache
通过以下命令验证apache控件启用状况:

/volumeX/\@appstore/Apache2.2/usr/local/bin/apachectl -t -D DUMP_MODULES

/volumeX/\@appstore/Apache2.4/usr/local/bin/apachectl -t -D DUMP_MODULES

apache自定义配置

主配置不允许自定义

添加 user.conf/usr/local/etc/httpd/sites-enabled

执行 httpd22 -t 或者 httpd24 -t 验证配置是否正确

执行 reload pkg-apache22 或者 reload pkg-apache24 加载新配置

php相关

禁用open_base_dir

请按下图配置

修改php文件传输限制

在 webstation的php设置中编辑配置文件,在核心设置中搜索 size
调整 post_max_sizeupload_max_filesize
单位是M不可以写成MB

按需求调整

如果因为上传速度慢导致超时,需要修改 max_execution_time 时间
单位是秒,数值中不需要加单位

添加额外的php插件

1.您需要将您的*.so文件放到以下路径

/usr/local/lib/php56/modules

或者

/usr/local/lib/php70/modules

2.在 /usr/syno/etc/packages/WebStation/PHPSettings.json中可以查看到Profile_ID

3.编辑 /usr/syno/etc/packages/WebStation/php_profile/<Profile_ID>/conf.d/user_settings.ini

将添加的so信息加入user_settings.ini

4.通过以下方式验证是否可以正常使用
如果命令执行没有任何报错说明正常,可以使用

/var/packages/PHP5.6/target/usr/local/bin/php56-fpm -c /var/packages/PHP5.6/target/usr/local/etc/php56/php.ini --fpm-config /usr/syno/etc/packages/WebStation/php_profile/<Profile_ID>/fpm.conf -t
/var/packages/PHP7.0/target/usr/local/bin/php70-fpm -c /var/packages/PHP7.0/target/usr/local/etc/php70/php.ini --fpm-config /usr/syno/etc/packages/WebStation/php_profile/<Profile_ID>/fpm.conf -t