Web Sharing Apache Localhost - Permisos de acceso

4

Quiero instalar phpMyAdmin en el servidor web Apache nativo que se incluye con Mac OS X 10.6. Activé Compartir en la Web en las Preferencias del sistema. Sin embargo, mi temor es que mi computadora esté permitiendo el acceso a todos en la web.

  1. ¿Dónde están las restricciones de acceso de los usuarios al servidor web Apache / Compartir en la Web dentro de Mac?

  2. Cómo restringir el acceso a todas las computadoras, excepto la mía, para poder ejecutar aplicaciones en el servidor web localhost (como phpMyAdmin).

pregunta westonplatter 29.08.2011 - 02:44

4 respuestas

5

Como ya se ha señalado, a menos que esté reenviando específicamente el tráfico http desde su enrutador a su máquina, sus cosas alojadas localmente solo estarán disponibles para usted y para las otras computadoras en su red local.

Para responder a su pregunta sobre restringir el acceso a su servidor web solo a su máquina. Puedes hacer esto de un par de maneras.

Recuerde, cada vez que cambie las configuraciones de Apache, debe reiniciar Apache para que esos cambios surtan efecto.

Método 1

Si desea limitar todo en su servidor web local solo a su máquina local, edite el archivo "/etc/apache2/httpd.conf". En la línea 195 aproximadamente encontrará un bloque de configuración similar 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>

Vas a querer comentar las dos líneas inferiores de ese bloque y agregar nuevas reglas

Deny from all

y

Allow from 127.0.0.1

ese bloque ahora debería verse como:

<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>

Método 2

También puede usar archivos .htaccess para limitar quién tiene acceso a un directorio. Para que los archivos .htaccess funcionen, primero debe habilitarlos. Abra el mismo archivo al que hice referencia en el método 1 (/etc/apache2/httpd.conf) y vaya al mismo bloque de configuración que mencioné anteriormente (en la línea 195 aproximadamente). Tendrá que cambiar (aproximadamente a la línea 215):

AllowOverride None

a

AllowOverride All

Una vez que haya hecho eso, puede crear un archivo llamado .htaccess en cualquier carpeta de su servidor web con la siguiente información:

Deny from all
Allow from 127.0.0.1

Eso evitará que nadie, además de tu máquina local, acceda al contenido de esa carpeta o de cualquiera de sus subcarpetas.

Conclusión

El método 1 tiene la ventaja de no tener que preocuparse por eliminar accidentalmente archivos .htaccess o preocuparse por las múltiples configuraciones. El método 2 hace que sea muy sencillo restringir el acceso a ciertos directorios de su servidor web.

También tenga en cuenta que el archivo .htaccess debe incluir ese período al comienzo del nombre del archivo (es .htaccess no htaccess) y que cuando quiera ver su servidor web local, debe hacerlo al ir a enlace (no puede usar [nombre de su computadora] .local).

    
respondido por el AdamP 28.10.2011 - 20:07
1

En lugar de ejecutar la instalación de Apache en paquete, que le brinda opciones de configuración limitadas u oscuras, le sugiero que instale en su lugar el href="http://www.mamp.info/"> MAMP gratuito (Macintosh, Apache, Mysql y PHP) del paquete. Es mejor y más útil como entorno de desarrollo, ya que está diseñado como un entorno de desarrollo de PHP para Mac y le ahorrará mucho tiempo y problemas de configuración. Es fácil de instalar y (si es necesario) quitar. La parte de Apache de MAMP también es más segura que el Apache incorporado, en parte porque puede ejecutarlo fácilmente solo cuando sea necesario y porque, de forma predeterminada, se ejecuta en el puerto 8888, en lugar del puerto 80 del servidor web estándar. Los puertos se pueden configurar en la configuración de MAMP.

De las Preguntas frecuentes de MAMP (los números de versión citados en las Preguntas frecuentes pueden estar un poco desactualizados, reemplazados por versiones más nuevas):

  

¿Por qué debo usar MAMP? ¿No está todo instalado en OS X?

     

En este momento, cuando se usa OS X, solo Apache 1.3.x con PHP 4.3.2 es   pre instalado. PHP tiene que ser activado cambiando la configuración   archivos. Las versiones de Apache / PHP proporcionadas por Apple no son siempre   actualizado, y la combinación Apache-PHP es bastante lenta. Adicionalmente,   MySQL tiene que ser instalado manualmente. Con un clic, y en unos pocos   minutos MAMP instalará Apache 2, PHP 4 actual, PHP 5 actual y   MySQL. Usando el eAccelerator incluido, los scripts PHP se ejecutan hasta   Diez veces más rápido en comparación con el Apache / PHP preinstalado de Apple. Cuando   Si utiliza el programa MAMP, puede iniciar y detener fácilmente el servidor.   Por lo tanto, el servidor no tiene que estar ejecutando en segundo plano toda la   tiempo, desperdiciando recursos preciosos. Para "desinstalar" MAMP, solo tienes   para eliminar el directorio MAMP y todo vuelve al original   estado (MAMP no altera nada en el OS X "normal").

    
respondido por el Negrino 29.08.2011 - 03:29
1

También puede considerar usar enlace

En resumen: cambie Listen 80 en Listen 127.0.0.1:80 en /private/etc/apache2/httpd.conf

Descubrí que es la forma más fácil.

¡Salud!

    
respondido por el leomelzer 30.10.2014 - 10:47
0

En primer lugar, su servidor web no se comparte con todos los usuarios de la web mientras su enrutador no reenvíe su IP a su computadora. Esta es una configuración que no está habilitada de forma predeterminada, por lo que probablemente no estés compartiendo nada.

También, puedes asegurar tu instalación de phpMyAdmin con una contraseña, tal como se hace en muchas instalaciones en línea (ver config.php para opciones).

Además, si abre su servidor web a Internet, puede limitar el acceso a phpMyAdmin usando .htaccess deny / allow settings.

    
respondido por el julesj 29.08.2011 - 15:44

Lea otras preguntas en las etiquetas