Yanıtlar:
Ben kendimle kullanıcıyı www-data
gruba eklerdim ...
sudo adduser {username} www-data
Basit ve etkili. Config dosyaları veya izinleri ile uğraşmak yok.
Aşağıdaki dosyayı root olarak düzenleyin: / etc / apache2 / envvars
komutu kullanarak:
sudo nano /etc/apache2/envvars
Sadece bir kullanıcı varsa kullanıcıyı ve grubu kendiniz değiştirin ve bir daha asla izin problemleriniz olmayacak.
IE, eğer sadece 'big_dog' kullanıcısı olarak giriş yapıyor ve sunucuyu çalıştırıyorsanız:
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
Heck, bu konuda o kullanıcıyı şu anki kullanıcı olarak değiştirebilirsin. Daha sonra, user_dir'i yükleyin, yalnızca sizin tüm web siteleriniz vardır, bunların tüm kontrolü sizin elinizdedir.
Sunucuyu yeniden başlatın (eğer emin değilseniz, sadece yeniden başlat veya goole) ve gitmek için iyi.
sudo chown big_dog.big_dog /var/lock/apache2
sudo chown big_dog.big_dog -R /var/log/apache2
/etc/apache2/uid.conf
export APACHE_RUN_USER=#$(id -u)
kullanıcı kimliği vermek ve benzer kullanmak id -g
komut grubu için ve sonunda ben çalıştırmak için apache denir.
neden bunu yaptın? Geçmişte bu sorunlara izin veriyorum, ama bu günümüzdeki dev sürecim:
sudo apt-get install lamp-server^
lamba almak için standart proc çalıştırınProjelerin böyle olduğu yerdeki ana dizime link vermek:
ln -s /home/user/html /var/www/html
hosts config dosyasına sym linkini yapabilir
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
bu kadar :)
Beklendiği gibi çalışır, kullanıcı izinleriyle ilgili hiçbir sorun veya apache sunucusuyla benzer bir şey olmaz, mysql için biraz daha uzun işlemim var ..
hı, şerefe
"Bunu yapmalısınız" sorununu ortadan kaldırarak, apache kullanıcısının ayarlandığı yeri bularak bulabilirsiniz:
grep www- /etc/apache2/apache2.conf
O zaman bu örnekleri /etc/apache2/apache2.conf
Apache ( sudo /etc/init.d/apache2 reload
) ' de düzenleyip yeniden yükleyerek bir durum .
apache2.conf
www-
benim için içermiyor
grep -HR "www-" /etc/apache2/
. Apache2.conf dosyasında olduğunu biliyorsanız, o zaman bu dosyayı düzenleyin. Benim durumumda yoktu, ama / etc / apache2 / envvars içinde Eric'in cevabını işaret ediyor.
apache.conf
arar ${APACHE_RUN_USER}
ve ${APACHE_RUN_GROUP}
. www-data
Doğrudan değil .
yeni bir kullanıcı grubu yarat webdev
ve www-data
kullanıcıyı ona ekle .
sudo addgroup webdev
sudo adduser www-data webdev
Sonra devam edin ve kullanıcıyı bu gruba ekleyin ve kullanıcı için varsayılan grup haline getirin.
sudo adduser {your-user} webdev
sudo addgroup webdev
Yapılacak son şey, webdev grubunun dosyalar üzerinde rwx haklarına sahip olduğundan emin olmaktır.
sudo chmod 775 -R /path/to/project
Şimdi gerçekleşebilecek tek şey, örneğin, www-data için yeni bir günlük dosyası oluşturuyor ve bunu rwx yapamıyorsunuz.
www-data
Özellikle bir geliştirme ortamından bahsettiğimizden beri , gruba kendi kullanıcımı eklemeye göre bunun avantajı nedir ?