美文网首页
OpenSupports 在 NGINX 下的配置

OpenSupports 在 NGINX 下的配置

作者: jxtxzzw | 来源:发表于2023-03-24 03:29 被阅读0次

    我发现了一个叫 OpenSupports 的开源工单管理系统,我打算部署一下玩一玩。

    我还没想好怎么利用它:我打算用它跟踪一些复杂的、长期的事情,而用“滴答清单”、“Microsoft To Do”这样的 TODO List 来跟踪一些简单的、日常的、重复的提醒。

    安装挺简单的,OpenSupports 是基于 PHP + MySQL/MariaDB 的,所以解压之后放在服务器目录上,直接用浏览器访问就可以看到安装界面,剩下的可以全部在网页端搞定。

    安装没有大坑,但是官方的脚本是基于 Apache 的,如果使用 NGINX 就需要“手动翻译”那些规则。

    GitHub Issue 页面的内容基本没问题:https://github.com/opensupports/opensupports/issues/123,整理修改后的内容如下:

    # Special API location block.
    location /api {
        try_files $uri $uri/ /api/index.php$request_uri;
    }
    
    # Special config for image download
    location /api/system/download {
        try_files $uri /api/index.php/system/download?$args;
    }
    
    # Catch-all for rest.
    location / {
        try_files $uri $uri/ /index.php;
    }
    
    location ~ [^/]\.php(/|$) {
        include fastcgi.conf;
        fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/external_nfs_storage/opensupports/";
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;
        try_files $fastcgi_script_name =404;
        fastcgi_pass unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
    } 
    

    因为我把 /api/files 用软连接挂载出去了(/vda 没有那么多空间,所以用 ln -s 挂到了 NFS 上),这样的话就还需要改 fastcgi - open_basedir

    安装时设置的用户,要从 ticketing.example.com/admin 登录,这是带管理权限的账户,如果直接从 ticketing.example.com 登录会说用户找不到。管理账户和非管理账户可以同名,只是从不同的入口登录,这一个设计还挺神奇的。

    我用的是 mailgun 的邮件服务,但是安装界面没有提供协议、端口这些信息,那就只能把信息揉在 URI 里面了,tls://mailgun.smtp.org:587

    另外遇到一个可能是 bug 的地方,那就是安装界面无法切换语言,切换了就是白屏,只能用英语安装完成之后,去设置里面改语言。

    相关文章

      网友评论

          本文标题:OpenSupports 在 NGINX 下的配置

          本文链接:https://www.haomeiwen.com/subject/lmswrdtx.html