2014年10月16日木曜日

CentOS6 でSubversion サーバを構築

ネット接続可能なCentOS 上に、Subversion サーバを構築します。
CentOS 側のNetwork 構成は、ブリッジ接続で固定IP を割り振りました。

以下、リファレンス的に記載していますので、流れを追ってやりたい方は、↓などを参照してみてください。
http://park1.wakwak.com/~ima/centos4_subversion0001.html

インストール系のコマンド集
$su
Password:
# yum install subversion
...
# yum install mod_dav_svn
...
# yum install httpd
...


いろいろ迷ったときに利用したコマンド集
service network restart
chown -R apache:apache /home/svn/repos/
chmod -R u+rw /home/svn/repos/
chcon -R -h -t httpd_sys_content_t /home/svn/repos
/etc/rc.d/init.d/httpd start
/sbin/service httpd reload
/etc/rc.d/init.d/httpd start
/etc/init.d/iptables restart
chkconfig --list httpd
chkconfig httpd on
chkconfig


vi で編集したファイルのコマンド集
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/resolv.conf
vi /etc/httpd/conf.d/subversion.conf
vi /etc/httpd/conf/httpd.conf
vi /etc/sysconfig/iptables


/etc/sysconfig/network-scripts/ifcfg-eth0 の記載。
# 伏せ字使ってます。
DEVICE="eth0"
#BOOTPROTO="dhcp"
BOOTPROTO=none
IPV6INIT="no"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="07c8cac6-7c72-433e-a8c7-434023d6cb23"
IPADDR=xxx.xxx.xxx.86
#IPADDR=192.168.83.2
GATEWAY=xxx.xxx.xxx.1
#GATEWAY=192.168.83.1
NETMASK=255.255.255.0
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0"
HWADDR=00:0C:29:5B:BD:C1
DNS1=xxx.xxx.xxx.104
LAST_CONNECT=1413278137


iptables の記載。重要なのは11行目のPORT 80 を開放しているところ。
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


/etc/httpd/conf.d/subversion.conf の記載
認証機能を利用したい場合は、以下のコメントアウト(#)を外して下さい。
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
   DAV svn
   SVNParentPath /home/svn/repos
#   AuthType Basic
#   AuthName "Subversion Auth"
#   AuthUserFile /home/svn/svn_passwd
#   Require valid-user
</Location>
コメントアウトを外した後、/home/svn/svn_passwd にパスワードファイルを作成しますが、詳細な手順は上記のサイト等を参照してください。