
自分のマシンに Web サイトをセットアップしようとしているのですが、問題が発生しています。Flask とデバッグ サーバーを使用して Web サイトのプロトタイプを作成しましたが、さらにデバッグする間、しばらくホストしておきたいと思います。これは、会社のネットワーク内での内部使用のみです。
Apache を正しく設定できないようです。現在、ホーム ディレクトリにリンクするデフォルトのサイトを実行しているので、Web ブラウザーを介して他のマシンからファイルを取得できます。
私は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
1 つの構成に送られます。 へのトラフィックはdhcp-ip-address.mycompany.com
別の構成に送られます。
したがって、Apache 仮想ホストのセットアップが機能する唯一の方法は、この URL にアクセスして次の 1 つを取得することです。
dhcp-ip-address.mycompany.com
次に、この URL にアクセスして別のものを入手します。
powermon
Apache 仮想ホスト設定でこれを実際に実現する唯一の方法は、Web ブラウジング クライアントの/etc/hosts
ファイルを次のように変更することです。これらの仮想ホストが IP アドレス 123.456.78.90 のサーバー上にあると仮定します。ファイルを開きますhosts
(私は Mac を使用しているので、次のようにします) nano
。
sudo nano /etc/hosts
そして、ファイルの最後に次の行を追加します。
123.456.78.90 powermon
ここで、Web ブラウザで次のページにアクセスします。
http://powermon
Apache 仮想ホストの設定が完了します。
しかし、もう一度言いますが、サーバー パスの概念とサーバー仮想ホストの概念を混同しています。したがって、他の作業を行う前に、その点を解決しなければなりません。また、仮想ホスト構成がpowermon
ばらばらのようです。 の外側にある項目は<VirtualHost *:80>
内側に入れる必要があります。そうしないと、それらの構成オプションはサーバー全体の構成で使用されますdefault
。また、User
&Group
設定も不格好に見えます。スクリプトは、Apache ユーザー & グループが使用できるように設定する必要があります。その逆ではありません。ただし、誠意を持って対応していると仮定すると、次のように構成します。
ユーザー p_user グループ p_group
サーバー名 powermon ドキュメントルート /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