Web Sharing Apache Localhost - Permessi di accesso

4

Voglio installare phpMyAdmin sul server web nativo di Apache che è in bundle con Mac OS X 10.6. Ho attivato Condivisione Web in Preferenze di Sistema. Tuttavia, temo che il mio computer garantisca l'accesso a tutti sul Web.

  1. Dove sono le restrizioni di accesso degli utenti per il web server di Web Sharing / Apache all'interno di Mac?

  2. Come limitare l'accesso per tutti i computer tranne il mio in modo da poter eseguire applicazioni sul server web localhost (come phpMyAdmin).

posta westonplatter 29.08.2011 - 02:44
fonte

4 risposte

5

Come è stato già rilevato, a meno che non si stia specificamente inoltrando il traffico http dal router alla macchina, i contenuti ospitati localmente saranno disponibili solo per te e per gli altri computer sulla tua rete locale.

Per rispondere alla tua domanda su come limitare l'accesso al tuo webserver solo alla tua macchina. Puoi farlo in due modi.

Ricorda che, ogni volta che cambi le configurazioni di apache, devi riavviare apache affinché tali modifiche abbiano effetto.

Metodo 1

Se vuoi limitare tutto sul tuo webserver locale solo alla tua macchina locale, modifica il file "/etc/apache2/httpd.conf". A circa la linea 195 troverai un blocco di configurazione che assomiglia a:

<Directory "/Library/WebServer/Documents">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks MultiViews

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

Dovrai commentare le due righe inferiori di quel blocco e aggiungere nuove regole

Deny from all

e

Allow from 127.0.0.1

quel blocco dovrebbe ora apparire come:

<Directory "/Library/WebServer/Documents">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks MultiViews

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    #Order allow,deny
    #Allow from all
    Deny from all
    Allow from 127.0.0.1

</Directory>

Metodo 2

Puoi anche usare i file .htaccess per limitare chi ha accesso a una directory. Per far funzionare i file .htaccess è necessario prima abilitarli. Aprire lo stesso file a cui ho fatto riferimento nel metodo 1 (/etc/apache2/httpd.conf) e andare allo stesso blocco di configurazione che ho menzionato prima (alla riga 195 circa). Dovrai cambiare (all'incirca alla linea 215):

AllowOverride None

a

AllowOverride All

Dopo averlo fatto, puoi creare un file chiamato .htaccess in qualsiasi cartella sul tuo server web con le seguenti informazioni:

Deny from all
Allow from 127.0.0.1

Ciò impedirà a chiunque, oltre alla tua macchina locale, di accedere ai contenuti di quella cartella o di una delle sue sottocartelle.

Conclusione

Il Metodo 1 ha il vantaggio di non doversi preoccupare di cancellare accidentalmente i file .htaccess o di preoccuparsi di più configurazioni. Il metodo 2 semplifica molto l'accesso a determinate directory del server web.

Nota inoltre che il file .htaccess deve includere quel punto all'inizio del nome del file (è .htaccess not htaccess) e che quando vuoi visualizzare il tuo server web locale devi farlo andando a link (non puoi usare [nome del tuo computer] .local).

    
risposta data 28.10.2011 - 20:07
fonte
1

Invece di eseguire l'installazione di Apache in bundle, che offre opzioni di configurazione limitate o oscure, ti suggerisco di installare invece il MAMP gratuito. (Macintosh, Apache, Mysql e PHP). È migliore e più utile come ambiente di sviluppo, perché è progettato come un ambiente di sviluppo PHP per Mac e ti farà risparmiare tempo e problemi di configurazione. È facile da installare e (se necessario) rimuovere. La porzione Apache di MAMP è anche più sicura dell'Apache integrato, in parte perché è possibile eseguirla facilmente solo quando necessario e poiché per impostazione predefinita viene eseguita sulla porta 8888, anziché sulla porta 80 del server Web standard. Le porte possono essere configurate nelle impostazioni MAMP.

Dalle Domande frequenti su MAMP (i numeri di versione citati nelle Domande frequenti potrebbero essere leggermente superati, sostituiti dalle versioni più recenti):

Why should I use MAMP? Isn't everything already installed in OS X?

At the moment, when using OS X, only Apache 1.3.x with PHP 4.3.2 is pre-installed. PHP has to be activated by changing the configuration files. The Apache/PHP versions provided by Apple are not always up-to-date, and the Apache-PHP combination is quite slow. In addition, MySQL has to be installed manually. With one click, and in just a few minutes MAMP will install Apache 2, current PHP 4, current PHP 5 and MySQL. Using the included eAccelerator, PHP-scripts are executed up to ten times faster compared to Apple's pre-installed Apache/PHP. When you use the MAMP programme, you can easily start and stop the server. Thus, the server does not have to be running in the background all the time, wasting precious resources. To "uninstall" MAMP, you only have to delete the MAMP directory and everything returns to the original state (MAMP does not alter anything on the "normal" OS X).

    
risposta data 29.08.2011 - 03:29
fonte
1

Potresti anche prendere in considerazione l'utilizzo del link

In breve: modifica Listen 80 in Listen 127.0.0.1:80 in /private/etc/apache2/httpd.conf

Ho trovato che fosse il modo più semplice.

Cheers!

    
risposta data 30.10.2014 - 10:47
fonte
0

Prima di tutto, il tuo server web non è condiviso con tutti sul web se il tuo router non inoltra il tuo IP al tuo computer. Questa è un'impostazione che non è abilitata per impostazione predefinita, quindi probabilmente non stai condividendo nulla.

Inoltre, puoi proteggere l'installazione di phpMyAdmin con una password, proprio come avviene su molte installazioni online (vedi config.php per le opzioni).

Inoltre, se apri il tuo server web su Internet, puoi limitare l'accesso a phpMyAdmin usando .htaccess deny / allow settings.

    
risposta data 29.08.2011 - 15:44
fonte

Leggi altre domande sui tag