Portál AbcLinuxu, 10. května 2025 22:18

Dotaz: Commitování souborů .htaccess, .htpasswd a dalších .ht*

26.2.2013 19:35 Jakub Škorpík
Commitování souborů .htaccess, .htpasswd a dalších .ht*
Přečteno: 376×
Odpovědět | Admin
Zdravím,

na VPS si rozjíždím vlastní web server. Mám tam zprovozněný Apache, před kterým mi beží jako front end ještě server NginX. Tohle mi funguje bez problémů.

Potřebuji na serveru mít zprovozněné SVN (Subversion od Apache). To jsem nainstaloval, nastavil a také úspěšně funguje (jako klienta používám TortoiseSVN pro Windows).

Root webu je ve /var/www a SVN repozitáře jsou ve /var/svn-repos.

Problém nastane, když se snažím přes SVN commitovat nějaký soubor začínající na ".ht" (.htaccess, .htpasswd atd.), zahlásí to chybu, že byl odepřen přístup k těmto souborům a commit se nepovede. Pro ostatní soubory mi to funguje.

Na internetu (http://bit.ly/XE0zvA) jsem našel, že problém způsobuje direktiva v souboru /etc/apache2/apache2.conf
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>
V souboru apache2.conf jsem ji tedy zakomentoval. Potom jsem si otevřel vhost soubor /etc/apache2/sites-available/IP.IP.IP.IP (IP = IP adresa mé VPSky), který jsem upravil takto:
<VirtualHost 127.0.0.1:8080>
    ServerAdmin webmaster@localhost
    ServerName IP.IP.IP.IP

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>

    <Directory /var/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
        <Files ~ "^\.ht">
            Order allow,deny
            Deny from all
            Satisfy All
        </Files>
    </Directory>

    <Directory /var/svn-repos>
        AllowOverride All
        Order allow,deny
        allow from all
        <Files ~ "^\.ht">
            Order allow,deny
            Allow from all
            Satisfy All
        </Files>
    </Directory>

... (nastavení logů apod.)

    <Location /svn>
        DAV svn
        SVNParentPath /var/svn-repos
        AuthType Basic
        AuthName "Subversion Repositories"
        AuthUserFile /var/svn-repos/dav_svn.passwd
        Require valid-user
    </Location>
</VirtualHost>
Restartoval jsem Apache a stejně mi commit .htaccess nefunguje. Zkusil jsem dát i do souboru apache2.conf do direktivy <Files> přímo Allow from all a také to nefungovalo.

Netuší tu někdo, co bych mohl dělat špatně? Hledal jsem všude možně, ale jediné řešení, které jsem našel, je toto a to mi nefunguje.

Předem díky moc dobré duši, která mému dotazu věnuje chvilku
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Bedňa avatar 27.2.2013 13:03 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Odpovědět | | Sbalit | Link | Blokovat | Admin
Akú máš verziu Subversion?
KERNEL ULTRAS video channel >>>
27.2.2013 13:11 Jakub Škorpík
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Mám Subversion 1.6.12 (r955767), verze TortoiseSVN je 1.7.11.23600. Na serveru mám Debian, instaloval jsem to přes "apt-get install subversion libapache2-svn".
Bedňa avatar 27.2.2013 13:55 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Ja som narazil na odkaz kde sa to riešilo a odporúčalo sa upgradovať na 1.6.15 a vyššiu verziu, tá tvoja je stará dva roky.
KERNEL ULTRAS video channel >>>
27.2.2013 14:12 Jakub Škorpík
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Tak jsem to teď upgradoval na verzi 1.7.8 (r1419691), ale chyba je pořád stejná, viz sreen. Pro ostatní soubory to jede v pořádku.
27.2.2013 14:35 Kit
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Máš tam obráceně lomítka.
27.2.2013 14:38 Jakub Škorpík
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Ten screen to je jen výstup toho klienta TortoiseSVN ve Windows. Já pouze kliknu pravým tlačítkem na složku a zvolím "Commit", sám nikde žádný lomítka nepíšu. Pro ostatní soubory to ale funguje v pořádku, takže lomítky to není.
Bedňa avatar 27.2.2013 14:50 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Pozri čo je v logu Apache.
KERNEL ULTRAS video channel >>>
27.2.2013 15:03 Jakub Škorpík
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Spustil jsem commit. Do error.log nepřibylo nic a do access.log přibyly tyto řádky:
127.0.0.1 - - [27/Feb/2013:15:00:09 +0100] "OPTIONS /svn/project_henry HTTP/1.0" 401 640 "-" "SVN/1.7.8/TortoiseSVN-1.7.11.23600 neon/0.29.6"
127.0.0.1 - jakub.skorpik [27/Feb/2013:15:00:09 +0100] "OPTIONS /svn/project_henry HTTP/1.0" 200 1348 "-" "SVN/1.7.8/TortoiseSVN-1.7.11.23600 neon/0.29.6"
127.0.0.1 - jakub.skorpik [27/Feb/2013:15:00:09 +0100] "POST /svn/project_henry/!svn/me HTTP/1.0" 201 176 "-" "SVN/1.7.8/TortoiseSVN-1.7.11.23600 neon/0.29.6"
127.0.0.1 - jakub.skorpik [27/Feb/2013:15:00:09 +0100] "PROPPATCH /svn/project_henry/!svn/txn/6-t HTTP/1.0" 207 469 "-" "SVN/1.7.8/TortoiseSVN-1.7.11.23600 neon/0.29.6"
127.0.0.1 - jakub.skorpik [27/Feb/2013:15:00:09 +0100] "DELETE /svn/project_henry/!svn/txn/6-t HTTP/1.0" 204 160 "-" "SVN/1.7.8/TortoiseSVN-1.7.11.23600 neon/0.29.6"
Pak tam ještě vidím other_vhost_access.log, ale ten je prázdný.

27.2.2013 20:37 Sten
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Tady žádná chyba není, naopak to říká, že se commit nahrál (POST … 201). Není tam nějaký post-commit hook, který to zablokuje?
27.2.2013 21:05 Jakub Škorpík
Rozbalit Rozbalit vše Re: Commitování souborů .htaccess, .htpasswd a dalších .ht*
Hook jsem jsem ještě žádný nenastavoval, projistotu jsem kouknul do souboru s post-commit hooky a žádný tam není.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.