LAMP环境搭建及Bugzilla、Svn、dokuwiki搭建

Bugzilla在ubuntu下安装步骤及配置

说明:bugzilla是基于peril语言开发的缺陷管理工具。

一、安装环境:

linux+apache+mysql(DB/oracle)+perl。

注:此次安装环境为:linux:ubuntu10.0.4+ apache2 + mysql-server + perl

二、安装步骤:

1. 安装apache2:使用ubuntu在线安装方式。

    apt-getinstall apache2

2. 安装mysql-server:使用ubuntu在线安装方式。

    apt-getinstall mysql-server

3. 在bugzilla官方网站下载需要安装的版本,此次安装版本为bugzilla-4.2.4

4、安装apche2 、php依赖库

   sudo apt-get install libapache2-mod-php5 php5

   sudo apt-get install libauthen-sasl-perl

三、配置apache2、mysql

说明:apache2默认安装完成后在/etc/apache2目录下,主要使用配置文件为apache2.conf,     默认情况下httpd.conf文件为空,需要修改端口及访问地址,可在port.conf文件下直接修改。

1. 安装完apache2后需要配置http.conf文件(修改目标文件目录bugzilla及配置),加入以下代码:

<Directory "/var/www/bugzilla/">

        AddHandler cgi-script.cgi 

        Options +Indexes+ExecCGI +FollowSymLinks

        DirectoryIndexindex.cgi

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

2. 安装mysql,创建bugzilla库,create database bugs;

   创建bugzilla用户并授权用户,grant all privileges on bugs.* to bugs@localhost identified by'123456'。 刷新数据库 flush privileges;

   用户为bugs,密码为123456

四、安装bugziila,bugzilla是perl开发的开源软件是独立运行在apache上的,在bugzilla官网下载需要安装的版本,解压到制定目录。

eg. cd  /var/www/      

tar zxvf bugzilla-4.2.4.tar.gz

修改名称  mv bugzilla-4.2.4bugzilla

执行 ./checksetup.pl 安装提示安装缺少的perl-module。

修改localconfig 文件,

1. bugzilla web访问服务组为apache用户组,即 $webservergroup=www-data;

2. 修改数据库信息,包括数据库名,地址,端口,密码等信息;

再次运行./checksetup.pl配置完成后,将提示设置管理员Email,

eg.xiaoliangma@o-netcom.com

完成后设置 administra account : eg. jason,下面安装提示一步步的设置,即可完成安装。

五、配置邮件服务器

邮件服务器配置文件目录:bugzilla/data/params 下,

修改内容:

mail_delivery_method'=> 'SMTP',                   //协议

'mailfrom' =>'xiaoliangma@o-netcom.com',           //发送邮件地址

'maintainer' =>'xiaoliangma@o-netcom.com',          //发送邮件账户

'smtp_password'=> 'wisdom7788',                  //SMTP发送邮件密码

smtp_username'=> 'xiaoliangma@o-netcom.com',     //SMTP发送邮件账户

'smtpserver' =>'omsrv',                           //邮件服务器地址

六、访问

重新启动apache服务,访问http://安装地址/bugzilla即可。

七、其他

1. apache+mysql+perl环境搭建:

subversion在ubuntu下安装步骤及配置

1. 安装Subversion

apt-get installsubversion

apt-get installsubversion-tools

 2. 安装Apache

apt-get installapache2

apt-get installlibapache2-svn

3. ApacheSubversion的集成

查看/etc/apache2/mods-enabled/dav_svn.load文件,有mod_dav_svn.so和mod_authz_svn.so这两个动态库说明apache已经加载了Subversion的访问控制模块。如果没有,手动添加

编辑/etc/apache2/mods-enabled/dav_svn.conf文件,在最后加入下述内容:

<Location/svn>

DAV svn

SVNParentPath/home/svn

AuthType Basic

AuthName "Subversion Repository"

AuthUserFile/home/svn/passwd.conf

AuthzSVNAccessFile/home/svn/authz.conf

Require valid-user

</Location>

命令touch /home/svn/passwd.conftouch/home/svn/authz.conf来创建这2个不存在的文件。

<Location /svn>意思是Subversion版本可用的URLhttp://SubversionServerIP/svn

DAV SVN告诉Apache是哪个模块响应哪个URL的请求,在这里是Subversion模块

SVNParentPath /home/svn  告诉Subversion需要查看的版本库在/home/svn之下。如果不希望为每个单独的项目都进行单独的设置,可以把所有项目都存放在统一的资源库目录,使用SVNParentPath指令来指定存放所有项目的路径。否则使用SVNPath

