Antworten:
Ich selbst würde den Benutzer der www-data
Gruppe hinzufügen mit ...
sudo adduser {username} www-data
Einfach und effektiv. Kein Durcheinander mit Konfigurationsdateien oder Berechtigungen.
Bearbeiten Sie die folgende Datei als root: / etc / apache2 / envvars
mit dem Befehl:
sudo nano /etc/apache2/envvars
Ändern Sie den Benutzer und die Gruppe in sich selbst, wenn es nur einen Benutzer gibt und Sie nie wieder Probleme mit Berechtigungen haben.
IE, wenn Sie sich nur als Benutzer 'big_dog' anmelden und den Server ausführen:
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
Ich bin mir sicher, dass Sie diesen Benutzer in den aktuellen Benutzer ändern können. Installieren Sie dann user_dir. Sie haben alle Web-Sites, über die Sie die volle Kontrolle haben (sofern Sie dies nicht ändern).
Starten Sie den Server neu (falls Sie sich nicht sicher sind, starten Sie ihn einfach neu oder starten Sie ihn neu) und Sie können loslegen.
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)
gab die Benutzer-ID an und verwendete sie in ähnlicher Weise id -g
für die Gruppe im Skript. Am Ende rief ich Apache zum Ausführen auf.
warum würdest du das tun? Ich hatte in der Vergangenheit Probleme mit dieser Dauerwelle, aber dies ist mein Entwicklungsprozess von heute:
sudo apt-get install lamp-server^
Proc aus, um die Lampe hochzufahrenmach sym link zu meinem home dir wo projekte so sind:
ln -s /home/user/html /var/www/html
mache sym link zur hosts config datei
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
das ist es :)
Es funktioniert wie vorgesehen, keine Probleme mit Benutzerrechten oder Ähnlichem mit dem Apache-Server, für MySQL habe ich etwas mehr Zeit.
hth, Prost
Wenn Sie das Problem umgehen, können Sie feststellen, wo der Benutzer für Apache festgelegt ist, indem Sie Folgendes ausführen:
grep www- /etc/apache2/apache2.conf
Dann müssen diese Instanzen in /etc/apache2/apache2.conf
Apache ( sudo /etc/init.d/apache2 reload
) bearbeitet und neu geladen werden .
apache2.conf
enthält www-
für mich nicht
grep -HR "www-" /etc/apache2/
. Wenn Sie bereits wissen, dass es sich um eine apache2.conf-Datei handelt, bearbeiten Sie diese Datei einfach. In meinem Fall war es nicht da, aber in / etc / apache2 / envvars, wie Erics Antwort zeigt.
apache.conf
sucht ${APACHE_RUN_USER}
und ${APACHE_RUN_GROUP}
. Nicht www-data
direkt.
Erstellen Sie eine neue Benutzergruppe webdev
und fügen Sie den www-data
Benutzer hinzu.
sudo addgroup webdev
sudo adduser www-data webdev
Fügen Sie dann Ihren Benutzer zu dieser Gruppe hinzu und machen Sie sie zur Standardgruppe für Ihren Benutzer.
sudo adduser {your-user} webdev
sudo addgroup webdev
Als letztes müssen Sie sicherstellen, dass die Gruppe webdev über die Rechte rwx für die Dateien verfügt
sudo chmod 775 -R /path/to/project
Jetzt kann nur noch passieren, dass zB für www-data eine neue Protokolldatei erstellt wird und Sie diese nicht rwxen können.
www-data
Gruppe hinzuzufügen , zumal es sich um eine Entwicklungsumgebung handelt?