rhel 5/centos 5サーバ架設ノート:SVN(subversion)のインストールと構成
4920 ワード
SVNのインストールと構成
技術準備
パッケージの確認パッケージのインストール
#rpm -qa | grep your_package
インストールyour_パッケージ
#rpm -ivh your_package
または
#rpm -Uvh your_package
ステップ1、SVNおよび関連パッケージの確認とインストール
次のパッケージがインストールされているかどうかを確認してください.インストールされていない場合は、rhel 5/centos 5 CDでパッケージを見つけてインストールしてください.
openssl-0.9.8b-8.3.el5
openssl-devel-0.9.8b-8.3.el5
mod_ssl-2.2.3-6.el5
mod_auth_mysql-3.0.0-3.1
mysql-server-5.0.22-2.1
mysql-5.0.22-2.1
mysql-devel-5.0.22-2.1
subversion-1.4.2-2.el5
mod_dav_svn-1.4.2-2.el5
正常にインストールされている場合は、/etc/http/modulesディレクトリでこれらのモジュールを見つけることができます.
mod_authz_svn.so
mod_dav_svn.so
mod_auth_mysql.so
ステップ2、repositoryを初期化する
svnのプロジェクトライブラリの親パスを作成し、svn/reposをsvnのプロジェクトライブラリの親パスとします.このディレクトリは任意で、複数のプロジェクトライブラリの場合は同じ親パスでなければなりません.
#mkdir/svn/repos
次のコマンドでsvnプロジェクトライブラリTelecomRepositoryを初期化します.
#svnadmin create/svn/repos/TelecomRepositorys
上記のコマンドを繰り返して、複数のプロジェクトライブラリを作成します.
#svnadmin create/svn/repos/OtherRepositorys
あるいはSVNライブラリの格納方法を指定します
#svnadmin create --fs-type fsfs/svn/repos/TelecomRepositorys
または
#svnadmin create --fs-type bdb/svn/repos/TelecomRepositorys
デフォルトはbdb(Berkeley DB)のストレージ方式ですが、一般の人はfsfsのリポジトリ方式が好きです
ステップ3、ログインユーザファイルを作成する[データベース認証を使用する場合、このステップは無視できる]
ログインユーザファイルを/svnディレクトリの下に作成する.htpasswdおよび2人のユーザtest 1,test 2
#htpasswd -c/svn/.htpasswd test1
#htpasswd/svn/.htpasswd test2
手順4:認証データベースの作成[ログインユーザファイルで認証した場合、このステップは無視できます]
mysqlにログイン
#mysql -u root -p
データベースsvn_の作成auth
mysql>create database svn_auth;
mysql>user svn_auth;
ユーザーsvnの作成
mysql>GRANT ALL PRIVILEGES ON *.* TO svn@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
テーブルusersの作成
mysql> CREATE TABLE users (
-> user_name CHAR(30) NOT NULL,
-> user_passwd CHAR(20) NOT NULL,
-> PRIMARY KEY (user_name)
-> );
テストアカウントを2つ追加
mysql> insert into users values('test1', ENCRYPT('password'));
mysql> insert into user values('test2', ENCRYPT('password'));
mysql>commit;
ステップ5、SVNアクセス制御
/svnディレクトリの下でアクセス制御ファイルsvnaccessを作成します.名前は任意ですが、今後の構成中に正しい名前を使用する必要があります.ファイルの内容は
最後の2行が有効であることがわかります.すべての項目に対して、すべての人が読み書き(rw)の権限を持っていることを意味します.もちろん、ある項目を個別に制限して、以下のように設定することもできます.
プロジェクトライブラリTelecomRepositorysに対して、ユーザーtest 1は読み取り権限しかなく、他の人は読み取りと書き込み権限があるという意味です.
ステップ6、Apache、SVN統合
apacheのプロファイルの編集/etc/http/conf/http.confファイルまたは/etc/http/conf.d/subversion.confファイル
ログインファイル認証方式を使用する場合は(ステップ3)、以下の内容を追加します.
データベース認証を使用する場合は(ステップ4)、次のように追加します.
/svn/svnaccess,/svn/.htpasswdは私たちが作成したファイルです.名前がカスタマイズされている場合はhttpでお願いします.confの構成が正しく、同じように正しく構成する必要があるのはデータベースユーザーsvn、データベースsvn_です.auth、テーブル名usersなど.
ステップ7、セキュリティアクセス設定[設定する必要があります.そうしないとsvnにアクセスできません]
ディレクトリの所有者とアクセス権の変更
#chown apache.apache -R/svn
#chmod 755 -R/svn
SELinuxの設定の変更
SELinux(強く推奨しない)を無効にするか、SELinuxグラフィック管理インタフェースでDisable SELinux protection for httpd daemonというオプションをオンにします.そうしないと、apacheという仮想ユーザーは/svnディレクトリにアクセスできません.もちろん、apacheのアクセス権をより良い方法で設定することもできます.
ステップ8、Apacheサーバーを再起動する
次のコマンドを実行します.
#service httpd restart
または
#/etc/init.d/httpd restart
次のurlを入力してsvnに正しくアクセスできるかどうかを確認します.
http://localhost/svn/TelecomRepositorys
技術準備
パッケージの確認パッケージのインストール
#rpm -qa | grep your_package
インストールyour_パッケージ
#rpm -ivh your_package
または
#rpm -Uvh your_package
ステップ1、SVNおよび関連パッケージの確認とインストール
次のパッケージがインストールされているかどうかを確認してください.インストールされていない場合は、rhel 5/centos 5 CDでパッケージを見つけてインストールしてください.
openssl-0.9.8b-8.3.el5
openssl-devel-0.9.8b-8.3.el5
mod_ssl-2.2.3-6.el5
mod_auth_mysql-3.0.0-3.1
mysql-server-5.0.22-2.1
mysql-5.0.22-2.1
mysql-devel-5.0.22-2.1
subversion-1.4.2-2.el5
mod_dav_svn-1.4.2-2.el5
正常にインストールされている場合は、/etc/http/modulesディレクトリでこれらのモジュールを見つけることができます.
mod_authz_svn.so
mod_dav_svn.so
mod_auth_mysql.so
ステップ2、repositoryを初期化する
svnのプロジェクトライブラリの親パスを作成し、svn/reposをsvnのプロジェクトライブラリの親パスとします.このディレクトリは任意で、複数のプロジェクトライブラリの場合は同じ親パスでなければなりません.
#mkdir/svn/repos
次のコマンドでsvnプロジェクトライブラリTelecomRepositoryを初期化します.
#svnadmin create/svn/repos/TelecomRepositorys
上記のコマンドを繰り返して、複数のプロジェクトライブラリを作成します.
#svnadmin create/svn/repos/OtherRepositorys
あるいはSVNライブラリの格納方法を指定します
#svnadmin create --fs-type fsfs/svn/repos/TelecomRepositorys
または
#svnadmin create --fs-type bdb/svn/repos/TelecomRepositorys
デフォルトはbdb(Berkeley DB)のストレージ方式ですが、一般の人はfsfsのリポジトリ方式が好きです
ステップ3、ログインユーザファイルを作成する[データベース認証を使用する場合、このステップは無視できる]
ログインユーザファイルを/svnディレクトリの下に作成する.htpasswdおよび2人のユーザtest 1,test 2
#htpasswd -c/svn/.htpasswd test1
#htpasswd/svn/.htpasswd test2
手順4:認証データベースの作成[ログインユーザファイルで認証した場合、このステップは無視できます]
mysqlにログイン
#mysql -u root -p
データベースsvn_の作成auth
mysql>create database svn_auth;
mysql>user svn_auth;
ユーザーsvnの作成
mysql>GRANT ALL PRIVILEGES ON *.* TO svn@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
テーブルusersの作成
mysql> CREATE TABLE users (
-> user_name CHAR(30) NOT NULL,
-> user_passwd CHAR(20) NOT NULL,
-> PRIMARY KEY (user_name)
-> );
テストアカウントを2つ追加
mysql> insert into users values('test1', ENCRYPT('password'));
mysql> insert into user values('test2', ENCRYPT('password'));
mysql>commit;
ステップ5、SVNアクセス制御
/svnディレクトリの下でアクセス制御ファイルsvnaccessを作成します.名前は任意ですが、今後の構成中に正しい名前を使用する必要があります.ファイルの内容は
[groups]
# harryharry_and_sally = harry,sally
[/]
*=rw
最後の2行が有効であることがわかります.すべての項目に対して、すべての人が読み書き(rw)の権限を持っていることを意味します.もちろん、ある項目を個別に制限して、以下のように設定することもできます.
[groups]
# harryharry_and_sally = harry,sally
[TelecomRepositorys:/]
test1=r
*=rw
プロジェクトライブラリTelecomRepositorysに対して、ユーザーtest 1は読み取り権限しかなく、他の人は読み取りと書き込み権限があるという意味です.
ステップ6、Apache、SVN統合
apacheのプロファイルの編集/etc/http/conf/http.confファイルまたは/etc/http/conf.d/subversion.confファイル
ログインファイル認証方式を使用する場合は(ステップ3)、以下の内容を追加します.
DAV svn
SVNParentPath /svn/repos
AuthzSVNAccessFile /svn/svnaccess
AuthType Basic
AuthName "SVN Repositorys"
AuthUserFile /svn/.htpasswd
Require valid-user
</Location>
データベース認証を使用する場合は(ステップ4)、次のように追加します.
<Location /svn>
DAV svn
SVNParentPath /svn/repos
AuthzSVNAccessFile /svn/svnaccess
AuthName "SVN Repositorys"
AuthType Basic
AuthMYSQLEnable on
AuthMYSQLUser svn
AuthMySQLPassword password
AuthMYSQLDB svn_auth
AuthMYSQLUserTable users
AuthMYSQLNameField user_name
AuthMYSQLPasswordField user_passwd
Require valid-user
</Location>
/svn/svnaccess,/svn/.htpasswdは私たちが作成したファイルです.名前がカスタマイズされている場合はhttpでお願いします.confの構成が正しく、同じように正しく構成する必要があるのはデータベースユーザーsvn、データベースsvn_です.auth、テーブル名usersなど.
ステップ7、セキュリティアクセス設定[設定する必要があります.そうしないとsvnにアクセスできません]
ディレクトリの所有者とアクセス権の変更
#chown apache.apache -R/svn
#chmod 755 -R/svn
SELinuxの設定の変更
SELinux(強く推奨しない)を無効にするか、SELinuxグラフィック管理インタフェースでDisable SELinux protection for httpd daemonというオプションをオンにします.そうしないと、apacheという仮想ユーザーは/svnディレクトリにアクセスできません.もちろん、apacheのアクセス権をより良い方法で設定することもできます.
ステップ8、Apacheサーバーを再起動する
次のコマンドを実行します.
#service httpd restart
または
#/etc/init.d/httpd restart
次のurlを入力してsvnに正しくアクセスできるかどうかを確認します.
http://localhost/svn/TelecomRepositorys