ホームページ >運用・保守 >CentOS >centos 上で SVN を構築し、プロジェクトを PHP プロジェクトのシステム ルート ディレクトリに同期する方法の詳細な説明

centos 上で SVN を構築し、プロジェクトを PHP プロジェクトのシステム ルート ディレクトリに同期する方法の詳細な説明

藏色散人
藏色散人転載
2020-04-29 12:05:521972ブラウズ

次のコラム Centos 入門チュートリアル では、centos 上で SVN を構築し、プロジェクトを PHP プロジェクトのシステム ルート ディレクトリに同期する方法を紹介します。困っている友達を助けてください。

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 サイトの他の関連記事を参照してください。

声明:
この記事はlmlyz.onlineで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。