subversionのインストール
自作ソースをまとめるためにsubversionでも使おうかなと思って設定をした時のメモ。
(バーチャルホストの設定、SVNリポジトリの作成など)
前に勤めていた会社では、アカウントの追加削除や
リポジトリの作成くらいはやっていたけど
インストールからはやってみたことがなかったので
いい機会だと思ってやってみました。
と思って軽く調べるとさくらインターネットのVPSだと
もともとインストールされているいるようで・・・。
以下手順等
環境等
Apache 2.4(ソースからインストールしたもの)
バーチャルホストの設定
httpd.confを編集
- Includeのコメントを外して有効にする
# Virtual hosts Include conf/extra/httpd-vhosts.conf </VirtualHost>
- Directorの変更
今回はメインのドメインが/var/www/html
サブメイン/var/www/subを使用するので以下の設定
<Directory /var/www> AllowOverride none #Require all denied </Directory>
httpd-vhosts.confの編集
<VirtualHost *:80> ServerAdmin test@www.example.com DocumentRoot "/var/www/html/" ServerName www.example.com ErrorLog "logs/www.example.com-error_log" CustomLog "logs/www.example.comaccess_log" common </VirtualHost> <VirtualHost *:80> ServerAdmin test@sub.example.com DocumentRoot "/var/www/sub/" ServerName sub.example.com ErrorLog "logs/sub.example.com-error_log" CustomLog "logs/sub.example.com-access_log" common </VirtualHost>
ここでmod_dav_svnをyumでインストールする流れで
yumでapache2.2をインストールしてしまった・・・
眠い中適当に作業するとあかんですね
自分の場合はApache 2.4をソースからインストールしているので
subversionもソースでインストールします。
まずはアンインストールから
# yum list installed | grep subversion subversion.x86_64 1.6.11-12.el6_6 @updates # yum remove subversion
最新版をDL
http://subversion.apache.org/
# mv subversion-1.8.11.tar.gz /usr/local/src/ # cd /usr/local/src/ # tar -zxvf subversion-1.8.11.tar.gz # cd subversion-1.8.11 # ./configure
SQLiteがないとおこられる
SQLiteのインストール
SQLite公式SQLite Home Page
sqlite-amalgamation-3080802.zipをDL
解凍してできた「sqlite-amalgamation-3080802」を移動
# mv sqlite-amalgamation-3080802 /usr/local/src/subversion-1.8.11/sqlite-amalgamation
configureとインストール
# cd /usr/local/src/subversion-1.8.11 # ./configure # make
で以下エラー
/usr/local/src/subversion-1.8.11/sqlite-amalgamation/sqlite3.c:14078:27: error: #if with no expression make: *** [subversion/libsvn_subr/sqlite3wrapper.lo] Error 1
めんどうなのでバージョンを変えて試してみる。
# mv subversion-1.7.19.tar.gz /usr/local/src/ # mv sqlite-amalgamation-3080802 /usr/local/src/subversion-1.7.19/sqlite-amalgamation # cd /usr/local/src/subversion-1.7.19 # ./configure # make # make install
httpd.confを編集
# vi /usr/local/apache2/conf/httpd.conf
LoadModule dav_module modules/mod_dav.so # コメントを外す LoadModule dav_fs_module modules/mod_dav_fs.so # コメントを外す
追加
Include conf/extra/subversion.conf
vi /usr/local/apache2/conf/extra/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /> DAV svn SVNParentPath /var/www/svn # Limit write permission to list of valid users. #<LimitExcept GET PROPFIND OPTIONS REPORT> # Require SSL connection for password protection. # SSLRequireSSL AuthType Basic AuthName "Authorization Realm" AuthUserFile /home/svn/.htpasswd Require valid-user #</LimitExcept> </Location>
パスワード作成
htpasswd -c /home/svn/.htpasswd XXXXXX
リポジトリを作成
# svnadmin creat /var/www/svn/XXXXXX
この後TortoiseSVNでアクセスしてコミットをしようとしたら
「could not begin a transaction」とエラーがでた。
/var/www/svn/XXXXXX以下がrootの権限になっていたので
ユーザー、グループをapacheのユーザーに変更することで解決しました