環境
ホスト:Windows10
仮想化:VirtualBox
OS:CentOS7.8
IP:192.168.56.101
手順
・SElinuxの無効化
vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled
・firewallの許可設定
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=3690/tcp --permanent
・設定反映のためリブート
reboot
・subversion関連ソフトのインストール
yum install -y subversion mod_dav_svn mod_ldap mod_ssl
・リポジトリの作成
mkdir -p /svn_repo/test_repo/
ls -ld /svn_repo/test_repo/
sudo svnadmin create --fs-type fsfs /svn_repo/test_repo/repo
svn mkdir file:///svn_repo/test_repo/repo/code -m "create"
svn mkdir file:///svn_repo/test_repo/repo/document -m "create"
svn mkdir file:///svn_repo/test_repo/repo/operation -m "create"
・権限変更
chmod -R g+w /svn_repo/test_repo
・所有者変更
chown -R apache:apache /svn_repo/test_repo/
・設定ファイルの作成
cd /svn_repo/test_repo/repo/conf
cp -p svnserve.conf svnserve.conf.org
・設定ファイルの編集
vi svnserve.conf
最下部へ下記を追加
[general]
anon-access = read
auth-access = write
authz-db = authz
realm = test.co.jp
・ディレクトリ移動
cd /svn_repo/test_repo/repo/conf/
・ファイルの作成
cp -p authz authz.org
・ファイル編集
vi authz
最下部へ下記を追記
[/]
* = rw
・仮想ルートを修正
vi /etc/sysconfig/svnserve
下記の通り修正
#OPTIONS="-r /var/svn"
OPTIONS="-r /svn_repo/test_repo/repo/"
・svn起動
systemctl status svnserve
systemctl enable --now svnserve
systemctl status svnserve
Apacheのセットアップ
・confファイル編集
vi /etc/httpd/conf/httpd.conf
最下部に下記を追加
<Location /svn_repo>
DAV svn
SVNPath /svn_repo/test_repo/repo
AuthzSVNAccessFile /svn_repo/test_repo/repo/conf/authz
</Location>
https化設定
・鍵作成
openssl genrsa -aes128 2048 > server.key
Enter pass phrase:
→svkey ※任意の文字列
・
openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
→svkey
・CSR作成
openssl req -new -key server.key > server.csr
※全て空欄でEnterでOKです(9回Enterを押せばOKです)
・証明書作成
openssl x509 -req -days 3650 -signkey server.key < server.csr > server.crt
・秘密鍵と証明書移動
mkdir /etc/httpd/ssl/
cp server.key server.crt /etc/httpd/ssl/
・パーミッション変更
chmod 400 /etc/httpd/ssl/server.*
・設定変更
cp -p /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bk
vi /etc/httpd/conf.d/ssl.conf
※以下の通り、2項目を修正
※約101行目
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/httpd/ssl/server.crt
※約107行目
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/httpd/ssl/server.key
・HTTP→HTTPSリダイレクト設定
vi /etc/httpd/conf.d/rewrite.conf
※以下記載
<ifModule mod_rewrite.c>
RewriteEngine On
LogLevel crit rewrite:trace3
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%\{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</ifModule>
・httpdの再起動
systemctl restart httpd
systemctl status httpd
systemctl enable httpd
テストファイルのインポート
echo "test">test.txt
svn import test.txt file:///svn_repo/test_repo/repo/code/test.txt -m "import"
svn list file:///svn_repo/test_repo/repo/code
・ブラウザアクセス
https://192.168.56.101/svn_repo