SVNPath单版本库时使用此项指明版本库的路径,但在多版本库中不要使用此项

AuthType Basic  认证类型为基本认证,就是用户名和密码

AuthName "Subversion repository"  认证名称,将在浏览器界面弹出一个对话框,标题为Subversion repository

AuthUserFile /home/svn/passwd.conf  指定使用的认证密码文件,即访问版本库用户的文件,用apachehtpasswd命令生成

AuthzSVNAccessFile /home/svn/authz.conf  设定访问版本库权限的文件

Require valid-user  要求验证用户,即不能匿名访问。如果没有该语句,则只能第一个用户可以访问新建库

此外,SVNIndexXSLT“/svnindex.xsl”  使用它可以在用浏览器时更好看

 

4. 在添加了上述内容后,必须重启Apache2 HTTP服务器

/etc/init.d/apache2 restart

 

5. Subversion建立版本库

mkdir /home/svn

mkdir /home/svn/repos

svnadmin create --fs-type fsfs/home/svn/repos

运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs替换为 bdb

如果一切正常,命令执行后没有任何反馈信息而迅速返回。一个新的版本库就被创建出来。我们可以查看下版本库里有什么。

其中,conf目录下存放了版本库的配置文件,包括用户访问控制和权限控制等内容;dav目录是提供给 Apache 相关模块的目录,目前为空;db 目录下存放着 Subversion 所要管理的所有受版本控制的数据,不同的存储方式(Berkeley DB或者 FSFS)下有着不同的目录结构,不过我们一般不用直接修改和查看这个目录下的内容,Subversion的命令可以安全的操作这个目录;另外,hooks目录存放着钩子脚本及其模版(一种版本库事件触发程序),locks目录存放着 Subversion版本库锁定数据,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

注意:库与库之间不能包含。

我们可以测试下Subversion能不能检出。

 

6. Subversion添加项目

管理员必须考虑的问题是,将每一个项目分别放在不同的版本库里面,还是将它们放在统一的版本库里面。统一的版本库可以让管理员更加容易的升级和备份,不过,由于访问权限控制是针对整个版本库的,所以,统一的版本库也为不同项目配置不同的访问权限带来了麻烦。所以,管理员应该根据实际情况权衡考虑。
我以统一的版本库为例,添加三个项目businessdevelopproject。首先在一个临时目录下,根据 Subversion 版本控制的一般布局结构,创建出三个项目的主要目录树,如下:

然后用 svn import命令导入已有的目录树。

svn import /home/svn/tmp/file:///home/svn/repos/ --message"init"

可以用 svn list确认导入的项目是否正确:

svn list --verbosefile:///home/svn/repos/

如果要查看最新修订版本的信息,可以使用 svnlook info命令:

svnlook info /home/svn/repos/

还可以在命令后面接上 “--revision版本号来指定某一个修订版的显示。

还可以用如下命令来显示版本库的具体树形结构,后面的 “--show-ids”选项指定显示每一个显示元素的修改版本 ID

svnlook tree /home/svn/repos/--show-ids

 

7. Subversion添加用户

添加第一个用户,要加参数-c。以后不用加。

htpasswd -c/home/svn/passwd.conf user1

Subversion追加用户:

htpasswd /home/svn/passwd.confuser2

passwd.conf文件的生成内容是用户名加上密码的 MD5密文。

 

8. Subversion分配用户权限

新添加的用户是不能访问Subversion的,还要为他分配权限。编辑/home/svn/authz.conf文件,例:

[groups]

vip = wang

admin = wangqixuan, yang

develop-manager = zhong

business-manager = shi

developer = ma, hu, zhou, cen,huang

 

[repos:/]

@admin = rw

* = r

 

[repos:/develop/01-Windows项目组/01-ARM架构]

@vip =rw

@admin = rw

@develop-manager = rw

* =

[repos:/develop/01-Windows项目组/02-X86架构]

@vip =rw

@admin = rw

@develop-manager = rw

zhou = rw

hu =rw

ma = r

* =

[repos:/develop/02-Linux项目组/01-ARM架构]

@vip =rw

@admin = rw

@develop-manager = rw

cen = r

huang = r

* =

 

[repos:/develop/02-Linux项目组/02-X86架构]

@vip =rw

@admin = rw

@develop-manager = rw

cen = r

huang = r

* =

 

[repos:/develop/个人目录]

@vip =rw

@admin = rw

@develop-manager = rw

@developer = rw

* =

