部署bugzilla(bugzilla+apache+mysql+linux)

部署bugzilla(bugzilla+apache+mysql+linux)

    工作原因,需要部署bugzilla。在此,容我新造个轮子。官方轮子:https://bugzilla.readthedocs.org/en/latest/installing/quick-start.html

    一、准备工作

    所需文件:

    bugzilla    版本bugzilla-5.0.2,传送门:https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.2.tar.gz

    bugzilla模块依赖(非必要,如果gd模块不成功,需手动安装)

    gd    版本gd-2.0.28,传送门:http://www.boutell.com/gd/http/gd-2.0.28.tar.gz

    apache    版本apache-2.4.18,传送门:http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.18.tar.gz

                    版本2.2的话在httpd.conf时会有区别

    apache依赖

    apr    版本apr-1.5.2,传送门:http://www.apache.org/dist/apr/apr-1.5.2.tar.gz

    apr-util    版本apr-util-1.5.4,传送门:http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz

    pcre    版本pcre-8.37,传送门:http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

    mysql    版本mysql-5.1.62-linux-x86_64-glibc23,传送门:http://cdn.mysql.com/archives/mysql-5.1/mysql-5.1.62-linux-x86_64-glibc23.tar.gz(如果已有mysql,无需安装,支持任何版本mysql)

    二、安装apache

    1.安装依赖包

    (1)apr   

    解压apr-1.5.2.tar.gz,进入到apr-1.5.2目录下,执行

    ./configure
    make
    make install

    (2)apr-util

    解压apr-util-1.5.4.tar.gz,进入到apr-util-1.5.4目录下,执行
    ./configure  --with-apr=/usr/local/apr
    make(出错使用yum install expat-devel)
    make install

    (3)pcre

    解压pcre-8.37.tar.gz,进入到pcre-8.37目录下,执行

    apt-get install build-essential
    ./configure
    make
    make  install

    2.安装apache

    解压httpd-2.4.18.tar.gz,进入到httpd-2.4.18目录下,执行
    ./configure  --enable-mods-shared=all
    make
    make  install

 

 

报错信息如下

collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: 离开目录“/usr/local/src/httpd-2.4.34/support”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/httpd-2.4.34/support”
make: *** [all-recursive] 错误 1

注释:错误为apr  apr-util缺失,需要把apr目录及apr-util目录拷贝到httpd的目录下:如下:

[root@localhost_002 httpd-2.4.34]# cp -r apr-1.6.1      /usr/local/src/httpd-2.4.34/srclib/apr
[root@localhost_002 httpd-2.4.34]# cp -r apr-util-1.6.1    /usr/local/src/httpd-2.4.34/srclib/apr-util

如若还是不行,就添加一个编译参数:--with-included-apr

再次make   &&  make    install即可::

    修改配置文件

    编辑/usr/local/apache2/conf/httpd.conf

    修改ServerName,改成ip或域名

    启动
    /usr/local/apache2/bin/apachectl -k start
    这里可能会出现error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory这样的错误,解决方法是:
    # ln -s /usr/local/lib/libpcre.so.1 /lib

     apache默认使用80端口。如过过程中出现端口被占用,在linux下执行sudo lsof -i:80 查看占用80端口进程,杀死对应进程kill pid or kill -9 pid

     验证

     打开浏览器,输入http://localhost,出现It works! 安装成功

     如果出现问题,很有可能是linux下权限问题。为此,新建apache组和用户

     sudo groupadd apache

     sudo useradd -r -g apache apache

     修改目录权限:

     cd /usr/local/apache2

     sudo chown -R apache:apache ./ 

     还需关闭selinux跟防火墙

    三、安装mysql

    解压mysql-5.1.62-linux-x86_64-glibc23.tar.gz,复制

    sudo cp mysql-5.1.62-linux-x86_64-glibc23 /usr/local/mysql -r  

    添加系统mysql组和mysql用户:

    sudo groupadd mysql

    sudo useradd -r -g mysql mysql  

    进入mysql目录:

    cd /usr/local/mysql

    修改目录权限:

    sudo chown -R mysql:mysql ./

    安装数据库:

    ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

    加入到服务中

    sudo cp support-files/mysql.server /etc/init.d/mysql

    启动mysql

    sudo service mysql start

    设置密码

    sudo /usr/local/mysql/bin/mysqladmin -u root password '密码'

   把mysql客户端放到默认路径:

    sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

    修改编码格式

    找到mysql配置文件模板复制到/etc下

    sudo cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

    编辑my.cnf

    在[client]节点下加入

    default-character-set = utf8

    在[mysqld]节点下加入

    default-character-set = utf8
    character-set-server = utf8
    collation-server = utf8_general_ci

    之后为bugzilla创建一个数据库。bugzilla默认使用的数据库名位bugs,用户名为bugs,密码为空。但建议修改。

    进入到数据库

    mysql -uroot -p

    输入你修改后的密码

    创建数据库

    create database bugs;

    创建用户

    GRANT ALL PRIVILEGES ON bugs.* TO bugs@localhost IDENTIFIED BY 'bugs数据库的密码';  如果选择远程数据库,修改localhost

    刷新

    flush privileges;

    至此,mysql配置完成

    四、安装bugzilla

    1.解压bugzilla-5.0.2.tar.gz,将bugzilla-5.0.2复制到/var/www下

    sudo cp bugzilla-5.0.2 /var/www/bugzilla -r

    进入到bugzilla目录下

    cd /var/www/bugizlla

    检查模块

    sudo ./checksetup.pl --check-modules

    安装模块,需要联网(此过程需要很久)。未联网请下载对应包手动安装。

    sudo perl install-module.pl --all

    安装bugzilla

    sudo ./checksetup.pl  

    如果出现错误 很有可能是gd模块出问题了。我出问题的地方就是这里,需手动安装

    解压gd-2.0.28.tar.gz,进入到gd-2.0.28目录

    ./configure
    make
    make install

    再次回到bugzilla目录下执行

    sudo ./checksetup.pl  

    安装最后会让你手动输入一些信息,管理员账号(邮箱模式)密码

    安装过程中会创建表,保持mysql连接正常

    成功后,bugzilla目录下会出现localconfig文件

    编辑文件   

    $webservergroup = 'apache';

    $db_driver = 'mysql';

    $db_host = 'localhost';

    $db_name = 'bugs';

    $db_user = '连接用户名';

    $db_pass = '链接密码';

    修改bugzilla对应用户及权限

    2.apache与bugzilla整合

    此时需要配置apache配置文件

    编辑/usr/local/apache2/conf/httpd.conf
    User apache
    Group apache
    注释掉原DocumentRoot

    新增DocumentRoot及Directory

    DocumentRoot "/var/www"
    <Directory "/var/www/bugzilla">
     AddHandler cgi-script .cgi .pl
     Options  +ExecCGI +Indexes
     DirectoryIndex index.cgi
     AllowOverride All
     Require all granted
    </Directory>

    如果原来的apache是2.2版本<Directory> AllowOverride Limit FileInfo Indexes

    3.为apache添加mod_cgi , mod_cgid 模块

    mod_cgi , mod_cgid  使用 bin/apxs 编译

    进入到apache源文件包中
    cd /httpd src path/modules/generators
    sudo /usr/local/apache2/bin/apxs -i -a -c mod_cgi.c

    sudo /usr/local/apache2/bin/apxs -i -a -c mod_cgid.c

    重启apache

    sudo /usr/local/apache2/bin/apachectl  -k  restart

    打开浏览器,输入http://localhost/bugzilla ,出现下面画面,表示成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值