`
lukejin
  • 浏览: 362334 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Nginx, PostgreSQL And Trac : 开工

阅读更多
新建一个数据库用户,并为这个用户创建一个数据库,假设为trac,用户名密码也为trac/trac
创建项目环境
创建/home/admin/trac目录
然后trac-admin ~/trac initenv
这个时候需要你输入项目的名称
以及数据库连接字符串还有svn的信息,svn的相关东西你可以先忽略,
数据库的信息 (数据库类型://用户名:密码@地址:端口/数据库名)postgres://trac:trac@localhost:5432/trac必须弄正确,因为这个涉及数据库中表的创建以及数据的初始化.
一切ok后,我们可以通过trac自带的一个轻量级服务器测试下.
tracd -p 8080 /home/admin/trac
浏览器中输入 localhost:8080
如果没有问题应该可以看到trac的主页
当然不会以这种方式直接运行程序了,考虑性能和可配置等方面的因素,决定使用fastcgi的方式运行trac
官方有文档 http://trac.edgewall.org/wiki/TracFastCgi 最下面是nginx的相关配置
也许你很容易就配置好了.
最后有一个让我纠结的便是登录问题.
因为官方文档中配置的方式是所有页面的访问都需要进行登录的.
所以我们需要修改成只有当用户点击登录的时候才要求验证用户.
这里增加了一个location,而将/的location中的认证相关行给去掉了.

location /login {
            auth_basic            "trac realm";
            auth_basic_user_file /home/admin/trac/htpasswd;
            # socket address
            fastcgi_pass   unix:/home/admin/trac/run/instance.sock;

            ## WSGI REQUIRED VARIABLES
            # WSGI application name - trac instance prefix.
	    # (Or ``fastcgi_param  SCRIPT_NAME  /some/prefix``.)
            fastcgi_param  SCRIPT_NAME        "";
            fastcgi_param  PATH_INFO          $path_info;

            ## WSGI NEEDED VARIABLES - trac warns about them
            fastcgi_param  REQUEST_METHOD     $request_method;
            fastcgi_param  SERVER_NAME        $server_name;
            fastcgi_param  SERVER_PORT        $server_port;
            fastcgi_param  SERVER_PROTOCOL    $server_protocol;
            fastcgi_param  QUERY_STRING     $query_string;

            # for authentication to work
            fastcgi_param  AUTH_USER          $remote_user;
            fastcgi_param  REMOTE_USER        $remote_user;
        }
 
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics