Apache e Ubuntu – Modificare l\'utente di default

ApacheNei sistemi Debian based, come lo è Ubuntu, l’utente proprietario di Apache è in default www-data.

La cosa non desta nessun problema se non che, avendo la web root di apache nella mia home, tutte le volte che via nautilus tento di spostare, modificare e soprattutto cancellare intere directory, se in quese c’è un file generato via script, ottengo un permission nieded come risposta.

Per evitare la cosa, se usate il vostro web server in locale solo per esperimenti ed in generale testing, potete cambiare l’owner di apache assegnandolo a voi stessi.

Aprite il file di configurazione di Apache, in ubuntu:

vi /etc/apache2/apache2.conf

Cercate le righe contenenti:

User www-data
Group www-data

Ed appropriatevi della web server 🙂

User davide
Group davide

Voi metterete il vostro nome utente 😉 . In questo modo, i file e le directory creati via script o uploadati via http avranno come proprietario di default l’utente che usate per le operazioni normali.

Dopo la modifica, chiudete il file e riavviate il server.

sudo /etc/init.d/apache2 restart

Se avete sessioni aperte, meglio riavviare anche il browser, perchè i file di sessione aperti si ritroverebbero un owner non più corrispondente con quello del web server che chiede di accedervi.

Mi raccomando: fate questa modifica solo sulla vosta distro che usate come desktop, ma su cui avete installato apache per i vostri esperimentucoli 🙂

UPDATE:
Se usate phpmyadmin e dopo la modifica dell’ownership vi compare il messaggio:

The configuration file now needs a secret passphrase (blowfish_secret).

Non vi preoccupate. Dovete cambiare owner anche a phpmyadmin e riassegnare i giusti permessi al fine di leggere la mistica parola segreta.

#voi userete il vostro utente
#e la vostra directory di phpmyadmi

sudo chown -R davide:davide /home/davide/public_html/phpmyadmin/

sudo chmod 444 /etc/phpmyadmin/blowfish_secret.inc.php

Scusate, non c’avevo pensato prima 🙂

2 thoughts on “Apache e Ubuntu – Modificare l\'utente di default”

  1. Mi pareva di aver letto da qualche parte che si puo’ configurare Apache in modo che quando va’ a leggere/scrivere in una certa directory, lo fa’ come se fosse un altro utente. Qualcosa stile “Per quella directory, comportati come utente giambo gruppo users”.
    Sai se e’ possibile, grande Guru : - ) ?

  2. A livello di directory non so, ma è sicuramente possibile a livello di virtualhost.

    Da apache 2.0 il mod_suexec usa la direttiva SuexecUserGroup

    <VirtualHost dominio.com:80>
    SuexecUserGroup Utente Gruppo
    </VirtualHost>

Comments are closed.