La batalla de VirtualHost /Usuarios/myusername/Sitios/foo ~/barra de Error Interno del Servidor goin días ahora queremos adjuntar localhost/~myusername a Apache/2.4.28 servidor http en macOS 10.13.3 Alta de la Sierra del teatro de operaciones no va de acuerdo a plan alguno:
Apache no funciona con los Sitios de los usuarios de la carpeta en macOS 10.13 Alta Sierra
Configurar los Hosts Virtuales en macos Alta Sierra 10.13 en Apache
Configurar localhost en macOS Alta Sierra (Apache, MySQL, y PHP 7) con SSL/HTTPS
Mi pregunta es, por supuesto, muy similar a la Fyfe: Apache no funciona con los Sitios de los usuarios de la carpeta en macOS 10.13 Alta Sierra excepto que no es necesario mantener ninguna /Library/Webserver/Documents como no había ninguno, sólo desea que los Usuarios/myusername/Sitios para que sean operativos.
De hecho, creo que este servidor Apache-nombre de usuario problema en todo el lugar, lo que es más central en el desarrollo web que se acaba de conectar a uno de los estribos del servidor? Así que parece que sólo hay dos tipos de desarrolladores ~/foo:"yo solo hice esto y funciona perfectamente!" y ~/bar:"yo hice todo eso y nada funciona." Bueno, Fyfe cuestión de la Sep 27 '17 15 respuestas y contando, el más reciente siendo Feb 1 '18 con ninguna marca de verificación verde.
De nuevo, no me había configuración o estado usando Apache, php, o vhosts en la Sierra, por lo que no es necesario mantener /Library/Webserver/Documents como no había ninguno, VirtualHost *:80 comando agregado a continuación para mantener la opción abierta, aunque sólo tratando de conseguir que los Usuarios/myusername/Sitios/foo y ~/barra de trabajo.
sudo apachectl configtest
Syntax OK
php -v
PHP 7.1.7
/etc/apache2/extra/https-vhosts.conf
#Enable PHP interpretation within HTML files
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents/
</VirtualHost>
#VIRTUAL HOST ENTRY FOR foo.localhost
<VirtualHost *:80>
DocumentRoot "/Users/myusername/Sites/foo"
ServerName foo.localhost
ErrorLog "/private/var/log/apache2/foo-error_log"
CustomLog "/private/var/log/apache2/foo-access_log" common
</VirtualHost>
#VIRTUAL HOST ENTRY FOR bar.localhost
<VirtualHost *:80>
DocumentRoot "/Users/myusername/Sites/bar"
ServerName bar.localhost
ErrorLog "/private/var/log/apache2/bar-error_log"
CustomLog "/private/var/log/apache2/bar-access_log" common
</VirtualHost>
/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
#Local myusername/Sites
127.0.0.1 foo.localhost
127.0.0.1 bar.localhost
#Map your IP address to localhost
127.0.0.1 apple.com www.apple.com
/etc/apache2/httpd.conf
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
ServerRoot "/usr"
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
#User _www
#Group _www
User myusername
Group staff
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php7_module libexec/apache2/libphp7.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
/etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/users/*.conf
- PHP 7 comandos no funciona
- localhost/~myusername => Error Interno del Servidor
- foo.localhost => búsqueda de google "foo.localhost" resultados => poo
- localhost => Prohibido usted no tiene permiso para acceder a / en este servidor
Hora de llamar a los ataques aéreos ... todo lo que tengo aquí es FUBAR
ACTUALIZACIÓN DE SOLUCIÓN: klanomath se llevó a cabo el primero de los objetivos, los Tanques! localhost/~myusername y http://foo/bar.localhost están trabajando.
Sin embargo ... Arrg ... al entrar a localhost/~myusername php parece a ejecutar este /Sites/index.php archivo, en el que el "Hola Desde la Carpeta Sitios!" y el 7.1.7 phpinfo página:
<?php
echo "Hello From Sites Folder!";
phpinfo();
?>
Sin embargo, esto de php index.html y example.php combinación aparentemente no se ejecuta
<?php
date_default_timezone_set('UTC');
$day = date('l');
?>
<!doctype html>
<html>
<head>
<title>Hello, World! | Foo</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>Welcome to <strong>Foo</strong>.</p>
echo $greeting
</body>
</html
example.php (ambos en el directorio foo)
<?php
$greeting = 'Hello, PHP World!';
echo '<h1>' . $greeting . '</h1>';
?>
en donde haga doble clic /Sites/foo/index.html simplemente abre una página de impresión
Hello, World!
Welcome to Foo.
echo $greeting (instead of Hello, PHP World!)