1

最近、403エラーの問題が発生しましたが、こちらの回答で解決されました

ただし、ホーム サーバーを指す 2 つのドメインがあります。問題は、両方ともリポジトリが表示されることです。

リポジトリを表示しますがwww.domain1.com/repos、表示しwww.domain2.com/reposたいだけですwww.domain2.com/repos

これはどのように達成できますか?dav_svn.confからの場所をファイルに追加しようとしました000-defaultが、これは機能しませんでした。また、https を強制したいと考えています。助言がありますか?

/etc/apache2/mods-enabled/dav_svn.conf

<Location /repos>
DAV svn
SVNParentPath /var/svn
SVNListParentPAth on
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>

/etc/apache2/sites-enabled/000-default

<VirtualHost *:80>
        ServerAdmin me@domain.com
        ServerName domain1.com

        DocumentRoot /var/www/domain1.com
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/domain1.com/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/domain1.error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/domain1.access.log combined
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin webmaster@domain2.com
        ServerName domain2.com
        DocumentRoot /var/www/domain2.com
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/domain2.com/>
                Options FollowSymLinks Indexes Multiviews
                AllowOverride none
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>


<VirtualHost *:443>
     ServerAdmin webmaster@domain1.com
     ServerName domain1.com
     DocumentRoot /var/www/domain1.com
     SSLEngine On
     SSLCertificateFile    /etc/apache2/ssl/domain1.com.crt
     SSLCertificateKeyFile /etc/apache2/ssl/domain1.com.key
     SSLProtocol all
    SSLCertificateKeyFile /etc/apache2/ssl/domain1.com.key
     SSLProtocol all
     SSLCipherSuite HIGH:MEDIUM
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin webmaster@domain2.com
    ServerName domain2.com


    <Location repos/>
        DAV svn
        SVNParentPath /var/svn/
        AuthType Basic
        AuthName "Repository of Ancient Knowledge"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
    </Location>


    DocumentRoot /var/www/domain2.com
    SSLEngine On
    SSLCertificateFile    /etc/apache2/ssl/domain2.com.crt
    SSLCertificateKeyFile /etc/apache2/ssl/domain2.com.key
    SSLProtocol all
    SSLCipherSuite HIGH:MEDIUM

</VirtualHost>
4

1 に答える 1

1

1つの仮想ホストにのみSVNを設定する場合は、この仮想ホストのコンテナー内にのみ<Location>コンテナーを追加する必要があります。

これで、mods-enabled / dav_svn.confが「メイン」サイトに追加され、すべてのvirthostが共有されます。

于 2013-01-23T11:07:26.400 に答える