Quali autorizzazioni devo dare per la configurazione del mio server?

3

Sto provando ad avere una configurazione del server per la mia app Web localmente sul mio MacBook Pro. Ho installato Apache, PHP con successo e ho controllato il codice della mia app Web in% posizione% co_de. Ora nella mia app c'è uno script che scrive un file in /var/www . Per fare ciò sto usando la seguente riga:

$file = fopen($_SERVER['DOCUMENT_ROOT']."/abc.ini", "w");

E durante l'esecuzione vedo il seguente errore nel registro degli errori.

/var/www/someDir

someDir è di proprietà dell'utente PHP Warning: fopen(/var/www/someDir/abc.ini): failed to open stream: Permission denied in /private/var/www/myscript.php on line 6 (sono io) e del gruppo abhilash.goje . Ho provato a dare le seguenti autorizzazioni.

$sudo chmod -R 755 www     -> Did not resolve the issue
$sudo chmod -R 775 www     -> Did not resolve the issue
$sudo chmod -R 777 www     -> Resolved the issue, but not safe.

il permesso 777 funziona ma non preferisco usare questa soluzione in quanto non è affatto sicura. Fammi sapere come impostare le autorizzazioni corrette per questa cartella.

Grazie in anticipo !!

    
posta Goje87 08.07.2012 - 22:08
fonte

1 risposta

6

Apache è il processo che deve avere le autorizzazioni appropriate per accedere a /var/www . Apache è in genere utente _www del gruppo _www su MacOS. Verifica questo con:

 grep -e '^Group\|^User' /etc/apache2/httpd.conf

Devono essere stampate due righe. Il mio output assomiglia a:

User _www
Group _www

Ciò significa che sul mio sistema, i processi di Apache vengono eseguiti come _www dell'utente con il gruppo _www . Se stai utilizzando un'altra configurazione, controlla il file di configurazione appropriato per gli stessi parametri e sostituisci _www nella seguente soluzione, se la tua è diversa.

  1. Modifica il gruppo di /var/www con: chgrp -R _www /var/www
  2. Modifica le autorizzazioni per aggiungere la scrittura di gruppo con: chmod -R 775 /var/www

Questo dovrebbe risolvere l'errore.

Come passaggio aggiuntivo, puoi modificare la proprietà di /var/www in _www e quindi aggiungerti a quel gruppo per mantenere i tuoi privilegi di lettura e scrittura.

    
risposta data 09.07.2012 - 08:22
fonte

Leggi altre domande sui tag