【tech】CentOS7.8でsubversion serverを構築するメモ



環境


ホスト: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



投稿者:

mame

都内20代前半ITエンジニア 見た目は女性、性格は男・・・ 品のある女性になりたいT_T 既婚子持ち 趣味の:IT、DIY、投資 などについてのメモblog

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です