
Estoy intentando configurar un sitio web en mi máquina y tengo algunos problemas. Creé un prototipo del sitio web usando Flask y el servidor de depuración, y ahora me gustaría alojarlo por un tiempo mientras lo depuro más. Esto es sólo para uso interno dentro de la red de mi empresa.
Parece que no puedo configurar Apache correctamente. Actualmente ejecuto un sitio predeterminado que enlaza con mi directorio de inicio, por lo que puedo capturar archivos de otras máquinas a través de un navegador web.
No he cambiado apache2.conf
nada, pero aquí está mi httpd.conf
<Location /server-status>
SetHandler server-status
Order Deny, Allow
Deny from all
Allow from .mycompany.com
</Location>
Mi configuración predeterminada, ubicada dentro de /etc/apache2/sites-available/default
, tiene
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinksMultiViews
AllowOverride None
Order allow,deny
allow from .mycompany.com
</Directory>
<Directory /var/www/home/>
Options Indexes FollowSymLinks MultiViews
AllowOVerride None
Order allow,deny
allow from .mycompany.com
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Si bien la aplicación que estoy intentando habilitar tiene el siguiente archivo de configuración, ubicado en/etc/apache2/sites-available/Powermon
LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
User p_user
Group p_group
FastCgiServer /home/p_user/Powermon/runp.fcgi -idle-timeout 300 -processes 5
<VirtualHost *:80>
ServerName powermon
DocumentRoot /home/p_user/Powermon/app/static
Alias /static /home/p_user/Powermon/app/static
AddHandler fastcgi-script fcgi
ScriptAlias / /home/p_user/Powermon/runp.fcgi
ErrorLog /home/p_user/Powermon/logs/powermon_error_log
<Location />
SetHandler fastcgi-script
</Location>
</VirtualHost>
Dentro de los sitios habilitados vi
000-default -> ../sites-available/default
Entonces agregué
010-powermon -> ../sites-available/Powermon
Y cuando corro apache2ctl -S
veo
VirtualHost configuration:
wildcard NameVirtualHosts and _default_servers:
*:80 is a NameVirtualHost
default server dhcp-ip-address.mycompany.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost dhcp-ip-address.mycompany.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost powermon (/etc/apache2/sites-enabled/010-powermon:7)
Syntax OK
Actualmente, cuando accedo machine-name/
a un navegador, puedo navegar por mi directorio de inicio y ver los archivos según sea necesario. Lo ideal sería poder acceder machine-name/powermon
y ver mi aplicación ejecutándose.
Respuesta1
Dices que quieres configurar hosts virtuales Apache, pero luego dices esto:
Actualmente, cuando accedo
machine-name/
a un navegador, puedo navegar por mi directorio de inicio y ver los archivos según sea necesario. Lo ideal sería poder accedermachine-name/powermon
y ver mi aplicación ejecutándose.
Una ruta en un host no es un host virtual. Su configuración se establece de la siguiente manera: El tráfico powermon
va a una configuración. El tráfico dhcp-ip-address.mycompany.com
va a otra configuración.
Entonces, la única forma en que funcionaría una configuración de host virtual Apache es ir a esta URL y obtener una cosa:
dhcp-ip-address.mycompany.com
Luego vaya a esta URL y obtenga otra cosa:
powermon
La única forma de lograr esto a través de la configuración del host virtual Apache es alterar /etc/hosts
el archivo de su cliente de navegación web de esta manera. Supongamos que estos hosts virtuales están en un servidor con la dirección IP 123.456.78.90. Abra su hosts
archivo (estoy en una Mac, así es como lo haría) de nano
esta manera:
sudo nano /etc/hosts
Y agregue esta línea al final del archivo:
123.456.78.90 powermon
Ahora, cuando apunte su navegador web a:
http://powermon
Obtendrá la configuración del host virtual Apache que tiene implementada.
Pero nuevamente, está mezclando el concepto de ruta de servidor con un servidor virtual host. Así que necesitas resolver eso antes de hacer cualquier otra cosa. Además, la configuración de su host virtual powermon
parece inconexa. Los elementos que están afuera <VirtualHost *:80>
deben ir adentro. De lo contrario, esas opciones de configuración simplemente serán utilizadas por la default
configuración de todo el servidor de todos modos. Y la configuración User
& Group
también parece torpe. Los scripts deben configurarse para que puedan ser utilizados por el usuario y grupo de Apache. No de la otra manera. Pero asumiendo buena fe, así es como lo estructuraría:
Usuario p_user Grupo p_group
Nombre del servidor powermon DocumentRoot /home/p_user/Powermon/app/static Alias /static /home/p_user/Powermon/app/static
LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
FastCgiServer /home/p_user/Powermon/runp.fcgi -idle-timeout 300 -processes 5
AddHandler fastcgi-script fcgi
ScriptAlias / /home/p_user/Powermon/runp.fcgi
ErrorLog /home/p_user/Powermon/logs/powermon_error_log
<Location />
SetHandler fastcgi-script
</Location>
</VirtualHost>
Respuesta2
¿Está seguro de haber creado un enlace suave al archivo: /etc/apache2/sites-available/Powermon?
Algo como:
cd /etc/apache2/sites-enabled/
ln -s ../sites-available/Powermon