0 votos

Resolver /Usuarios/myusername/Sitios/foo ~bar/localhost/~myusername Alta de la Sierra de Apache servidor de conexión Error Interno del Servidor

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

0voto

klanomath Puntos 19587

Un simple trabajo de configuración de inicio con el defecto de macOS archivos de configuración de Apache es la siguiente:

/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
127.0.0.1       foo.localhost
127.0.0.1       bar.localhost
255.255.255.255 broadcasthost
::1             localhost

Modificaciones de los defecto /private/etc/apache2/httpd.conf archivo:

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
...
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php7_module libexec/apache2/libphp7.so
...
DocumentRoot "/Users/<username>/Sites"
<Directory "/Users/<username>/Sites">
...
Include /private/etc/apache2/extra/httpd-vhosts.conf

Configuración de las máquinas virtuales /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 /Users/<username>/Sites
</VirtualHost>

#VIRTUAL HOST ENTRY FOR foo.localhost
<VirtualHost *:80>
  DocumentRoot "/Users/<username>/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/<username>/Sites/bar"
  ServerName bar.localhost
  ErrorLog "/private/var/log/apache2/bar-error_log"
  CustomLog "/private/var/log/apache2/bar-access_log" common
</VirtualHost>

PHP archivo de prueba index.html en foo/ bar/:

<html><body><h1>Welcome to foo/bar. It works!</h1></body></html>

<?php

// Show all information, defaults to INFO_ALL
phpinfo();

?>

La habilitación de userdir cosas no es necesario porque no quieres .../~usuario/

A continuación, en Safari o Google introduzca "http://bar/foo.localhost" en lugar de simplemente "bar|foo.localhost"

Esta configuración no/no permitir el acceso a http://localhost o http://localhost/~usuario. Pero en el caso de que esto no es necesario de todos modos.


Si el acceso a http://localhost y http://localhost/~username1|~username2|~nombre_de_usuario3 etc es necesario, utilice el valor predeterminado DocumentRoot /Library/Websites/Documents en httpd.conf y para el vhost localhost. Además de habilitar LoadModule userdir_module libexec/apache2/mod_userdir.so y Include /private/etc/apache2/extra/httpd-userdir.conf en httpd.conf. Habilitar Include /private/etc/apache2/users/*.conf en /private/etc/apache2/extra/httpd-userdir.conf y agregar respectivos <⁣username1|2|3>.conf archivos en /private/etc/apache2/usuarios/ para cada usuario.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X