GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu:come configurare le autorizzazioni per consentire a Gedit, Apache e An Ide di giocare insieme?

Sto usando un semplice Ubuntu Desktop 11.04 e ho installato il mio stack di lampade usando lamp-server. Sto cercando di utilizzare Netbeans come IDE.

Attualmente, tutti gli host virtuali vengono eseguiti da /var/www/vhostname — ma poiché non ho configurato alcun gruppo o autorizzazione, se provo ad aprire uno qualsiasi dei file tramite Netbeans non ha il permesso di scrittura.

Come posso impostare correttamente i permessi (o configurare Apache o Netbeans) in modo che:

  • I file creati da uno script php possono essere rw di Netbeans
  • I file creati da Netbeans possono essere rw di Apache

Ho provato a chown tutto al mio utente/gruppo che ha concesso a Netbeans il permesso di scrittura, ma poi Apache non aveva il permesso di scrittura.

Nota:questo è puramente per una macchina di sviluppo, non utilizzato in produzione e io sono l'unico utente su questa scatola.

AGGIORNAMENTO

Usavo il metodo nella risposta che ho contrassegnato come accettato, ma al giorno d'oggi faccio qualcosa di molto più semplice:

  1. Ho impostato Apache per l'esecuzione come utente e gruppo (questo viene fatto in httpd.conf, apache2.conf o envvars a seconda della distribuzione)
  2. Consegno /var/www al mio utente e al mio gruppo

Voilà, Apache ha accesso in lettura/scrittura e io ho accesso in lettura/scrittura mentre lavoro su progetti.

Risposta accettata:

Quello che consiglio di fare è stato principalmente descritto in questa domanda di Ask Ubuntu.

Per questo caso particolare installerei suPHP che in breve ti permette di eseguire script PHP come tuo utente sotto Apache.

Effettuando le seguenti operazioni:

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

Installa suphp-common e libapache2-mod-suphp da questo ppa (Cosa sono i PPA e come li uso?)

Disattiva mod_php5 e abilita mod_suphp

sudo a2enmod suphp
sudo a2dismod php5

Aggiorna i tuoi host virtuali per includere questa riga nella parte inferiore di essi:

suPHP_UserGroup youruser youruser

Sostituzione di youruser con l'utente che utilizzi per modificare i file sul server. Riavvia Apache.

Da questo momento in poi Apache eseguirà tutti gli script php che sono il tuo utente, il che significa che possono essere di proprietà del tuo utente/gruppo e non è necessario utilizzare permessi folli come 777. Poiché tutto viene eseguito come utente, tutti i file creati dal php anche gli script saranno di proprietà del tuo utente! Ci sono molte altre cose interessanti che puoi fare con suPHP; tuttavia, da quello che sembra questo è tutto ciò di cui hai bisogno per iniziare.

Relazionato:Ubuntu – Problemi durante il download dell'elenco dei pacchetti a causa di un errore "Mancata corrispondenza della somma hash"?
Ubuntu
  1. Come installare Apache ZooKeeper su Ubuntu

  2. Come installare e configurare Nextcloud con Apache su Ubuntu 18.04

  3. Come installare e proteggere phpMyAdmin con Apache su Ubuntu 18.04

  4. Come installare e configurare Squid 3 su Ubuntu

  5. Come installare e configurare il server Web Apache su Ubuntu 13.10

Come installare e configurare Apache Tomcat 9 su Ubuntu 20.04 LTS

Come installare e configurare Apache Hadoop su Ubuntu 20.04

Come installare e configurare il modulo mod_pagespeed con Apache su Ubuntu 20.04 LTS

Come installare e configurare Apache Kafka su Ubuntu 20.04

Come installare e configurare Apache Spark su Ubuntu 20.04

Come installare e configurare Apache Web Server su Ubuntu