Kullanıcı Dizinleri (public_html) - Apache HTTP Sunucusu Sürüm 2.2

Apache Server 2.2

Apache HTTP Sunucusu Sürüm 2.2

<-

Kullanıcı Dizinleri (public_html)

Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.

Ç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.

Şuna dikkat edin: Öntanımlı olarak bu yönergelere erişim etkin değildir.Öntanımlı yapılandırma dosyasında

#Include conf/extra/httpd-userdir.conf

satırını açıklama olmaktan çıkarıp etkin hale getirmekle UserDir modülünü kullanıma sokarak ve httpd-userdir.conf dosyasında gerekli değişiklikleri yaparak veya ana yapılandırma dosyasındaki ilgili Directory bölümünün içine uygun yönergeleri yerleştirerek bu yönergelere erişimi etkin kılabilirsiniz.

top
top

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/siteler/*/sayfam

http://example.com/~orhan/dosya.html adresine karşılık gelen dosya yolu /var/siteler/orhan/sayfam/dosya.html olarak çözümlenir.

Çok sayıda dizin veya dizin yolu belirtmek de mümkündür.

UserDir public_html /var/siteler

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.

top

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.

top

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 mustafa

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.

top

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

top

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.