次のコラム Centos 入門チュートリアル では、centos 上で SVN を構築し、プロジェクトを PHP プロジェクトのシステム ルート ディレクトリに同期する方法を紹介します。困っている友達を助けてください。
1. SVN のインストール
ここでは yum インストール方法が使用されます:
1. rpm -qa subversion / /下位バージョンの SVN がインストールされているかどうかを確認します
2. yum delete subversion //古いバージョンが保存されている場合は、古いバージョンの SVN をアンインストールします
3. インストールを開始します yum -y install subversion
インストール後、バージョンを確認します svnserve --version
4. バージョン ウェアハウスを作成します:
mkdir -p /data/svn/project svnadmin create /data/svn/project/
/data/svn/project フォルダーを確認し、 conf、db、format、hooks、locks、README.txt およびその他のファイルが見つかり、SVN ライブラリが確立されていることを示します。
5. 権限を設定します
cd /data/svn/project/conf/ //进入配置目录 vim svnserve.conf //编辑配置文件,加入下面五行内容 ``` [general] ### The anon-access and auth-access options control access to the`` ### repository for unauthenticated (a.k.a. anonymous) users and ### authenticated users, respectively. ### Valid values are "write", "read", and "none". ### Setting the value to "none" prohibits both reading and writing; ### "read" allows read-only access, and "write" allows complete ### read/write access to the repository. ### The sample settings below are the defaults and specify that anonymous ### users have read-only access to the repository, while authenticated ### users have read and write access to the repository. # anon-access = read # auth-access = write anon-access = none auth-access = write password-db = passwd authz-db = authz realm = /data/svn/project ```
6. パスワード ファイルを編集し、ユーザー テスト パスワード 123456 を追加します:
vim passwd ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret test = 123456
7. 権限ファイルを編集し、ユーザー テスト権限を追加します
vim authz [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe [/] test = rw
8. ファイアウォールの構成
vi /etc/sysconfig/iptables
参加:
``` -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -dport 3690 -j ACCEPT ```
ファイアウォールの再起動: service iptables restart
9. SVN の起動: svnserve -d -r / data/svn/
ポートのステータスを確認します: netstat -ln | grep 3690
2. ファイルを PHP に同期するフックを svn に追加します。テスト環境 (ここでの PHP プロジェクト ディレクトリは /var/www/html/project/)
1. リポジトリ下のフック ディレクトリに入ります
cd /data/svn/project/hooks/
2. コミット後のコピー.tmpl を post-commit
cp post-commit.tmpl post-commit
3. post-commit の実行権限を与える
chmod 0777 post-commit
4. post-commit を編集し、行 #mailer.py... をコメント アウトし、コーディングの問題については、次の 4 行を参照してください。エラーがある場合は、同期が成功しない可能性があります。オプションは、en_US.UTF-8、zh_CN.UTF-8、および zh_CN.GB2312 です。1 つずつ試すことができます。
vi post-commit #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf export.GB2312 SVN=/usr/bin/svn STATIC_DIR=/var/www/html/project/ ${SVN} update ${STATIC_DIR} --username "test" --password "123456"
5. 送信する前に、指定されたディレクトリへのチェックアウト コードを実行してください
svn checkout svn://localhost/project /var/www/html/project/
注: エラーが続く場合: 「接続側が一定期間経過しても正しく応答しなかったため、または接続された側が正しく応答しなかったため、ホストが応答しませんでした。接続試行に失敗しました。」ネットワーク ポートのオープン設定に問題がある可能性があります。ポートの問題のため、チェックアウト プロジェクトは成功しません。Alibaba Cloud に入って、ポート 3690 があるかどうかを確認できます。ポート 3690 がない場合は、セキュリティ グループ ルールを追加します。
その他の centos 技術記事については、centos チュートリアル 列をご覧ください。
以上がcentos 上で SVN を構築し、プロジェクトを PHP プロジェクトのシステム ルート ディレクトリに同期する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。