Apache HTTP Sunucusu Sürüm 2.4
Kullanıcı Dizinleri (public_html)
Çok kullanıcılı sistemlerde, UserDir
yönergesi ile her kullanıcının kendi ev dizininde
bir sitesi olması sağlanabilir.
http://example.com/~kullanıcı/
adresinin ziyaretçileri
"kullanıcı" isimli kullanıcının ev dizininin içeriğini değil, UserDir
yönergesinde belirtilen alt
dizinin içeriğini görürler.
Öntanımlı olarak bu dizinlere erişimin etkin olmadığını unutmayınız.
UserDir
yönergesini
kullanırken conf/httpd.conf
öntanımlı yapılandırma
dosyasındaki
#Include conf/extra/httpd-userdir.conf
satırını etkin hale getirip, gerekiyorsa httpd-userdir.conf
dosyasını da düzenleyerek veya ana yapılandırma dosyasında bir
<Directory>
bloğu içine
uygun yönergeleri yerleştirerek bu dizinlere erişimi etkin hale
getirebilirsiniz.
Kullanıcı sayfaları dizinleri
İlgili Modüller | İlgili Yönergeler |
---|---|
UserDir
ile dosya yolunun belirtilmesi
UserDir
yönergesinde
kullanıcı sayfalarının yükleneceği dizin belirtilir. Bu yönergeye değeri
çeşitli biçimlerde atanabilir.
Başında bölü çizgisi bulunmayan bir dosya yolu belirtilmişse, kullanıcının ev dizinine göreli bir dizin belirtildiği varsayılır. Yapılandırmada şöyle bir satır varsa:
UserDir public_html
http://example.com/~orhan/dosya.html
adresine karşılık
gelen dosya yolu /home/orhan/public_html/dosya.html
olarak
çözümlenir.
Eğer başında bölü çizgisi bulunan bir dosya yolu belirtilirse, kullanıcı sayfalarının bu dizinin altında kullanıcı ismini taşıyan dizinlerde bulunacağı varsayılır. Yapılandırmada şöyle bir satır varsa:
UserDir /var/html
http://example.com/~orhan/dosya.html
adresine karşılık
gelen dosya yolu /var/html/orhan/dosya.html
olarak
çözümlenir.
Eğer belirtilen dosya yolu bir yıldız imi (*) içeriyorsa yıldız iminin yerine kullanıcı ismi yerleştirilerek elde edilen dosya yolu kullanılır. Yapılandırmada şöyle bir satır varsa:
UserDir /var/html/*/sayfam
http://example.com/~orhan/dosya.html
adresine karşılık
gelen dosya yolu /var/html/orhan/sayfam/dosya.html
olarak çözümlenir.
Çok sayıda dizin veya dizin yolu belirtmek de mümkündür.
UserDir public_html /var/html
http://example.com/~orhan/dosya.html
adresini Apache önce
/home/orhan/public_html/dosya.html
olarak arayacak,
bulamazsa /var/siteler/orhan/sayfam/dosya.html
olarak
arayacak, bulduğunda istenen dosyayı sunacaktır.
Harici adreslere yönlendirme
UserDir
yönergesi
kullanıcı dizini isteklerini harici adreslere yönlendirmek için de
kullanılabilir.
UserDir http://example.org/users/*/
Bu yapılandırmaya göre http://example.com/~bob/abc.html
için yapılan bir istek http://example.org/users/bob/abc.html
adresine yönlendirilecektir.
Bu özelliği kullanacak kullanıcıların sınırlandırılması
UserDir
yönergesinin
açıklamasında belirtilen sözdizimini kullanarak bu işlevselliği bazı
kullanıcılara yasaklayabilirsiniz:
UserDir disabled root ahmet veli
Bu yapılandırma ile disabled
deyiminin bulunduğu
satırdaki kullanıcılar dışında kalan bütün kullanıcılar için bu özellik
etkin olacaktır. Benzer şekilde, aşağıdaki yapılandırma ile
işlevselliğin belli kullanıcılar dışında kullanılmamasını da
sağlayabilirsiniz:
UserDir disabled UserDir enabled orhan yasar
Daha fazla örnek için UserDir
yönergesinin açıklamasına bakabilirsiniz.
Her kullanıcıya bir CGI dizini tahsis etmek
Her kullanıcıya kendine ait bir CGI dizini vermek isterseniz, bir
<Directory>
yönergesi
ile kullanıcının ev dizinindeki belli bir dizini CGI-etkin duruma
getirebilirsiniz.
<Directory "/home/*/public_html/cgi-bin/"> Options ExecCGI SetHandler cgi-script </Directory>
UserDir
yönergesinde
public_html
belirtildiği varsayımıyla
mesela.cgi
betiği bu dizinden şöyle bir adresle
yüklenebilir:
http://example.com/~orhan/cgi-bin/mesela.cgi
Kullanıcıların yapılandırmayı değiştirmesine izin vermek
Kullanıcıların kendilerine ayrılan bölge içinde sunucu
yapılandırmasını değiştirebilmelerine izin vermek isterseniz,
.htaccess
dosyalarını kullanmalarına izin vermeniz
gerekir. Kullanıcının değiştirmesine izin vereceğiniz yönerge türlerini
AllowOverride
yönergesinde
belirtmeyi ihmal etmeyin. .htaccess
dosyalarının kullanımı
ile ilgili daha ayrıntılı bilgi için .htaccess
öğreticisine bakınız.