GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ubuntu – Wie konfiguriere ich Berechtigungen, um Gedit, Apache und eine Ide zusammen spielen zu lassen?

Ich verwende den einfachen Ubuntu Desktop 11.04 und habe meinen Lampenstapel mit dem Lampenserver installiert. Ich versuche, Netbeans als meine IDE zu verwenden.

Derzeit werden alle virtuellen Hosts von /var/www/vhostname ausgeführt – aber da ich keine Gruppen oder Berechtigungen konfiguriert habe, habe ich keine Schreibberechtigung, wenn ich versuche, eine der Dateien über Netbeans zu öffnen.

Wie kann ich Berechtigungen richtig einrichten (oder Apache oder Netbeans konfigurieren), damit:

  • Dateien, die von einem PHP-Skript erstellt wurden, können rw sein von Netbeans
  • Dateien, die von Netbeans erstellt wurden, können rw sein von Apache

Ich habe versucht zu chown alles an meinen Benutzer/meine Gruppe, der/die Netbeans Schreibrechte gegeben hat, aber dann hatte Apache keine Schreibrechte.

Hinweis:Dies ist nur für eine Entwicklungsmaschine gedacht – wird nicht in der Produktion verwendet, und ich bin der einzige Benutzer dieser Box.

AKTUALISIEREN

Früher habe ich die Methode in der Antwort verwendet, die ich als akzeptiert markiert habe, aber heutzutage mache ich etwas viel Einfacheres:

  1. Ich habe Apache so eingestellt, dass er als mein Benutzer und meine Gruppe ausgeführt wird (dies geschieht entweder in httpd.conf, apache2.conf oder envvars, abhängig von Ihrer Distribution)
  2. Ich chown /var/www zu meinem Benutzer und meiner Gruppe

Voila, Apache hat Lese-/Schreibzugriff, und ich habe Lese-/Schreibzugriff, während ich an Projekten arbeite.

Akzeptierte Antwort:

Was ich empfehle, wurde größtenteils in dieser Ask Ubuntu-Frage beschrieben.

Für diesen speziellen Fall würde ich suPHP installieren, was es Ihnen kurz gesagt ermöglicht, PHP-Skripte als Ihr Benutzer unter Apache auszuführen.

Indem Sie Folgendes tun:

sudo chown -R youruser:youruser /var/www
find /var/www/ -type d -exec chmod 0755 {} \;
find /var/www/ -type f -exec chmod 0644 {} \;

Installieren Sie suphp-common und libapache2-mod-suphp aus diesem PPA (Was sind PPAs und wie verwende ich sie?)

Deaktivieren Sie mod_php5 und aktivieren Sie mod_suphp

sudo a2enmod suphp
sudo a2dismod php5

Aktualisieren Sie Ihre virtuellen Hosts so, dass sie unten diese Zeile enthalten:

suPHP_UserGroup youruser youruser

Ersetzen von youruser mit dem Benutzer, mit dem Sie Dateien auf dem Server bearbeiten. Starten Sie Apache neu.

Von diesem Punkt an führt Apache alle PHP-Skripte aus, die Ihr Benutzer sind, was bedeutet, dass sie Ihrem Benutzer/Ihrer Gruppe gehören können und es keine Notwendigkeit gibt, verrückte Berechtigungen wie 777 zu verwenden. Da alles als Ihr Benutzer ausgeführt wird, werden alle Dateien, die von der php Skripte werden auch Ihrem Benutzer gehören! Es gibt viele andere coole Dinge, die Sie mit suPHP machen können; Wie es sich anhört, ist dies jedoch alles, was Sie brauchen, um loszulegen.

Siehe auch:Ubuntu – Probleme beim Herunterladen der Paketliste aufgrund eines „Hash-Summen-Nichtübereinstimmungs“-Fehlers?
Ubuntu
  1. So installieren Sie Apache ZooKeeper unter Ubuntu

  2. So installieren und konfigurieren Sie Nextcloud mit Apache unter Ubuntu 18.04

  3. So installieren und sichern Sie phpMyAdmin mit Apache unter Ubuntu 18.04

  4. So installieren und konfigurieren Sie Squid 3 unter Ubuntu

  5. So installieren und konfigurieren Sie den Apache-Webserver unter Ubuntu 13.10

So installieren und konfigurieren Sie Apache Tomcat 9 unter Ubuntu 20.04 LTS

So installieren und konfigurieren Sie Apache Hadoop unter Ubuntu 20.04

So installieren und konfigurieren Sie das mod_pagespeed-Modul mit Apache unter Ubuntu 20.04 LTS

So installieren und konfigurieren Sie Apache Kafka unter Ubuntu 20.04

So installieren und konfigurieren Sie Apache Spark unter Ubuntu 20.04

So installieren und konfigurieren Sie den Apache-Webserver unter Ubuntu