现在的位置: 首页网络技术>正文
ArchLinux安装subversion+submin+trac手记
2012年03月10日 网络技术 暂无评论

以前都是在debian/ubuntu下安装的,现在在linode的机器上运行的是archlinux,但这个系统一点都不熟悉.折腾了很多.现记录一下以后也许用得上.
一:安装subversion
这个简单,按照ARCH的官方方法,没一般没啥问题:

1
pacman -S subversion

然后就是配置apache,参数与以前debian/ubuntu没啥差别,参见:ubuntu/debian下安装SVN,TRAC,Submin实代码托管,Bug追踪等

二:将默认的python3替换为python2
实际上早就应该这样做了的.
注意:arch默认的是python3,冒然地替换为python2可能会引起一些其他兼容问题.请考量,由于我的服务器只运行了web服务器,暂时未发现问题.
方法:先将/usr/bin/python改名为/usr/bin/python--3 以免出问题还可以换回去,
然后做个链接:

1
ln /usr/bin/python2 /usr/bin/python

这样,默认的python命令就是python2了.

三:安装submin
在submin官网下载的源码包进行安装,发现安装不了.后来在arch官网发现了这个:https://aur.archlinux.org/packages.php?ID=30214看来是有人已经做好了适用于arch的PKGBUILD包.先下载,然后makepkg安装
发现submin 2.x版本还在无法在arch上运行良好,换回1.2版

1
2
3
4
5
wget http://supermind.nl/submin/current/submin-1.2.11.tar.gz
tar zxvf sub*
cd sub*
python2 bin/install.py /usr/local/submin  (注意安装路径)
/usr/local/submin/bin/submin-admin create default --apache-user http (指定apache是以http的用户运行的)

在运行/usr/local/submin/bin/submin-admin create default --apache-user http后应该会得到一个如下的提示

1
2
3
4
5
Apache files created:
/etc/submin/default-apache-wsgi.conf
/etc/submin/default-apache-cgi.conf
Please include one of these in your apache config. Also make sure that
you have mod_dav_svn and mod_authz_svn enabled.

表示没啥问题,在apache配置文件中下入下面的文件即可(一般用/etc/submin/default-apache-cgi.conf)

四:安装trac
方法与以前介绍的类似,注意最新版本即可

1
2
3
4
5
6
7
8
wget http://peak.telecommunity.com/dist/ez_setup.py
python2 ez_setup.py
easy_install Babel Genshi
wget http://ftp.edgewall.org/pub/trac/Trac-0.12.3.tar.gz
tar zxvf Trac*
cd Trac*
python2 ./setup.py compile_catalog -f
python2 ./setup.py install

五:安装sendmail
arch默认未安装,并且杯具的发现,arch没有sendmail..只能用重新用包安装:http://aur.archlinux.org/packages.php?ID=27819

1
2
3
4
5
6
pacman -S m4  //注意,M4是一个依赖库
wget http://aur.archlinux.org/packages/se/sendmail/sendmail.tar.gz
tar zxvf sendmail.tar.gz
cd send*
makepkg --asroot
pacman -U sendmail-8.14.5-1-i686.pkg.tar.xz   //注意我的版本号..

六:配置apache
首先修改/etc/submin/default.conf内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[svn]
authz_file = /home/www/svn/note/authz   #这几个文件须要手动从/var/lib/submin目录中复制到我们指定的目录
userprop_file = /home/www/svn/note/userproperties.conf
access_file = /home/www/svn/note/htpasswd
repositories = /home/www/svn/proj
 
[www]
base_url = /submin
svn_base_url = /svn
trac_base_url = /trac
 
[trac]
enabled = True
basedir = /home/www/svn/trac
 
[backend]
bindir = /usr/local/submin/share/submin/bin
 
[generated]
session_salt = rJ18GM4uVfasdfaejR0w

然后修改/etc/submin/default-apache-cgi.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
    Alias /submin /usr/local/submin/share/submin/www
    <Directory /usr/local/submin/share/submin/www>
        Order allow,deny
        Allow from all
        Options ExecCGI FollowSymLinks
        AddHandler cgi-script py cgi pl
        SetEnv SUBMIN_CONF /etc/submin/default.conf
 
        RewriteEngine on
        RewriteBase /submin
 
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.+)$ submin.cgi/$1
 
        RewriteRule ^/?$ submin.cgi/
    </Directory>
 
    <Location /svn>
        DAV svn
        SVNParentPath /home/www/svn/proj
 
        AuthType Basic
        AuthName "Subversion repository"
 
        AuthUserFile /home/www/svn/note/htpasswd
        AuthzSVNAccessFile /home/www/svn/note/authz
 
        Satisfy Any
        Require valid-user
    </Location>
	<Location /trac>
	SetHandler mod_python
	PythonInterpreter main_interpreter
	PythonHandler trac.web.modpython_frontend
	PythonOption TracEnvParentDir /home/www/svn/trac
	PythonOption TracUriRoot /trac
	</Location>
	<LocationMatch "/trac/[^/]+/login">
	AuthType Basic
	AuthName "Trac"
	AuthUserFile /home/www/svn/note/htpasswd
	Require valid-user
	</LocationMatch>

具体修改方法见个人配置了,具体不在再多说.
最后在apache的配置文件中加入Include /etc/submin/default-apache-cgi.conf
arch的配置文件为/etc/httpd/conf/httpd.conf

然后重启apache rc.d restart httpd
一切OK



给我留言

留言无头像?


无觅相关文章插件,快速提升流量