O magento sahip diyor anlama / var ve / medya en 700 klasörler için ve 600 dosyalar için ama bunu yaparken, benim sitenin belirli bölümlerini keser. Çoğu insanın bu klasörler için hangi izinleri kullandığını görmek istiyorum.
O magento sahip diyor anlama / var ve / medya en 700 klasörler için ve 600 dosyalar için ama bunu yaparken, benim sitenin belirli bölümlerini keser. Çoğu insanın bu klasörler için hangi izinleri kullandığını görmek istiyorum.
Yanıtlar:
700 ve 600 kullanmanın pek fazla sözünü görmedim, ancak bu genellikle iyi bir tavsiyedir. Maalesef, ayarlanan her sunucu farklıdır ve rahatlığa karşı tartılması gerekir (dosyaları güncellemek / düzenlemek için kullanıcı erişimi).
Temel yaklaşım, olabildiğince az vermek ve mümkün olduğu kadar kilitlemektir (700/600 bunun için iyidir). Bu bakımdan, wiki hakkındaki "resmi" tavsiye mümkün olduğu kadar çok koşullara başvurmak istemektedir ve herkes için okuma izinleri önermektedir (bu, sunucudaki herhangi bir tehlikeye atılmış diğer hizmetin daha sonra örneğin app / etc / local komutunu okuyabileceği anlamına gelir. db yapılandırmanızla birlikte xml).
Sizin durumunuzda şu anda dosyalar, web sunucusu / php işleminizin altında çalıştığından farklı bir kullanıcıya aittir. Dosyaların sahipliğini web sunucusuna değiştirmek, orijinal sorununuzu çözmelidir.
Lütfen, 700/600 kullanmanın ve dosyaları web sunucusuna atamanın normal kullanıcınızın dosyaları düzenleyemeyeceği anlamına geldiğini unutmayın.
Aşağıda hissediyorum rahatlık vs kilitlemek için iyi bir uzlaşmadır. Tüm dosyalar kullanıcıya aittir: web sunucusu grubu
var ve medya 770/660
Sunucu ve kullanıcı, var ve medya klasörlerinden (oturum / önbellek / görüntüler) okuyabilir ve yazabilir.
geri kalan 750/640
Kullanıcınız kodu düzenleyebilir / güncelleyebilir.
Web sunucusu yürütme / görüntüleme için dosyaları okuyabilir.
Genel olarak tüm dosyalar olmalı 644
ve tüm klasörleri olmalı 755
ve web sunucu altında çalışan kullanıcının sahip olmalıdır . mage
Yürütülebilir verilmelidir 550
yürütülmesine izin vermek için izinleri.
Bu kabuk betiği, Mage kökünüzden çalıştırıldığında bazı şeyleri düzeltmelidir:
#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage
Kaynak: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Phil'in çözümü iyi olsa da, biraz farklı bir yaklaşım kullanıyorum. Dosyaların "php / webserver user" sahibi olmasının yanı sıra ek grup oluşturdum. Genellikle buna dev denir . Ve ben bu gruba dev "php user" ve kendim ve diğer geliştiriciler ekliyorum . Sonra chgrp yapıyorum böylece Magento proje alt ağacındaki tüm dosyalar dev dev'ine sahip olacak . Yeni oluşturulan alt klasörlerin aynı izinleri almasını sağlayan klasörlere + s bitini ekliyorum .
Fix_permissions.sh betiğim ile ortak bir fikir oluşturdum. Kullanmaktan çekinmeyin :) Tüm Magento projenizi inceleyen iyi izinlerle saklamanıza yardımcı olur.
https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh
Asıl soru var ve medya, "php user" in bu klasörleri okuyabilmesi ve yazabilmesi için gerekli izinlere sahip olmalıdır. Önbellek, oturum dosyaları var altında vb yazabilmeli ve ürün görüntü önbelleğini ve görüntüleri ortam altında yazabilmelidir. Phil'in önerdiği gibi yapın: Bunları "php kullanıcısı" ndan doğrayın veya chgrp yapın ve "php kullanıcısına" rw izin verin.
FPM (CGI) bağlamında "php kullanıcısına" başvurmanın daha doğru olduğunu düşünüyorum. Web sunucusu kullanıcısı PHP çalıştırandan farklı olabilir.
/ var - magento önbellek, oturum vb. verileri yazmak için kullanılır.
/ media - magento ürün görüntüsünü, kategori görüntüsünü (herhangi bir tür görüntü) yükseltmek için kullanın.
Bu yüzden bu iki klasörün okuma + yazma iznini kullanmanız gerekir. Okumak + yürütme izni kullanmak için diğer dosya.
Dosya izni 644'tür. Ssh kullanarak kök dizinde aşağıdaki kodu çalıştırın. Bul
-type f -exec chmod 644 {} \;
Klasör izni 755'tir. Ssh kullanarak kök dizindeki kodu çalıştırın. Bul
-type d -exec chmod 755 {} \;
Var klasör izni 777'dir. Ssh kullanarak kök dizinde aşağıdaki kodu çalıştırın.
chmod -R 777 var
Statik klasör izni 777'dir. Ssh kullanarak kök dizinde aşağıdaki kodu çalıştırın.
chmod -R 777 pub/static
Medya klasörü izni 777'dir. Ssh kullanarak kök dizindeki kodu çalıştırın.
chmod -R 777 pub/media
Buradan: http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php