
Estou tentando configurar um site na minha máquina e estou tendo alguns problemas. Criei um protótipo do site usando o Flask e o servidor de depuração e agora gostaria de hospedá-lo um pouco enquanto o depuro ainda mais. Isso é apenas para uso interno na rede da minha empresa.
Não consigo configurar o Apache corretamente. Atualmente, administro um site padrão vinculado ao meu diretório inicial, para que possa obter arquivos de outras máquinas por meio de um navegador da web.
Não mudei apache2.conf
nada, mas aqui está meu httpd.conf
<Location /server-status>
SetHandler server-status
Order Deny, Allow
Deny from all
Allow from .mycompany.com
</Location>
Minha configuração padrão, localizada em /etc/apache2/sites-available/default
, tem
<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>
Embora o aplicativo que estou tentando ativar tenha o seguinte arquivo de configuração, localizado em/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 dos sites habilitados eu vi
000-default -> ../sites-available/default
Então eu adicionei
010-powermon -> ../sites-available/Powermon
E quando corro apache2ctl -S
eu vejo
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
Atualmente, quando acesso machine-name/
um navegador, posso navegar em meu diretório inicial e visualizar os arquivos conforme necessário. Idealmente, quero poder acessar machine-name/powermon
e ver meu aplicativo em execução.
Responder1
Você diz que deseja configurar hosts virtuais do Apache, mas depois diz o seguinte:
Atualmente, quando acesso
machine-name/
um navegador, posso navegar em meu diretório inicial e visualizar os arquivos conforme necessário. Idealmente, quero poder acessarmachine-name/powermon
e ver meu aplicativo em execução.
Um caminho em um host não é um host virtual. Sua configuração é definida da seguinte forma: O tráfego powermon
vai para uma configuração. O tráfego dhcp-ip-address.mycompany.com
vai para outra configuração.
Portanto, a única maneira de uma configuração de host virtual Apache funcionar é acessar esta URL e obter uma coisa:
dhcp-ip-address.mycompany.com
Então vá para este URL e obtenha outra coisa:
powermon
A única maneira de realmente conseguir isso por meio da configuração do host virtual Apache é alterar /etc/hosts
o arquivo do seu cliente de navegação na web desta forma. Vamos supor que esses hosts virtuais estejam em um servidor com endereço IP 123.456.78.90. Abra seu hosts
arquivo - estou em um Mac, então é assim que eu faria - assim nano
:
sudo nano /etc/hosts
E adicione esta linha no final do arquivo:
123.456.78.90 powermon
Agora, quando você aponta seu navegador para:
http://powermon
Você obterá a configuração do host virtual Apache que possui.
Mas, novamente, você está confundindo o conceito de caminho de servidor com host virtual de servidor. Então você precisa resolver isso antes de fazer qualquer outra coisa. Além disso, a configuração do seu host virtual powermon
parece desarticulada. Os itens de fora <VirtualHost *:80>
devem ir para dentro. Caso contrário, essas opções de configuração serão usadas pela default
configuração de todo o servidor de qualquer maneira. E as configurações User
& Group
também parecem confusas. Os scripts devem ser configurados para serem utilizáveis pelo usuário e grupo do Apache. Não o contrário. Mas assumindo boa fé, é assim que eu estruturaria:
Usuário p_user Grupo p_group
Nome do 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>
Responder2
Tem certeza de que criou um link virtual para o arquivo: /etc/apache2/sites-available/Powermon ?
Alguns gostam:
cd /etc/apache2/sites-enabled/
ln -s ../sites-available/Powermon