工作原因,需要部署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
    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

修改配置文件

编辑/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 ./

三、安装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 ,出现下面画面,表示成功

部署bugzilla(bugzilla+apache+mysql+linux)的更多相关文章

  1. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  2. CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境

    我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...

  3. Linux Ubuntu 14.04安装LAMP(Apache+MySQL+PHP)网站环境

    从虚拟主机到VPS/服务器的过度,对于普通的非技术型的站长用户来说可能稍许有一些困难,麦子建议我们如果能够在虚拟主机环境中满足建站需要的, 还是用虚拟主机比较好.除非我们真的有需要或者希望从虚拟主机过 ...

  4. Linux服务器部署系列之一—Apache篇(下)

    接上篇 linux服务器部署系列之一—Apache篇(上)    四.管理日志文件 Apache日志分为访问日志和错误日志两种: 1)访问日志 用于记录客户端的访问信息,文件名默认为access_lo ...

  5. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

  6. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  7. 转 整理 Linux服务器部署系列之一—Apache篇

    花了差不多一天,参考了几个博客,终于初步配成功了 Apache,先总结一下: 如果apache安装成为linux的服务的话,可以用以下命令操作: service httpd start 启动 serv ...

  8. 【Linux】Debian 下安装 Apache,MySQL,PHP

    首先,对你的源进行更新: $ sudo apt-get update 第一步--安装 Apache Apache 是一个开源软件,它目前运行在全球超过 50% 的服务器上,是 LAMP(Linux,A ...

  9. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境

    一.简介 什么是LAMP    LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...

随机推荐

  1. has实现 更新视图但不重新加载页面原理

    URL中#符号本身以及它的字符称之为hash,可以通过window.location.hash获取.hash具有如下特点: 1.has虽然出现在URL中,但不会被包括在http请求中.因此,改变has ...

  2. Windows命令实现匿名邮件发送

    在日常工具开发中,常常会有发送邮件的需求.在一些高级语言中,如Python.C#中,都有专门的邮件发送模块,如Python 中的 smtplib 模块.那么.一封邮件究竟是怎样发送到一个特定的邮箱呢? ...

  3. 修改版Putty,可保持密码

    修改版Putty,可保持密码: http://files.cnblogs.com/findumars/putty_v6.0.rar 转自: http://unmi.cc/putty-auto-logi ...

  4. MySQL:MySQL安装

    ylbtech-MySQL:MySQL安装 mysql5.5.27_win64_zol.msi 1.返回顶部 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14 ...

  5. 24. [Ext JS 4] 实战之Load Mask(加载遮罩)的显示与隐藏

    转自:https://blog.csdn.net/oscar999/article/details/27176791

  6. GitHub上README.md教程(copy)

    [说明:转载于http://blog.csdn.net/kaitiren/article/details/38513715] 最近对它的README.md文件颇为感兴趣.便写下这贴,帮助更多的还不会编 ...

  7. .NET Runtime version 2.0.50727.8762 - 执行引擎错误(7969097A) (80131506)

    VS2010调试IIS发布的web工程提示:无法连接到 Visual Studio 开发服务器 .NET Runtime version 2.0.50727.8762 - 执行引擎错误(7969097 ...

  8. bzoj1202: [HNOI2005]狡猾的商人(并查集 差分约束)

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4127  Solved: 1981[Submit][Sta ...

  9. P4971 断罪者

    传送门 首先,不难看出可以给每个集合开一个可并堆,然后乱搞就可以了 主要的问题就是将罪恶值清零和减少罪恶值该怎么搞 罪恶值清零可以直接找到这个节点然后把值变为零,再把它的左右儿子分别并到这个节点所在的 ...

  10. DFS POJ 3087 Shuffle'm Up

    题目传送门 /* 题意:两块扑克牌按照顺序叠起来后,把下半部分给第一块,上半部给第二块,一直持续下去,直到叠成指定的样子 DFS:直接模拟搜索,用map记录该字符串是否被搜过.读懂题目是关键. */ ...