以前都是在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