其中* = 表示其它所有用户都没有任何权限。@表示用户组,*表示所有用户,[/]表示全部目录。注意顶格写UTF-8格式才能配置SVN权限,Linux下默认是UTF-8Windows下有转换工具,比如Eclipse->Edit->最后一项。一般针对最末梢文件设置权限。

特别注意:权限分配时,不能写成cen, huang =r,这样提交时会出现错误:svn Commit failedcheckout of 403 forbidden。应该写成cen = rhuang = r

 注:apache制定的验证用户文件一定要与svn项目下的文件(/home/svn/project/conf/authz以及/home/svn/project/conf/passwd)对应。

有时候权限在前后之间产生交织,较大的目录权限把较小的目录权限给覆盖

如: /home/svn/authz.conf  /home/svn/passwd.conf文件中策略文件与/home/svn/project/conf/authz以及/home/svn/project/conf/passwd用户、密码相同组不同,此时就会提示用户权限问题403.

9. Subversion启动

svnserve -d -r /home/svn

Subversion 设计了一个抽象的网络层,版本库建立完毕之后,可以通过各种服务器向外公布。svnserve Subversion 自带的一个小型的服务器,它使用独立的协议与客户端。–i 作为 inetd启动。-d参数表示svnserve将会作为一个服务程序运行在后台。-r参数表示将/home/svn指定为代码库的根目录。这样,当客户端使用类似svn://192.168.0.1/repos这样的URL访问服务器的时候,其所访问的真实库是/home/svn/repos。另外如 --listen-port--listen-host可以指定绑定的地址和端口,-R可以强制设定为 Read-Only模式。

下面命令可检查是否成功启动:

ps -ef | grep svn

 

10. SVN客户端的安装及简单使用

TortoiseSVN下载地址:http://tortoisesvn.net/downloads.html

Win7上新建文件夹作为本地副本的存储目录,单击右键,选择TortoiseSVN->Repo-browser,在弹出框URL中添加Subversion的访问地址http://ServerIP/svn/repos

Check Out取出服务器上的版本库到本地。

详细使用见http://cdnetworks-kr-2.dl.sourceforge.net/project/tortoisesvn/1.7.7/Documentation/TortoiseSVN-1.7.7-zh_CN.pdf

 

chown -Rwww-data:www-data /home/svn/repos
可解决在客户端提交时出现subversion can't open file “xxx”Permission denied的问题

注:为了以后备份方便,可将passwd.confauthz.conf两个文件放在repos/conf下,相应地也改动Apache2配置文件里<Location>字块所指路径,重启Apache2

mediawiki在ubuntu下安装步骤及配置

一、安装相关软件

mediawiki是php语言开发的一款软件,所以运行环境为apache+mysql+php,上面已经安装apache及mysql。以下是安装php5及apache、mysql依赖模块的安装。

1. php5安装:

   apt-get install php5 php5-mysql

   apt-get install libgd2-xpm libgd2-xpm-devphp5-gd

2. 安装mediawiki

二、配置mediawiki        

1. vi /etc/mediawiki /var/lib/mediawiki

去掉下行内容的注释:

#Alias/mediawiki  /var/lib/mediawiki

2. 重启apache2

/etc/init.d/apache2restart

Dokuwiki在ubuntu下安装步骤及配置

一、            安装配置

1. php5安装:

   apt-get install php5 php5-mysql

   apt-get install libgd2-xpm libgd2-xpm-devphp5-gd

二、             

下载dokuwiki软件包,解压至/var/www/下

访问http://servcer-ip/dokuwiki/install.php,安装提示进行配置安装。

二、修改Dokuwiki中文乱码

1、编辑:/wiki_dir/inc/pageutils.php 

function utf8_encodeFN($file,$safe=true){

  if($safe&&preg_match('#^[a-zA-Z0-9/_\-.%]+$#',$file)){

    return$file;

  }

  /* 把这个部分注释掉

     $file = urlencode($file);

     $file = str_replace('%2F','/',$file);

   */

  return$file;

}

}

if(!function_exists('utf8_decodeFN')){

  /**

   * URL-Decode a filename

   *

   * This is just a wrapper around urldecode

   *

   * @author Andreas Gohr<andi@splitbrain.org>

   * @see urldecode

   */

  function utf8_decodeFN($file){

    //$file = urldecode($file); //再注释掉这个语句...

    return$file;

  }

}

而生成sitemap.xml文件的是"/lib/exe/indexer.php"文件,打开这个文件,搜索runSitemapper()函数,在函数下有此语句:

print'   <loc>'.wl($id,'',true).'</loc>'.NL;

其中wl函数为重写url的,在wl函数的定义在"/inc/common.php"文件内,其中有一语句:

$id   = idfilter($id);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值