您的位置:首页 > 运维架构 > Apache

Debian apache2 + SVN + Redmine 配置

2013-03-19 09:01 387 查看
用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: