Ben zaten http.itk ile her web sayfasını farklı bir kullanıcı açarak çalıştırıyorum. Normalde ben /tmp dizinini ayrı bir disk bölümü olarak ayarlayıp kullanıyordum (nodev, nosuid v.s ayarları için) ve tüm sistem için /tmp dizini şeklinde kullanıyordum. Ancak vhosts'lar için tmp dizinlerinin yukarıdaki gibi kullanılması tavsiye edilmiş, ben de ona uymaya çalıştım. log'lardan baktığımda aşağıdaki mesajlarla karşılaştım ki burada ilk hatada /tmp dizini şeklinde adreslenmiş.
PHP Warning: Unknown: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/html/orneksite/tmp:/var/www/html/orneksite/httpdocs) in Unknown on line 0, referer: http://orneksite.net/wp-admin/theme-install.php?upload PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0, referer: http://orneksite.net/wp-admin/theme-install.php?upload Yazma testini yaptığımda o sitenin kullanıcısı ile bağlanıp dosya oluşturabildiğimi gördüm (hem tmp dizinine hem de httpdocs'un içerisine) 29 Mayıs 2016 16:31 tarihinde Doruk Fisek <[email protected]> yazdı: > Sun, 29 May 2016 14:54:14 +0300, yaşar tunçez <[email protected]> : > > > Birden fazla sitenin yayınlandığı bir sunucuda wordpress ile yapılmış > > sayfalar var. Güvenlik açısından tmp dizinlerini de ayırarak her bir > > web sitesi için (yapılandırma dosyalarında) aşağıdaki gibi kayıtlar > > girmeyi düşündüm: > > tmp dizinlerini ayırmanızın teknik açıdan getireceği bir güvenlik yok. > Linux'un /tmp dizini, zaten kullanıcıların birbirlerinin dosyalarına > müdahale edemeyeceği bir alan. > > Amacınız bu şekilde güvenlik arttırmaksa, PHP-FPM gibi bir uygulama > sunucusu kullanıp, her bir site için uygulama sunucusunu ayrı bir > kullanıcı ile çalıştırabilirsiniz. Birbirlerinin dosyalarına dosya > sistemi düzeyinde de ulaşamazlar. Ama performans açısından bir düşüş > yaşarsınız, bir site için kullanılmayan bir uygulama sunucusu süreci > diğer bir site için kullanılamaz. > > > php_admin_value upload_tmp_dir /var/www/html/orneksite/tmp > > php_value session.save_path /var/www/html/orneksite/tmp > > php_admin_value open_basedir > > /var/www/html/orneksite/tmp:/var/www/html/orneksite/httpdocs > > Ancak bu değişiklikten sonra wordpress'te tema yüklemeye çalıştığımda > > geçici klasör kayıp şeklinde hata veriyor. > > Ama benim merak ettiğim yukarıdaki çözüm neden olmadı? burada da tmp > > dizinlerini tanımladım aslında. > > Tanımladığınız tmp dizinlerine web (uygulama) sunucusunun okuma/yazma > yetkisi yoktur. O yüzden hata veriyordur. PHP log'unda da bu hatanın > yazdığını tahmin ediyorum. En kolay konotrlü, web (uygulama) sunucusunun > kullanıcısına kabukta geçiş yapıp, o kullanıcı olarak dizinde bir dosya > oluşturmaya çalışarak yapabilirsiniz. > > Doruk > > -- > Özgür Yazılım A.Ş. ~ # > http://www.ozguryazilim.com.tr > _______________________________________________ > Linux E-Posta Listesi > [email protected] > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen > e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 > dakika içinde üyeliğinizi sonlandırabilirsiniz. > https://liste.linux.org.tr/mailman/listinfo/linux >
_______________________________________________ Linux E-Posta Listesi [email protected] Liste kurallari: http://liste.linux.org.tr/kurallar.php Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz. https://liste.linux.org.tr/mailman/listinfo/linux
