Debian apache2 + SVN + Redmine 配置
2013-03-19 09:01 robturtle 阅读(2176) 评论(0) 编辑 收藏 举报用ubuntu这种更新频繁的发行版做服务器简直蛋疼,买了一个香港VPS,然后发现ubuntu 10 的二进制库年旧失修,遂重装为debian。
SVN + Apache2
1. 首先安装主体以及二者间的“夹具”。
apt-get install apache2 subversion libapache2-svn
2. 创建版本库并将所有权转让给apache2
svnadmin create /var/svn chown www-data:www-data -R /var/svn
3. “挂载”版本库 (实在不知道专业的叫法是什么。。。)
在 apache2.conf 内添加如下内容
# file: /etc/apache2/apache2.conf # svn <Location /svn> DAV svn SVNPath /var/svn/repos AuthzSVNAccessFile /var/svn/repos/conf/authz AuthType Basic AuthName "Subversion Repository" AuthUserFile /var/svn/repos/conf/passwd Require valid-user </Location>
3*. 如果挂载完svn后重启apache报非法指令'AuthzSVNAccessFile',那么很可能是'authz_svn_module'没加载或apache自己加载顺序的问题,可以在 mods-available/dav.load手动加载该模块解决问题。(添加下文中的最后一行即可)
# file: /etc/apache2/mods-available/dav.load
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
4. 修改svn权限设置,权限主体可为个人或小组,以目录为节点设置读/写位,下面是样例:
# file: /var/svn/conf/authz
[groups] admin = jeremy,Yang group_a = ua,ub,uc [/group_a] @group_a = rw [/gigo] * = rw [/]
* = r @admin = rw
注意到apache2的设置,所以也不是所有人都可以在gigo文件夹下乱涂乱画的。
5. 创建账户,这里演示手动创建的过程
cd /var/svn/conf
htpasswd -c passwd jeremy htpasswd passwd Yang htpasswd passwd ua htpasswd passwd ub htpasswd passwd uc
至此,svn算配置完毕。
Redmine + Apache2
1. 首先安装redmine支持的一种数据库
apt-get install mysql-client mysql-server
2. 安装 redmine 主体和对应的数据库组件
apt-get install redmine-mysql redmine
3. 登入mysql
mysql -u root -p
3-1. 为 redmine 创建数据库,并给予权限,设置密码
mysql> create database redmine character set utf8; mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'PASSWD';
4. 增加数据库配置文件
cd /usr/share/redmine/config cp ../template/database.yml.template database.yml vi database.yml
5. 下面是配置文件样例
# file: /usr/share/redmine/conf/database.yml production: adapter: mysql database: redmine host: localhost username: redmine password: PASSWD encoding: utf8
6. 创建默认的数据库,并将所有权交给 apache2
cd /usr/share/redmine
rake generate_session_store RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data chown -R www-data:www-data /usr/share/redmine
7. 安装“夹具”
gem install passenger cd /var/gems/1.8/gems/passenger-3.0.19/bin ./passenger-install-apache2-module
7*. 根据非常人性化的提示,安装依赖包,重新调用passenger-install-apache2-module
apt-get install libcurl4-openssl-dev apache2-prefork-dev ./passenger-install-apache2-module
8. 根据passenger给的提示,将下面几行命令添加至 apache2.conf 以加载 passanger 模块
# file: /etc/apache2/apache2.conf LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.19 PassengerRuby /usr/bin/ruby1.8
9. 在httpd.conf 配置 redmine 虚拟主机
# file: /etc/apache2/httpd.conf <VirtualHost *:80> ServerName www.yourhost.com # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /somewhere/public <Directory /somewhere/public> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews </Directory> </VirtualHost>
10. 至此,大功告成,重启apache2 检查配置
/etc/init.d/apache2 restart