
내 컴퓨터에 웹사이트를 설정하려고 하는데 문제가 있습니다. 저는 Flask와 디버그 서버를 사용하여 웹사이트의 프로토타입을 만들었고, 이제 디버깅을 더 진행하는 동안 잠시 호스팅하고 싶습니다. 이는 회사 네트워크 내부에서만 사용됩니다.
Apache를 올바르게 구성할 수 없는 것 같습니다. 나는 현재 내 홈 디렉토리에 연결되는 기본 사이트를 운영하고 있으므로 웹 브라우저를 통해 다른 컴퓨터에서 파일을 가져올 수 있습니다.
나는 apache2.conf
전혀 변경하지 않았지만 여기에 내 httpd.conf가 있습니다.
<Location /server-status>
SetHandler server-status
Order Deny, Allow
Deny from all
Allow from .mycompany.com
</Location>
내 기본 구성은 다음과 /etc/apache2/sites-available/default
같습니다.
<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>
활성화하려는 앱에는 다음 위치에 있는 구성 파일이 있습니다./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>
활성화된 사이트 내에서 나는 보았습니다.
000-default -> ../sites-available/default
그래서 나는 추가했다
010-powermon -> ../sites-available/Powermon
그리고 내가 달릴 때 apache2ctl -S
나는 본다.
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
machine-name/
따라서 현재 브라우저로 이동하면 홈 디렉터리를 탐색하고 필요에 따라 파일을 볼 수 있습니다. 이상적으로는 machine-name/powermon
내 앱이 실행되는 것을 확인하고 싶습니다 .
답변1
Apache 가상 호스트를 설정하고 싶다고 말하면서 다음과 같이 말합니다.
machine-name/
따라서 현재 브라우저로 이동하면 홈 디렉터리를 탐색하고 필요에 따라 파일을 볼 수 있습니다. 이상적으로는machine-name/powermon
내 앱이 실행되는 것을 확인하고 싶습니다 .
호스트의 경로는 가상 호스트가 아닙니다. 구성은 다음과 같이 설정됩니다. 트래픽이 powermon
하나의 구성으로 이동합니다. 트래픽이 dhcp-ip-address.mycompany.com
다른 구성으로 이동합니다.
따라서 Apache 가상 호스트 설정이 작동하는 유일한 방법은 다음 URL로 이동하여 다음 중 하나를 얻는 것입니다.
dhcp-ip-address.mycompany.com
그런 다음 이 URL로 이동하여 다른 정보를 얻으세요.
powermon
Apache 가상 호스트 설정을 통해 이를 실제로 달성하는 유일한 방법은 웹 브라우징 클라이언트의 /etc/hosts
파일을 이와 같이 변경하는 것입니다. 이러한 가상 호스트가 IP 주소 123.456.78.90을 가진 서버에 있다고 가정해 보겠습니다. 다음과 같이 파일을 엽니다 hosts
. 저는 Mac을 사용하고 있으므로 다음과 같이 하겠습니다.nano
sudo nano /etc/hosts
그리고 파일 맨 아래에 다음 줄을 추가하세요.
123.456.78.90 powermon
이제 웹 브라우저에서 다음을 가리키면:
http://powermon
현재 가지고 있는 Apache 가상 호스트 설정이 제공됩니다.
그러나 이번에도 서버 경로 개념과 서버 가상 호스트를 혼동하고 있습니다. 그러므로 다른 일을 하기 전에 먼저 이 문제를 해결해야 합니다. 또한 가상 호스트 구성이 powermon
연결되지 않은 것 같습니다. 바깥에 있는 물건은 <VirtualHost *:80>
안으로 들어가야 합니다. 그렇지 않으면 해당 구성 옵션은 어쨌든 서버 전체 default
구성에서 사용됩니다. 그리고 User
& Group
설정도 복잡해 보입니다. 스크립트는 Apache 사용자 및 그룹이 사용할 수 있도록 설정되어야 합니다. 그 반대는 아닙니다. 하지만 선의로 가정하면 다음과 같이 구성하겠습니다.
사용자 p_user 그룹 p_group
서버 이름 powermon DocumentRoot /home/p_user/Powermon/app/static 별칭 /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>
답변2
정말로 /etc/apache2/sites-available/Powermon 파일에 대한 소프트 링크를 생성하셨습니까?
일부는 다음과 같습니다.
cd /etc/apache2/sites-enabled/
ln -s ../sites-available/Powermon