- subversion
- apache
Ha az SVN-t web alkalmazások verziókezelésére használjuk, és az éles szerveren lévő fájlokat is verziókezelni akarjuk, akkor egyrészt jól jöhet a tipp, hogyan tegyük ezt leállás nélkül, másrészt belefutunk abba a problémába, hogy a webszerver megjeleníti a .svn könyvtárak tartalmát.
Ez nekünk nem jó, nagyon nem. Ugyanis biztonsági rés keletkezik, az egyébként gondosan felépített pajzson.
El kell tehát magyarázni a webszervernek, hogy a .svn könyvtárakat és azok tartalmát felejtse el, soha ne szolgáljon ki ilyen tartalmat.
Ha Apache kiszolgálót használunk, akkor ezt megtehetjük a .htaccess fájlokban is, de pratikusabb közvetlenül a központi konfigurációs fájlban, a httpd.conf-ban megtenni. Ennek helye linux rendszereken általában a /etc/httpd/conf/httpd.conf, Windows környezetben pedig C:\Program Files\Apache\Apache2\conf\httpd.conf
És a lényeg, hogyan tehetjük ezt meg:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
A beállítás elég egyszerű, különösebb magyarázatot nem igényel. A ~ jelentése, hogy reguláris kifejezéssel mintát fogunk illeszteni az aktuálisan vizsgált útvonalra. A "\.svn" jelentése, hogy minden olyan elérési útra igaz a beállítás, amiben benne van a .svn string. A következő két sor meg annyit mond, hogy tilos kiszolgálni.
Ennyi, remélem hasznos volt.
6 hozzászólás
Ha deploy-nak használod az
Beküldte Richard (ellenő... -
Ha deploy-nak használod az svn up-ot, lehetnek gondok a jogosultságokkal, ui az svn a jogosultságokat nem őrzi meg. Két tipp:
1. umask beállítása, pl. $ umask 0022, de így minden frissített fájl jogai egyformák lesznek;
2. lehet metainfókat adni a fájlokhoz, így a jogokat is el lehet tárolni, és visszaállítani minden update után: http://svn.haxx.se/users/archive-2005-12/0067.shtml
Egyelőre (még) nem
Beküldte EdgarPE -
Egyelőre (még) nem deploy-nak használom az SVN-t, de tervezem. Jó tipp, köszi!