L'ho appena fatto funzionare oggi. Non stavo usando l'app macOS Server. Tuttavia, il mio sistema aveva già apache 2.4 su di esso. Sono in esecuzione macOS 10.13.5 (17G65) aka High Sierra.
Per prima cosa ho dovuto seguire le istruzioni qui per far funzionare il server. Nota che non mi sono preoccupato della sezione PHP perché non ho bisogno di quella funzionalità e non mi sono preoccupato di configurare più siti. Quindi, fondamentalmente, comportava l'inserimento di un file index.html nella mia directory ~ / Sites, che esisteva già.
Successivamente ho configurato Apache come descritto nella sezione 3 del documento sopra. Ho creato /etc/apache2/users/myusername.conf e ho aggiunto quanto segue:
<Directory "/Users/username/Sites/">
AllowOverride All
Options Includes Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
Nota l'extra Includes
nella sezione Options
. Questo è il primo requisito per ottenere il funzionamento del lato server incluso. Nota anche che se scrivi +Includes
come suggerito nei documenti di apache, fallirà silenziosamente. Questo è quello che mi è successo. O tutte le opzioni devono avere il simbolo +
o nessuna di esse può averla.
Successivamente ho modificato /etc/apache2/httpd.conf nei seguenti modi:
-
Non ha eseguito il commento della riga per module_include
:
LoadModule include_module libexec/apache2/mod_include.so
-
Non ha eseguito il paragone degli altri moduli suggeriti nei documenti precedenti:
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
-
Trovate e decommentate queste righe:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Questo significa che i file .shtml
verranno elaborati per include lato server
Credo che sia tutto ciò che ho fatto. Nota che puoi guardare in Console.app sotto la sezione /var/log
. Se fai girare quello aperto, c'è un'altra cartella all'interno di nome apache2
. Se fai clic su questo, ci sono diversi log di apache. Come accennato in precedenza, sono sparse e non ti dicono ogni errore che si è verificato, ma te ne parlo. Alla fine ho scoperto il problema facendo:
apachectl -M
e vedendo che c'erano degli errori sull'output di quel comando che portavano alla riga esatta dei file di configurazione che erano cattivi. È stato molto più utile!