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. Apache和Subversion的集成
查看/etc/apache2/mods-enabled/dav_svn.load文件,有mod_dav_svn.so和mod_authz_svn.so这两个动态库说明apache已经加载了Subversion的访问控制模块。如果没有,手动添加。
编辑/etc/apache2/mods-enabled/dav_svn.conf文件,在最后加入下述内容:
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.conf和touch/home/svn/authz.conf来创建这2个不存在的文件。
<Location /svn>意思是Subversion版本可用的URL是http://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 指定使用的认证密码文件,即访问版本库用户的文件,用apache的htpasswd命令生成
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添加项目
管理员必须考虑的问题是,将每一个项目分别放在不同的版本库里面,还是将它们放在统一的版本库里面。统一的版本库可以让管理员更加容易的升级和备份,不过,由于访问权限控制是针对整个版本库的,所以,统一的版本库也为不同项目配置不同的访问权限带来了麻烦。所以,管理员应该根据实际情况权衡考虑。
我以统一的版本库为例,添加三个项目business,develop和project。首先在一个临时目录下,根据 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-8,Windows下有转换工具,比如Eclipse->Edit->最后一项。一般针对最末梢文件设置权限。
特别注意:权限分配时,不能写成cen, huang =r,这样提交时会出现错误:svn Commit failedcheckout of 403 forbidden。应该写成cen = r和huang = 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取出服务器上的版本库到本地。
chown -Rwww-data:www-data /home/svn/repos
可解决在客户端提交时出现subversion can't open file “xxx”Permission denied的问题
注:为了以后备份方便,可将passwd.conf和authz.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); |