作者:小炮兵开坦克 | 来源:互联网 | 2023-09-08 15:22
用ubuntu这种更新频繁的发行版做服务器简直蛋疼,买了一个香港VPS,然后发现ubuntu10的二进制库年旧失修,遂重装为debian。SVN+Apache21.首先安装主体以及
用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
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
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
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
80>
ServerName www.yourhost.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /somewhere/public
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
10. 至此,大功告成,重启apache2 检查配置
/etc/init.d/apache2 restart