GNU/Linux >> Znalost Linux >  >> Ubuntu

Ubuntu – Jak nakonfigurovat oprávnění, aby mohli Gedit, Apache a Ide hrát společně?

Používám obyčejný Ubuntu Desktop 11.04 a nainstaloval jsem svůj zásobník lamp pomocí serveru lamp. Snažím se používat Netbeans jako své IDE.

V současné době jsou všichni virtuální hostitelé spouštěni z /var/www/vhostname — ale protože jsem nenakonfiguroval žádné skupiny ani oprávnění, pokud se pokusím otevřít kterýkoli ze souborů prostřednictvím Netbeans, nemá oprávnění k zápisu.

Jak mohu správně nastavit oprávnění (nebo nakonfigurovat Apache nebo Netbeans), aby:

  • Soubory vytvořené skriptem php mohou být rw od Netbeans
  • Soubory vytvořené Netbeans mohou být rw od Apache

Pokusil jsem se chown vše mému uživateli/skupině, která dala Netbeans oprávnění k zápisu, ale pak Apache neměl oprávnění k zápisu.

Poznámka:Toto je čistě pro vývojový stroj – nepoužívá se ve výrobě a jsem jediným uživatelem tohoto boxu.

AKTUALIZACE

Dříve jsem používal metodu v odpovědi, kterou jsem označil jako přijatou, ale dnes dělám něco mnohem jednoduššího:

  1. Nastavil jsem Apache, aby se spouštěl jako můj uživatel a moje skupina (to se provádí buď v httpd.conf, apache2.conf nebo envvars v závislosti na vaší distribuci)
  2. Svým uživatelům a skupině nabízím /var/www

Voila, Apache má přístup pro čtení/zápis a já mám přístup pro čtení/zápis při práci na projektech.

Přijatá odpověď:

To, co doporučuji udělat, bylo většinou popsáno v této otázce Zeptejte se Ubuntu.

Pro tento konkrétní případ bych nainstaloval suPHP, který vám ve zkratce umožňuje spouštět PHP skripty jako váš uživatel pod Apache.

Provedením následujícího:

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

Nainstalujte suphp-common a libapache2-mod-suphp z tohoto ppa (Co jsou PPA a jak je mohu použít?)

Zakázat mod_php5 a povolte mod_suphp

sudo a2enmod suphp
sudo a2dismod php5

Aktualizujte své virtuální hostitele tak, aby v dolní části obsahovaly tento řádek:

suPHP_UserGroup youruser youruser

Nahrazení youruser s uživatelem, kterého používáte k úpravě souborů na serveru. Restartujte Apache.

Od tohoto okamžiku bude Apache spouštět všechny php skripty jsou vaším uživatelem, což znamená, že je může vlastnit váš uživatel/skupina a není třeba používat šílená oprávnění jako 777. Protože vše běží jako váš uživatel, všechny soubory vytvořené php skripty budou také ve vlastnictví vašeho uživatele! Se suPHP můžete dělat mnoho dalších skvělých věcí; nicméně z toho, jak to zní, je vše, co budete potřebovat, abyste mohli začít.

Související:Ubuntu – Problém se stahováním seznamu balíčků kvůli chybě „Hash sum neshoda“?
Ubuntu
  1. Jak nainstalovat Apache ZooKeeper na Ubuntu

  2. Jak nainstalovat a nakonfigurovat Squid 3 na Ubuntu

  3. Jak nainstalovat a nakonfigurovat webový server Apache na Ubuntu 13.10

  1. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  2. Jak nainstalovat a zabezpečit phpMyAdmin pomocí Apache na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat ownCloud s Apache na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04