96

Subversion サーバーとして機能させたい Ubuntu を実行しているラップトップがあります。私自身がローカルでコミットするためと、他の人がリモートでコミットするための両方です。これを機能させるために必要な手順は何ですか? 次の手順を含めてください。

  • Apache と必要なモジュールを取得して構成します (SVN サーバーを作成する方法が他にもあることは知っていますが、Apache 固有のものを希望します)。
  • サーバーに安全にアクセスする方法を構成する (SSH/HTTPS)
  • 許可されたユーザーのセットを構成します (つまり、コミットするには許可が必要ですが、閲覧は自由です)
  • 最初のコミット (一種の「Hello world」) でセットアップを検証します。

これらの手順では、コマンド ラインまたは GUI アプリケーションの指示を任意に組み合わせることができます。可能であれば、指示が特定のディストリビューションまたはバージョンに固有である場所と、ユーザーが選択した特定のツールを代わりに使用できる場所 (たとえば、viの代わりにnano ) に注意してください。

4

5 に答える 5

146

ラップトップを Subversion サーバーにするために行った手順。ここで の 彼 の 指示 について は ,クレジット はAlephZarroに 送ら れなければ なり ませ ん. 現在、動作中の SVN サーバーがあります (現在、ローカルでのみテストされています)。

特定のセットアップ: Kubuntu 8.04 Hardy Heron

このガイドに従うための要件:

  • apt-get パッケージ マネージャー プログラム
  • テキストエディタ (kate を使用)
  • sudo アクセス権

1: Apache HTTP サーバーと必要なモジュールをインストールします。

sudo apt-get install libapache2-svn apache2

次の追加パッケージがインストールされます。

apache2-mpm-worker apache2-utils apache2.2-common

2: SSL を有効にする

sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf

以下がファイルに含まれていることを追加または確認します。

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

3: SSL 証明書を生成します。

sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

4: 仮想ホストを作成する

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver

変更 (ports.conf 内):

"NameVirtualHost *" to "NameVirtualHost *:443"

および(svnserverで)

<VirtualHost *> to <VirtualHost *:443>

ServerAdmin の下に追加します (ファイル svnserver にもあります):

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM

5: サイトを有効にします。

sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart

警告を回避するには:

sudo kate /etc/apache2/apache2.conf

追加:

"ServerName $your_server_name"

6: リポジトリの追加: 次のセットアップでは、複数のリポジトリをホストすることを想定しています。これを実行して、最初のリポジトリを作成します。

sudo mkdir /var/svn

REPOS=myFirstRepo
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS

6.a. より多くのリポジトリの場合: ステップ 6 を再度実行し (REPOS の値を変更)、ステップをスキップします。mkdir /var/svn

7: 認証済みユーザーを追加する

sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name

8: WebDAV と SVN を有効にして構成します。

sudo kate /etc/apache2/mods-available/dav_svn.conf

追加またはコメント解除:

<Location /svn>
DAV svn

# for multiple repositories - see comments in file
SVNParentPath /var/svn

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>

9: Apache サーバーを再起動します。

sudo /etc/init.d/apache2 restart

10: 検証:

ブラウザを起動しました:

http://localhost/svn/$REPOS
https://localhost/svn/$REPOS

どちらもユーザー名とパスワードが必要でした。コメントを外すと思います:

<LimitExcept GET PROPFIND OPTIONS REPORT>

</LimitExcept>

では/etc/apache2/mods-available/dav_svn.conf、匿名のブラウジングが許可されます。

ブラウザに「Revision 0: /」と表示される

何かをコミットします:

svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”

証明書を受け入れ、パスワードを入力します。コミットした内容を確認してください。

svn co --username $user_name https://localhost/svn/$REPOS

これらの手順に従って(コピー/貼り付けでエラーが発生していないと仮定して)、ラップトップにSVNリポジトリが機能していました。

于 2008-09-13T19:37:23.803 に答える
2

その後、実行する必要がありました(上記の例のコンテキスト内で)

$ sudo chmod g+w /var/svn/$REPOS/db/rep-cache.db

$ sudo chown www-data:www-data /var/svn/$REPOS/db/rep-cache.db

そうしないと、ローカルの変更をコミットするときに 409 エラーが発生し続けました (コミットメントはサーバー側で有効でしたが、ローカルの更新をフォローアップする必要がありました)。

于 2011-03-04T12:14:52.457 に答える
1

Web サーバーにアクセスしたときに 403 禁止が発生する場合は、構成ファイルで指定したものとは異なるホスト名 (つまり、localhost または 127.0.0.1) を使用したことが原因である可能性があります。代わりにhttps://whateveryousetasyourhostnameを押してみてください...

于 2010-07-25T11:49:20.290 に答える
-2

アパッチの場合:

sudo apt-get -yq install apache2

SSH の場合:

sudo apt-get -yq install openssh-server

Subversion の場合:

sudo apt-get -yq install subversion subversion-tools

必要に応じて、次のようにこれらを 1 つのコマンドに組み合わせることができます。

sudo apt-get -yq install apache2 openssh-server subversion subversion-tools

残りは仕方ない…

于 2008-09-13T18:09:01.427 に答える
-2

ターミナルで単一のコマンドを書いてください。

ターミナルを開くには、Ctrl+ Alt+を押しTてから、次のコマンドを入力してください。

$sudo apt-get install subversion
于 2014-11-18T06:26:56.907 に答える