前言

搭了个自助分享SSR的平台,供亲朋好友获取资源所用。用了胖虎的SSR面板,功能很实用也够用。
在搭建过程中,基本上根据官方说明文档都能一步步完成,在邮件通知提醒配置时费了不少事,而且胖虎的邮件配置示例有误导性,将这些坑整理下。

加入NGINX的URL重写规则

在搭建环境最后一步,有个加入NGINX的URL重写规则如下:

1
2
3
location / {
try_files $uri $uri/ /index.php$is_args$args;
}

这一步直接复制说明文档代码到nginx配置中有可能会出现nginx报错,请多注意结尾符,原配置是不是已经包含根目录的规则等,详见Nginx Location语法与简单配置

出现500错误

官方提及的是出现 open_basedir错误,照官方wiki文档先操作

1
2
3
4
vim /usr/local/nginx/conf/fastcgi.conf
#找到下面这句把它注释掉
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
#保存 重启nginx 且 重启 php-fpm

如果不灵验,注意检查是不是站点文件权限有问题,用chown -R www:www命令更改一遍,再不行检查nginx设置。

定时任务

发邮件、流量统计、自动任务全部需要用到,官方文档:

1
2
3
crontab加入如下命令(请自行修改ssrpanel路径):
(表示每分钟都执行定时任务,具体什么任务什么时候执行程序里已经定义了,请不要乱改,否则流量统计数据可能出错)
* * * * * php /home/wwwroot/ssrpanel/artisan schedule:run >> /dev/null 2>&1

官方没有提用哪个用户,站点属于www用户,如果任务属于root,那么创建的log文件属于root,到时候操作面板上的功能会触发报错:

1
2
(1/1) UnexpectedValueException
The stream or file "xxx/laravel-2018-01-09.log" could not be opened: failed to open stream: Permission denied

如果要解决这个问题,我们需要将任务计划指定给www执行:

1
crontab -e -u www

填入对应的任务计划,原先root的任务删除掉即可。

SMTP邮件发信配置

一如既往的按官方文档操作,编辑 config\mail.php ,配置如下内容:

1
2
3
4
5
6
7
8
9
10
'driver' => 'smtp',
'host' => 'smtp.exmail.qq.com', #如果不是企业邮箱,请把`.exmail`这节去掉
'port' => 465,
'from' => [
'address' => 'xxx@qq.com',
'name' => 'SSRPanel',
],
'encryption' => 'ssl',
'username' => 'xxx@qq.com',
'password' => 'xxxxxx', #这里不是你邮箱密码,是开启功能时腾讯给你的授权码

懒得换其他邮箱都直接用了示例的QQ邮箱配置,请注意下hostpassword配置。

修改邮件模板内容

如果想让邮件内容和别人不一样,可以自己去更改邮件模板,模板文件在app\Mail目录下,自己打开按照需求更改即可。