Yanıtlar:
Ben kendimle kullanıcıyı www-datagruba 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 -gkomut 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.confApache ( sudo /etc/init.d/apache2 reload) ' de düzenleyip yeniden yükleyerek bir durum .
apache2.confwww-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.confarar ${APACHE_RUN_USER}ve ${APACHE_RUN_GROUP}. www-dataDoğrudan değil .
yeni bir kullanıcı grubu yarat webdevve www-datakullanı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 ?