• User Newbie

    Aiuto con server linux

    Buongiorno a Tutti.

    Volevo chiederVi un aiuto. Ho recentemente acquistato un dominio .EU con server linux (a differenza dei precedenti tutti windows). Ho inizialmente inserito una pagina index.html (di un sito che gestisco) e questa si vede bene. Ho creato il sito e ho pubblicato una pagina di prova ( http://www.freetop.eu/prova.html ). Mi dà questo errore :

    **Forbidden
    You don't have permission to access /prova.html on this server.


    Apache/2.0.54 (Ubuntu) mod_python/3.1.3 Python/2.4.2 PHP/5.0.5-2ubuntu1.2 Server at www.freetop.eu Port 80**

    Chi mi può aiutare a capire il perchè la pagina index funziona mentre quella di prova no? ... nonostante abbiano la stessa estensione .html

    Grazie.

    Paolo

    http://www.freetop.eu/


  • Bannato Super User

    Ciao forumforyou e benvenuto sul forum 🙂

    La prima cosa che mi viene in mente sono i permessi, prova a controllare se sono settati su 644 oppure se sono settati in modo diverso.

    Per vedere il settaggio dei permessi puoi usare il tuo programma FTP, selezioni il file e, a seconda del software che usi, dovresti avere cliccando con il destro una opzione CHMOD oppure attributi file, ti dovrebbe apparire una maschera che indica come sono settati i permessi per il file in questo momento.


  • User Newbie

    Grazie per avermi risposto 🙂

    Ho settato i permessi a 644 ma nulla è cambiato. E' possibile che non vengano accettati file .html ? oppure bisogna eseguire una procedura o dei comandi differenti rispetto a windows?

    ... cosa mi potrei inventare???

    Grazie

    Paolo


  • Bannato Super User

    Mi spiace, ma è la prima volta che mi capita una cosa del genere ed io non sono neanche espertissimo 😞

    Comunque in attesa che il buon KingHack arrivi e ti risolva definitivamente il problema 😄

    Posso solo dirti quello che farei io:

    per prima cosa prova con un test.htm e se dovesse funzionare informa l'assistenza di chi ti mette a disposizione il server, non è certamente così che deve essere configurato 😞

    poi controlla che ti faccia accedere ad altri tipi di file, che so .zip, .exe, .php, .pdf e che il comportamento in questi casi sia quello corretto.

    Può essere che mi sbaglio, ma credo che il problema stia tutto nella configurazione di Apache.

    Mi spiace di non poterti aiutare di più, aspettiamo qualcuno più esperto di me 🙂


  • Super User

    Ciao forumforyou e benvenuto sul forum 😉
    Allora il primo consiglio che ti ha dato Emmebar è da seguire: ci sono dei problemi con i permessi anche secondo me.

    Il 644 può andar bene: sarebbe settare i permessi sulle dir e sui file come:
    rw-r--r-- cioè lettura/scrittura per l'utente solo lettura per il gruppo e altri.

    Su alcuni hoster in cui ho dei siti però io setto i permessi come 755 per dir/file cioè:
    -rwxr-xr-x cioè i permessi 644 più la esecuzione (la x) per user/gruppo/altri e visualizzo solo cosi le pagine su questi host.

    Ergo dipende da come è settato l'Apache.
    Ti consiglierei di vedere se c'è un vademecum/area supporto nel sito del tuo fornitore di hosting.
    Se no siamo qui a disposizione e vediamo che si può fare 😉

    :ciauz:


  • User Newbie

    Ok ci siamo. Sono i permessi li avevo cambiati e non si vedeva neppure la homa page. Come default il server li aveva messi 555. Nessun write era ceccato.

    ... credo che stò facendo macelli ora non si vede più nulla . Sigh!!


  • User Attivo

    Approfitto di questo Topic per esporre una considerazione e di alcune problematiche che sto affrontando; sono proprio attinenti al settaggio dei permessi che non è per niente un lavoro semplice.

    In pratica un webmaster che ha accesso al proprio spazio web in linea di massima deve avere i propri file settati a 755 se vogliamo che questi possano essere visti da un utente attraverso un browser-web. Ho detto in linea di massima perchè, come avete fatto ben notare dipende da apache come è stato configurato.

    Ecco allora io ho fatto un piccolo server web casareccio dove vorrei far girare per lo meno 2 siti Internet utlizzando il VirtualHost basato sui nomi con un solo indirizzo IP.
    Al di la di tutte le problematiche che dovrò andare ad affrontare per realizzare ciò, devo assolutamente risolvere questo enigma.

    In pratica i 2 siti sarebbero gestiti da 2 webmaster differenti e ipotizziamo che siano 2 siti completamente diversi. Detto questo sto cercando di capire come ognuno di essi NON deve accedere ai file dell'altro. E signori miei questo un pò difficile. Ho configurato apache in questo modo:

    Directory di apache
    Tutte le directory e tutti i file settati a 700 equvalente a rwx --- ---
    E questo e gia un buon punto di partenza

    Document Root principale
    Non ho usato la predefinita di apache (htdocs), ma ho usato una home directory di un utente reale che esiste sul sistema e che fa da supervisore nonostante NON sia root questa directory è di sua proprietà non di apache ed è impostata a 701 perche il client deve poter eseguire gli script (il client rappresenta il browser web che l'utente usa). Se cosi non fosse ci troveremmo proprio con un Forbidden 403
    Qui dentro ci sono le 2 direcotory che rappresenterebbero i 2 siti e anch'esse sono impostate a 701 per la stessa ragione.

    File all'interno dei siti
    Per si che il tutto funzioni per lo meno devono essere 604 perche apache deve poter leggere i file per eseguirli, siano html, php, xml etc.. etc..

    Sono un pò perplesso per un semplice motivo: metti che un gestore di un sito conosce un percorso preciso di un file. Con qualche conoscenza di comandi Linux e brevi script perl o php può servirsi del browser per lanciare comandi come less, cat o more. Ebbene riuscirà a leggerli proprio come sono stati scritti perchè il 4 finale del 604 da proprio la possibilità a un utente qualsiasi di leggerlo, d'altro se cosi non fosse apache non leggerebbe il file e quindi ci troveremmo di fronte a un errore pressapoco cosi:

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

    Voi che dite disattivo i comandi che sono nelle direcotory come sbin e bin?

    Farei un cd /; chmod -R 750 bin; chmod -R 750 sbin


  • Super User

    Ciao linus.
    Per quanto riguarda l'attivazione dei VirtualHost ti segnalo questa mini guida a questo link:

    http://forum.alproject.org/viewtopic.php?t=266

    Per quanto riguarda i permessi sui file dei 2 domini differenti sullo stesso server bisognerebbe settare i permessi in una cosa del tipo:

    user : rwx > user= user differente per dominio differente (p.e. webmaster1 e webmaster2)

    group = apache (o cmq il gruppo che usi per il webserver - verificalo dal httpd.conf)

    other : ---

    Sono un pò perplesso per un semplice motivo: metti che un gestore di un sito conosce un percorso preciso di un file. Con qualche conoscenza di comandi Linux e brevi script perl o php può servirsi del browser per lanciare comandi come less, cat o more.

    questo riguarda la messa in sicurezza del server stesso: puoi indirizzarti sull' utilizzo del chroot (vedi [url=http://www.google.it/search?hl=it&q=linux+chroot&btnG=Cerca&meta=]qui qualche link utile).

    Spero di averti dato qualche spunto in più per ottimizzare il tuo serverino 😉

    Ci risentiamo sempre qui per approfondire l'argomento con tutti gli altri interessati e curiosi 😄

    :ciauz:


  • User Attivo

    Grazie KING, ho dato uno sguardo per la realizzazione del chroot ma va un pò oltre le mie capacita, quindi per il momento la llasco in stanby.

    In ogni caso ia livello server ho raggiunto una prima meta che mi ha dato una bella soddisfazione.

    Apro una parentesi. Ho un sito su un server di una nota società che offre servizio hosting, ebbene io che vi assicuro non ho grandi conoscenze di programmazione riesco a leggere i log_error e log_access e il file httpd.conf di apache ma no solo posso anche lanciare comandi come httpd apachectl; non sono l'unico sito che usa quella server_root. Il fatto che io sono riuscito a fare il mio server in modo tale da evitare che chi lo utilizza possa leggere la configurazione di apache innanzitutto e soprattutto non possa usufruire dei comandi di apache che stanno inella directory bin, mi fa gia piacere.

    Poi piano piano vediamo come miglioraci s'intende. Al momento comunque visto che ho accantonato il chroot devo poter realizzare il server dns se no il virtual host basato sui nomi come lo faccio? 😉


  • Super User

    @linus said:

    In ogni caso ia livello server ho raggiunto una prima meta che mi ha dato una bella soddisfazione.
    Posso immaginare la tua soddisfazione :yuppi:

    @linus said:

    Apro una parentesi. Ho un sito su un server di una nota società che offre servizio hosting, ebbene io che vi assicuro non ho grandi conoscenze di programmazione riesco a leggere i log_error e log_access e il file httpd.conf di apache ma no solo posso anche lanciare comandi come httpd apachectl; non sono l'unico sito che usa quella server_root.
    Brutta cosa questa, dal lato sicurezza-server per l'hoster e dal lato sicurezza dei singoli siti dei clienti 😮
    Diciamo che di default avendo solo accesso ftp sul server per gestire i file del tuo sito non si dovrebbe riuscire a lanciare comandi potenzialmente dannosi per la sicurezza; ma anche i vari miglioramenti sicuramente non fanno mai male; per me hanno fatto una configurazione un po "maldestra" sui loro server.

    @linus said:

    Il fatto che io sono riuscito a fare il mio server in modo tale da evitare che chi lo utilizza possa leggere la configurazione di apache innanzitutto e soprattutto non possa usufruire dei comandi di apache che stanno inella directory bin, mi fa gia piacere.
    Eccicredo 😉

    @inus said:

    Poi piano piano vediamo come miglioraci s'intende. Al momento comunque visto che ho accantonato il chroot devo poter realizzare il server dns se no il virtual host basato sui nomi come lo faccio? 😉
    Passo passo si studia e si impara, come per altro si fa [e ci si diverte] su GT 😉
    Una guida per i DNS la trovi qui:
    http://forum.alproject.org/viewtopic.php?t=238
    Oppure un bell'howto in italiano (che vuoi di +? :2: passo passo per metter su un DNS la trovi qui:
    http://www.mrshark.it/qechowto/dns.html

    :ciauz: