Debian/Ubuntu架设nginx+bugzilla

题注

最近需要一个简单快速的bug追踪工具,考虑到系统环境以及学习成本,决定采用bugzilla。不试不知道,原来这里面还有这么多的坑需要一个个踩平~,遂随笔一下以备后用。

我采用的系统组成是debian+mysql+nginx+bugzilla,使用centos的亲可能需要注意nginx的安装方式和配置文件位置不一样,需要灵活变通;至于使用apache的同学,请参考其它文章设置转发部分。

一、安装nginx、perl-fpm、mysql

不同于apache使用的cgi方式,nginx采用fcgi来调度php、perl等编程语言。所以我们需要安装并配置perl的fpm。

安装

aptitude install nginx libfcgi-perl mysql-server

我本来想通过下载编译的方式安装fcgi(https://metacpan.org/pod/FCGI)不料安到一半发现发行版里竟然有!于是乎瞬间采用更好的方案解决了。发行版里找不到这个包的同学可以自行下载安装(nginx也是一个道理)

安装完后发现,这个lib没有启停脚本,于是上网上找了两个脚本安上去:

wget http://nginxlibrary.com/downloads/perl-fcgi/fastcgi-wrapper -O /usr/bin/fastcgi-wrapper.pl
wget http://nginxlibrary.com/downloads/perl-fcgi/perl-fcgi -O /etc/init.d/perl-fcgi
chmod +x /usr/bin/fastcgi-wrapper.pl
chmod +x /etc/init.d/perl-fcgi
update-rc.d perl-fcgi defaults
insserv perl-fcgi

执行完上述脚本后,我们在/etc/init.d/里面安装了一个服务perl-fcgi,它将在开机后自动运行/usr/bin/fastcgi-wrapper.pl

配置

fastcgi-wrapper.pl调用libfcgi-perl并监听socket端口,nginx将通过该端口与之通信。默认地址为127.0.0.1:9000。为了提升性能,我将其改为命名管道方式:

vim /usr/bin/fastcgi-wrapper.pl

找到原来的启动监听语句将其修改为:

$socket = FCGI::OpenSocket( "/tmp/perl-fcgi.sock", 10 );

保存后,启动perl-fcgi

service perl-fcgi start

如果启动失败,提示`account not available`,可能是www-data用户被禁止登陆,执行以下命令:

usermod -s /bin/sh www-data

进入nginx的配置目录,创建配置文件:

cd /etc/nginx/sites-available
vim bugzilla

配置文件如下(将域名和端口替换成你的访问地址):

server {
        listen          8008; # listening port
        server_name     bugzilla.example.com; # server name

        root            /var/www/bugzilla; # installation path
        location /skin/ {}        location /js/ {}
        location / {
                include         fastcgi_params;
                fastcgi_pass    unix:/tmp/perl-fcgi.sock;
                fastcgi_index   index.cgi;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

接下来,将配置文件链接到sites-enabled目录中,并启动应用(如果之前nginx已经启动,调用reload重载入配置文件):

cd ../sites-enabled/
ln -s ../sites-available/bugzilla .service nginx start

mysql的安装与配置在网上相当多,在此不再赘述。

二、安装bugzilla

搞定了基础环境,接下来开始正式安装bugzilla

安装

从bugzilla.org下载并解压到/var/www

mkdir -p /var/www
cd /var/www
chown -R www-data .
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.4.5.tar.gz
tar zxf bugzilla-4.4.5.tar.gz
mv bugzilla-4.4.5 bugzilla
cd bugzilla

配置

接下来需要对bugzilla进行配置。bugzilla依赖某些perl组件本机可能没有安装,而我在使用其自带的安装脚本时始终无法成功安装,网上搜索后找到一个解决方案是使用cpanm来安装。

下载并安装cpanm:

sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus

接下来我们执行checksetup.pl来进行配置。配置过程中checksetup.pl需要执行若干次以完成环境检查。第一次执行后,可能会提示有模块未安装,按照未安装的模块列表使用cpanm命令进行安装即可

perl checksetup.pl
cpanm YAML
cpanm DateTime
...

安装完成后,再次执行checksetup.pl,此时依赖模块应该都检查通过。如果有模块已安装但检查不到,可以尝试强制重新安装,如:

cpanm DateTime -f

模块检查通过后,checksetup.pl会提示mysql连接失败,我们现在进入mysql配置用户与数据库:

CREATE database bugs default charset utf8 collate utf8_bin;
CREATE user [email protected] identified by ‘bugs‘;
grant all on bugs.* to [email protected];
flush privileges;

修改数据库配置:

vim localconfig

找到并修改以下项:

$webservergroup = ‘www-data‘;

$db_pass = ‘bugs‘;

注:如果使用远程数据库等,请自行进行配置用户名、密码等

至此,我们完成了所有的配置。再次执行checkconfig.pl,会提示输入管理员邮箱和密码,并保存配置到数据库。

尝试打开你配置的访问地址(如:http://bugzilla.example.com:8008/),如果能打开并排版显示正确,就表明可以访问了。

时间: 2024-12-14 21:41:17

Debian/Ubuntu架设nginx+bugzilla的相关文章

Debian/Ubuntu下Nginx的安装、反向代理和负载均衡的基本配置

源码安装 去Nginx官网下载最新稳定版,这里用的是nginx-1.6.3版. 下载完成后解压缩,进入该目录执行: ./configure 如果你的机器上没有安装PCER库.zlib库等,这一步会出错. sudo apt-get install libpcre3-dev zlibc zlib-bin 然后执行: sudo make sudo make install 完成后,nginx会默认安装在/usr/local/nginx目录下. 反向代理的基本配置 nginx默认使用的配置文件在/use

debian wheezy 安装nginx+hhvm

官网源被墙,可以使用一个国内源进行安装,如果不行,可以参考github的wiki 页面. https://github.com/facebook/hhvm/wiki/Mirror 以debian wheezy安装环境为例. 1.修改软件源 echo "deb http://mirrors.163.com/debian/ wheezy main non-free contrib" > /etc/apt/sources.list echo "deb http://mirro

Debian/Ubuntu源码编译安装PHP--支持FastCGI

从 php 5.3.3 起,就可直接使用 PHP-FPM ,不再需要打补丁了.此前已写过<Linux 从源码编译安装 PHP 5> 见 http://www.linuxidc.com/Linux/2011-10/45743.htm,但是以 mod_php 模块方式,而非 FastCGI 模式运行 php ,并不适用于 Lighttpd.Nginx.LiteSpeed ,而且当时对所有模块都采用编译安装也显得过于繁琐. 一.什么是 FastCGI.PHP-FPM.FastCGI ? CGI是一种

服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 其实我觉得他的大部分说法都没有错.如果你需要装一个服务器,确实首选是RH系的. 但是... 联系QQ 2880990294 电话18326835655福州精品段:59.56.66.* 适用于游戏|棋牌|菠菜|cdn布点|网站等业务 选用RH系的主要理由 其实你把回复从头看到尾,主要论点就一点: 哪个发行版,可以在长达7-10年的时间里,始终保持硬件稳定性的同时,又持续的升级补丁? 结论当然是RH!这是RH的主要卖点. 我们

服务器操作系统应该选择CentOS还是Debian/Ubuntu

首先的首先,我想请各位玩家,你们不要自己最近新玩上什么就觉得什么好,然后大肆的推荐什么好不好!负点责任好不好!人家是服务器,有些时候选错一个发行版本会痛苦死一批人! 是,你现在终于发现有个版本叫 Ubuntu 了,好爽啊,那么多包,随便 apt-get , 3万个包躺在仓库里面不用编译.好爽啊!几乎所有软件都有最新版本用!唉?过两天你发现 Ubuntu 原来是从 Debian 来的, Debian 才叫牛啊,完全社区运作,包的数量一点都不少啊.再过两天发现 Gentoo 啦,哇塞,牛啊!性能的极

[转帖]服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

来源:https://www.zhihu.com/question/19599986 作者: https://www.zhihu.com/people/yuan-hao-yang/answers IT运维人员的视角比较好一些. 首先的首先,我想请各位玩家,你们不要自己最近新玩上什么就觉得什么好,然后大肆的推荐什么好不好!负点责任好不好!人家是服务器,有些时候选错一个发行版本会痛苦死一批人! 是,你现在终于发现有个版本叫 Ubuntu 了,好爽啊,那么多包,随便 apt-get , 3万个包躺在仓

Ubuntu中Nginx的安装与配置

Ubuntu中Nginx的安装与配置 1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器. 2.对PHP支持 目前各种web 服务器对PHP的支持一共有三种: (1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl 可以对perl支持. (2)通过CGI来实现,这个就好比之前per

Ubuntu下nginx+uwsgi+flask的运行环境搭建

选择web framwork是个很艰难的事情, 主要分为轻量级和重量级框架. 由于没有搭建网站这种需要, 所以回避SSH, Django这种框架, 而选择一个轻量级框架. 自己也比较青睐python这门语言, 就选择了flask框架, nginx代理服务器享誉盛名, 所以拿来使用咯. 一. 开发环境搭建 采用离线安装方式, ubuntu开发环境(centos等环境类似) nginx 安装 $ wget http://nginx.org/download/nginx-1.6.0.tar.gz #仅

Ubuntu 安装nginx

1.更新Ubuntu # add-apt-repository 仓库名称 # apt-get update # apt-get install -y libssl1.0.2 openssl 2.安装Nginx # apt-get install -y nginx # apt-get install -y nginx-extras 3.设置Nginx通用配置文件 cat /etc/nginx/nginx.conf user www-data; #ubuntu里面nginx用户名 worker_pr