AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 408703
Accepted
mulllhausen
mulllhausen
Asked: 2017-12-05 03:40:54 +0800 CST2017-12-05 03:40:54 +0800 CST 2017-12-05 03:40:54 +0800 CST

SVN com erros de caminho de configuração do apache2

  • 772

Acabei de configurar svnem https (com apache2). Posso svn checkoutmultar, mas os commits estão falhando. Posso ver pelos apache2logs que o svnservidor está procurando no lugar errado para encontrar o repositório para fazer o commit. Aqui está meu apache2arquivo 443.example.com.conf:

<IfModule mod_ssl.c>
    <virtualhost *:443>
    # requests to https://example.com land here
    ServerName example.com
    DocumentRoot /home/me/svn-repos

    # global properties for all directories in this site
    <Location />
        # do not use .htaccess files
        allowoverride none
        #DirectoryIndex index.html
        #require all granted                                                                                    

        DAV svn
        SVNParentPath /home/me/svn-repos
        AuthType Basic
        AuthName "svn repositories"
        AuthUserFile blah.passwd
        #<LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
        #</LimitExcept>
    </Location>

    SSLEngine On
    SSLCertificateFile blah
    SSLCertificateKeyFile blah

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>

    ErrorDocument 400 /index.html
    ErrorDocument 401 /index.html
    # lots more ErrorDocument entries

    </virtualhost>
</IfModule>

Observe que todos os meus svnrepositórios estão em diretórios em /home/me/svn-repos(por exemplo /home/me/svn-repos/repo1, /home/me/svn-repos/repo2, etc)

Então eu verifico uma nova cópia local de um dos meus repositórios:

$ cd /tmp
$ svn co --username me https://example.com/repo1 repo1
Authentication realm: <https://example.com:443> svn repositories
Password for 'me': ***

A repo1/file1.txt
Checked out revision 1.

Até agora tudo bem. Mas quando eu tento e cometo:

$ touch file2.txt
$ svn add file2.txt
A     file2.txt
$ svn ci file2.txt -m added
Authentication realm: <https://example.com:443> svn repositories
Password for 'me': ***

Adding         file2.txt
svn: E175009: Commit failed (details follow):
svn: E175009: The XML response contains invalid XML
svn: E130003: Malformed XML: no element found

E posso ver no apache2log de erros que o svnservidor está procurando o repositório no lugar errado:

$ sudo tail -4 /var/log/apache2/error.log
[Sat Dec 02 20:23:29.626227 2017] [:error] [pid 123] (20014)Internal error (specific information not available): [client x.x.x.x:x] Can't open file '/home/me/svn-repos/index.html/format': Not a directory
[Sat Dec 02 20:23:29.626264 2017] [dav:error] [pid 123] [client x.x.x.x:x] Could not fetch resource information.  [404, #0]
[Sat Dec 02 20:23:29.626272 2017] [dav:error] [pid 123] [client x.x.x.x:x] Could not find the requested SVN filesystem  [404, #20]
[Sat Dec 02 20:23:29.626277 2017] [dav:error] [pid 123] [client x.x.x.x:x] Could not find the requested SVN filesystem  [404, #20]

O arquivo que está procurando é /home/me/svn-repos/repo1/format, porém não está anexando o caminho correto para poder encontrar o arquivo. Suspeito que isso signifique que preciso colocar algo em meu apache2arquivo 443.example.com.conf, mas não consigo imaginar o quê.

Atualizar

Fiz a seguinte alteração no arquivo 443.example.com.conf:

# ErrorDocument 404 /index.html
ErrorDocument 404 /indexyz.html

E agora, quando tento fazer o commit, a mensagem de erro mudou para esta:

[Sat Dec 02 20:39:00.153942 2017] [:error] [pid 123] (20014)Internal error (specific information not available): [client 192.168.1.177:50228] Can't open file '/home/me/svn-repos/indexyz.html/format': No such file or directory
[Sat Dec 02 20:39:00.153979 2017] [dav:error] [pid 123] [client x.x.x.x:x] Could not fetch resource information.  [404, #0]
[Sat Dec 02 20:39:00.153987 2017] [dav:error] [pid 123] [client x.x.x.x:x] Could not find the requested SVN filesystem  [404, #2]
[Sat Dec 02 20:39:00.153992 2017] [dav:error] [pid 123] [client x.x.x.x:x] Could not find the requested SVN filesystem  [404, #2]

Mas isso ainda não ajuda muito.

apache-httpd subversion
  • 2 2 respostas
  • 1588 Views

2 respostas

  • Voted
  1. Lazy Badger
    2017-12-05T04:53:43+08:002017-12-05T04:53:43+08:00
    1. Você cometeu todos os erros possíveis (3/3)
    2. Você não leu o livro SVN

    Fixar:

    • Os repositórios não devem estar dentro da árvore http
    • A localização do SVN não deve estar na raiz do http-host
    • A localização do SVN não deve estar no caminho físico dentro do http-host, apenas no caminho lógico
    • 1
  2. Best Answer
    mulllhausen
    2017-12-07T03:14:11+08:002017-12-07T03:14:11+08:00

    Finalmente consegui fazê-lo funcionar. No final, não tinha nada a ver com a raiz do documento, eram as declarações ErrorDocument - eu só precisava alterá-las de /index.htmlpara default. Minha configuração final fica assim:

    <IfModule mod_ssl.c>
        <virtualhost *:443>
            # requests to https://example.com land here
            ServerName example.com
            DocumentRoot /home/me/svn-repos
    
            # global properties for all directories in this site
            <Location />
                # do not use .htaccess files
                allowoverride none
    
                DAV svn
                SVNParentPath /home/me/svn-repos
                AuthType Basic
                AuthName "svn repositories"
                AuthUserFile blah.passwd
                Require valid-user
            </Location>
    
            # http://svnbook.red-bean.com/en/1.7/svn.serverconfig.httpd.html
            CustomLog ${APACHE_LOG_DIR}/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION
            ErrorLog ${APACHE_LOG_DIR}/error.log
    
            SSLEngine On
            SSLCertificateFile fullchain.pem
            SSLCertificateKeyFile privkey.pem
    
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                    SSLOptions +StdEnvVars
            </FilesMatch>
    
            ErrorDocument 400 default
            ErrorDocument 401 default
            ErrorDocument 402 default
            ErrorDocument 403 default
            ErrorDocument 404 default
            ErrorDocument 405 default
            ErrorDocument 406 default
            ErrorDocument 407 default
            ErrorDocument 408 default
            ErrorDocument 409 default
            ErrorDocument 410 default
            ErrorDocument 411 default
            ErrorDocument 412 default
            ErrorDocument 413 default
            ErrorDocument 414 default
            ErrorDocument 415 default
            ErrorDocument 416 default
            ErrorDocument 417 default
            #ErrorDocument 418 default
            ErrorDocument 421 default
            ErrorDocument 422 default
            ErrorDocument 423 default
            ErrorDocument 424 default
            ErrorDocument 426 default
            ErrorDocument 428 default
            ErrorDocument 429 default
            ErrorDocument 431 default
            ErrorDocument 451 default
            ErrorDocument 500 default
            ErrorDocument 501 default
            ErrorDocument 502 default
            ErrorDocument 503 default
            ErrorDocument 504 default
            ErrorDocument 505 default
            ErrorDocument 506 default
            ErrorDocument 507 default
            ErrorDocument 508 default
            ErrorDocument 510 default
            ErrorDocument 511 default
        </virtualhost>
    </IfModule> 
    
    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve