• Super User

    Apache: localhost e root directory

    Salve,
    ho un problema per il quale non riesco a venire a capo:
    ho configurato una nuova macchina per linux sotto suse 11, ho installato apache, mysql, php e via scorrendo al fine di renderla server e infine farle ospitare alcuni domini.

    Ciò che mi capita semplicemente è questo:
    ho settato nella configurazione di Apache il seguente:

    DocumentRoot "/srv/www/htdocs"
    
    <Directory "/srv/www/htdocs">
    Order allow, deny
    Allow from All
    AllowOverride none
    Options +indexes -ExecCGI +FollowSymLinks
    </directory>
    

    Se però faccio da browser un "localhost" o un "127.0.0.1" quello che fa è proiettare la mia root nella cartella di un dominio all'interno di HTDOCS, quindi:
    /srv/www/htdocs/actm/

    Non capisco come mai nonostante sia settata un'altra root.

    Grazie anticipatamente


  • Moderatore

    Le uniche spiegazioni che mi vengono in mente è che quell'altro virtualhost sia settato in uno dei file inclusi da httpd.conf oppure che vi sia un .htaccess che redireziona nella subdirectory.


  • Super User

    Adesso ho un problema diverso.
    Nel tentare di ripristinare apache+php da 0 ogni volta che provo ad agganciarmi a localhost o a qualsiasi cartella, mi chiede di aprirlo con un programma/salvarlo come se appunto apache non avesse l'estensione di php.


  • Super User

    Ok ho risolto,
    era la cache di Firefox che mi continuava a ripetere di aprire la pagina solo salvando il file php. Disattivandola sono riuscito a far partire il tutto.

    Adesso mi si presenta il problema precedente . Provo a vedere con il tuo consiglio se arrivo ad una soluzione.

    @paolino said:

    Le uniche spiegazioni che mi vengono in mente è che quell'altro virtualhost sia settato in uno dei file inclusi da httpd.conf oppure che vi sia un .htaccess che redireziona nella subdirectory.

    ma se io alla Directory gli do un "alloOverride none" non dovrebbe impedire a qualche httaccess di procedere al reindirizzamento?


  • Super User

    ok ce l'ho fatta.
    Sotto apache avevo una cartella su cui configurare i virtualhost chiamata **vhost.d **.

    Sotto questa directory avevo per ogni dominio un file auto-creato dalla configurazione automatica:

    • easysystem.it.conf
    • ccnilgranaio.it.conf

    e via scorrendo.

    Nel file httpd.conf c'erano tutti i file inclusi per la configurazione del webserver.
    Il default-server di apache era incluso prima di quelli sopracitati e probabilmente qualcosa mi sovrascriveva il main host.

    Ho spostato l'inclusione del file sotto i vhost e adesso pare funzionare.

    Ho una sola domanda adesso.
    Adesso se digito dall'esterno l'indirizzo ip della macchina mi porta sulla root di HTDOCS, precisamente aprendomi la famosa "IT WORKS".
    Togliendo il fatto che potrei personalizzarla, come posso applicare, a tutti gli IP esterni alla mia classe ip, alcune opzioni apache?


  • Moderatore

    E' normale. Digitando l'IP visualizza quello che è il virtual host di default.

    Puoi ovviamente cambiarlo. Riguardo l'applicazione di regole agli IP non è possibile, nel senso che le regole riguardano i virtual host.


  • Super User

    Sono di nuovo qui 😄

    Una domanda.
    Se digito l'ip pubblico del server e aggiungo la cartella di locazione, posso accedere direttamente al sito come se lo facessi tramite dominio.

    quindi:
    ip-pubblico/easysystem_v3

    va come se digitassi www .easysystem. it

    Ora, vorrei evitare questo.
    Cosa dovrei aggiungere nelle clausole della "directory"?


  • Moderatore

    Direi che già stato un problemino di configurazione alla base. A parte che è possibile bloccare il listing delle directory sotto apache, ma non è il tuo caso.

    Il punto è che nel tuo caso il default virtual host è proprio il dominio. Non ti dico quante carognate si possono fare ad un sito così sprovveduto 😄

    La cosa che dovresti fare è creare il primo virtualhost che è quello di default che punta ad un dominio dummy, cioè una cosa che ti può portare utile. Per esempio è abbastanza diffusa la moda di comprare domini e puntarli su ip di altra gente. Non so perchè lo facciano ma penso che vogliono rubare i contenuti ( o sperano di farlo ) e salire sui motori. In questo caso puoi creare un dummyhost che fa un bel redirect a qualche casinò online, così fai un bel pò di soldi dalle nefandezze di questi furbacchioni 😄

    Comunque il punto è che il dominio effettivo non dovrebbe mai essere il virtualhost di default. In questo modo se digiti l'ip comparirà esclusivamente il dummy website.