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_size
和 upload_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