PDA

View Full Version : ubuntu 7.04 xampp e permessi


lucas72
16-09-2007, 16:09
Ciao
Ho installato xampp su ubuntu (un programma che installa tutto per programmare in php)
Dopo averlo installato ad ogni avvio del sistema devo digitare nel terminale:

sudo /opt/lampp/lampp start

Funziona ma ho un problema con i permessi.
Nella cartella htdocs di xampp (quella dove si inseriscono i file php e altro)
non riesco ad inserire i file php che avevo scritto precedentemente mi dice che non ho i permessi
per scrivere in questa cartella.
Sarà per il fatto che xampp lo avvio con il comando sudo?

Come devo fare allora?
Ho provato anche a fare così:
sudo nautilus (quindi con i permessi di root credo)
sono entrato nella cartella htdocs di xammp (situata in opt) e vi ho inserito i file ma poi questi se li voglio visualizzare nel browser in localhost
ho un altro messaggio di errore in merito ai permessi.

le_
16-09-2007, 18:18
Devi aggiungare ad htdocs il permesso di scrivere per il tuo utente, e devi verificare quando aggiungi dei file che questi siano leggibili dal processo che genera le pagine web.

In pratica, un sudo chmod o+rwx htdocs ti risolve la prima cosa (permesso a chiunque di lavorare con quella directory), e poi quando aggiungi dei file ci fai un chmod o+r nomefile

lucas72
17-09-2007, 14:18
Devi aggiungare ad htdocs il permesso di scrivere per il tuo utente, e devi verificare quando aggiungi dei file che questi siano leggibili dal processo che genera le pagine web.

In pratica, un sudo chmod o+rwx htdocs ti risolve la prima cosa (permesso a chiunque di lavorare con quella directory), e poi quando aggiungi dei file ci fai un chmod o+r nomefile

si grazie
adesso riesco a spostare i file nella cartella htdocs senza problemi però ogni volta che aggiungo un file devo dare il secondo comando che hai suggerito.
Un po' scomodo. Non c'è un altro modo. Ho un sacco di file da inserire in questa cartella e ci sono tante cartelle con all'interno altre file.
Grazie.

ps: come mai se faccio click destro sulla cartella htdocs e scelgo proprietà
alla voce "permission" risulta che la cartella è ancora di proprietà e appartiene ancora al gruppo root nonostante il comando di cui sopra?
Precedentemente avevo tentato di cambiare i permessi in questa modalità "grafica" (da root); ma sembra che non abbia avuto nessun effetto.

lucas72
17-09-2007, 14:56
un'altra cosa scusa.
Perchè il database mysql in xampp mi risulta disattivato?
eppure avviando xampp nel terminale dice che sta avviando anche mysql.
Come si attiva?
Grazie

lucas72
17-09-2007, 21:12
Non capisco
se sposto un'intera cartella con file php all'interno (l'ho presa da win zippata e l'ho passata nella htdocs di xampp in ubuntu estraendola prima nella mia cartella home) leggo i file dal browser senza problemi (file complessi con collegamenti a db e ajax) se sposto un file php nella cartella htdocs ricevo questo messaggio dal browser quando cerco di aprirlo:

Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

Fatal error: Unknown: Failed opening required '/opt/lampp/htdocs/morse.php' (include_path='.:/opt/lampp/lib/php') in Unknown on line 0


Perchè?
Grazie

le_
17-09-2007, 23:30
adesso riesco a spostare i file nella cartella htdocs senza problemi però ogni volta che aggiungo un file devo dare il secondo comando che hai suggerito.

I file che generi su Linux vengono creati con certi permessi di default. Li puoi vedere col comando umask. Se la umask e` restrittiva (tipicamente un 007 o 077), evidentemente tutti i nuovi file creati hanno permessi restrittivi.
Per cambiare il default in qualcosa di leggibile a tutti, devi dare umask 002 (cosi` i file creati dovrebbero nascere con rw-rw-r- , le directory rwxrwxr-x).
Questo comando ha effetto sulla shell in cui lo digiti, per renderlo permanente va infilato in qualche script di login o di avvio del sistema, un posto tipico sarebbe /etc/bashrc o ~/.bashrc ma dipende un po' dalla distribuzione veramente.

Se usi delle share di Samba per copiare i file da un pc windows c'e` da fare il discorso separato di Samba. I file messi nelle share nascono con dei permessi definibili nel smb.conf con le direttive "create mask" e "directory mask":

[share]
comment = butta qui la roba!
path = /share
guest ok = Yes
read only = No
create mask = 0664
directory mask = 0775

(per Samba si mettono con la notazione ottale di chmod, 0664/0775 equivale allo 002 del comando umask)


ps: come mai se faccio click destro sulla cartella htdocs e scelgo proprietà
alla voce "permission" risulta che la cartella è ancora di proprietà e appartiene ancora al gruppo root nonostante il comando di cui sopra?
Il proprietario non l'hai cambiato, chmod cambia solo i permessi. Adesso appartiene a r00t ma c'e` il permesso di scrittura a chiunque. Se non hai particolare motivo per voler 'possedere' la directory con l'utente, va bene gia` cosi`. Essendo la directory parte di un programma e` buona norma che il proprietario resti r00t, l'utente e` bene che non possieda nulla fuori dalla propria home.