Apache HTTP Sunucusu Sürüm 2.4
Ç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/apache2.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.
UserDir
ile dosya yolunun belirtilmesiİlgili Modüller | İlgili Yönergeler |
---|---|
UserDir
ile dosya yolunun belirtilmesiUserDir
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.
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.
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 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 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.