Server-side incluye en un iMac

3

He fallado durante un año para encontrar una manera de ejecutar SSI (el lado del servidor incluye) en mi iMac usando el servidor web apache incluido con server.app.

Me pregunto si la aplicación del servidor permitirá incluirlas en el servidor en un sitio web alojado por Apache en High Sierra?

    
pregunta Ferren 30.08.2018 - 13:39

2 respuestas

1

No. De hecho, Apple está eliminando por completo la funcionalidad del servidor web de la aplicación del servidor en un futuro próximo y está documentando cómo migraría sus datos a Apache para servir páginas web.

El PDF anterior tiene páginas 22 a 32 dedicadas a cómo migrar los datos a un servidor web de código abierto. Si le gusta el apache, la homebrew tool puede ser una buena opción para administrar esa instalación y parcheo y el estado del servicio (detener / iniciar / reiniciar la web servidor en comando o arranque).

A partir de ahí, estará solo (o necesita hacer una pregunta voladora, posiblemente en otro sitio sobre cómo habilitar el SSI que desea en la versión del servidor web que ha elegido).

    
respondido por el bmike 31.08.2018 - 21:22
0

Acabo de recibir este trabajo hoy. No estaba usando la aplicación del servidor macOS. Sin embargo, mi sistema ya tenía apache 2.4. Estoy ejecutando macOS 10.13.5 (17G65), también conocido como High Sierra.

Primero tuve que seguir las instrucciones aquí para que el servidor se ejecute. Tenga en cuenta que no me molesté con la sección de PHP porque no necesito esa funcionalidad, y tampoco me molesté en configurar varios sitios. Así que básicamente se trata de colocar un archivo index.html en mi directorio ~ / Sites, que ya existía.

A continuación, configuré Apache como se describe en la sección 3 del documento anterior. Creé el archivo /etc/apache2/users/myusername.conf y agregué lo siguiente:

<Directory "/Users/username/Sites/">
  AllowOverride All
  Options Includes Indexes MultiViews FollowSymLinks
  Require all granted
</Directory>

Observe el Includes extra en la sección Options . Ese es el primer requisito para que el lado del servidor incluya el trabajo. Tenga en cuenta también que si escribe +Includes como se sugiere en los documentos de apache, fallará silenciosamente. Esto es lo que me pasó. O todas las opciones deben tener el símbolo + o ninguna de ellas puede tenerlo.

A continuación edité /etc/apache2/httpd.conf de las siguientes maneras:

  1. Sin comentar la línea para module_include :

    LoadModule include_module libexec/apache2/mod_include.so

  2. Descomentado los otros módulos sugeridos en los documentos anteriores:

    LoadModule authz_host_module libexec/apache2/mod_authz_host.so

    LoadModule authz_core_module libexec/apache2/mod_authz_core.so

    LoadModule userdir_module libexec/apache2/mod_userdir.so

    LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

    Include /private/etc/apache2/extra/httpd-userdir.conf

    Include /private/etc/apache2/extra/httpd-vhosts.conf

  3. Encontré y descomenté estas líneas:

    AddType text/html .shtml

    AddOutputFilter INCLUDES .shtml

Eso dice que los archivos .shtml se procesarán para las aplicaciones del lado del servidor

Creo que eso es todo lo que hice. Tenga en cuenta que puede buscar en Console.app en la sección /var/log . Si giras esa abertura, hay otra carpeta dentro llamada apache2 . Si hace clic en eso, hay varios registros de apache. Como se mencionó anteriormente, son escasos y no te dicen todos los errores que ocurrieron, pero sí te cuento algo. Eventualmente descubrí el problema haciendo:

apachectl -M

y al ver que había errores en la salida de ese comando que llevó a la línea exacta en los archivos de configuración que estaban mal. ¡Eso fue mucho más útil!

    
respondido por el user1118321 16.09.2018 - 02:00

Lea otras preguntas en las etiquetas