Apache-2.2
同一台伺服器上的多個 Apache 虛擬主機
我正在嘗試設置一個虛擬主機/重定向點,以便我可以在一個站點上擁有兩個不同的系統。
到目前為止,這就是我所擁有的:
NameVirtualHost 89.104.220.207:80 NameVirtualHost 89.104.220.207:1500 # # NOTE: NameVirtualHost cannot be used without a port specifier # (e.g. :80) if mod_ssl is being used, due to the nature of the # SSL protocol. # # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # <VirtualHost 89.104.220.207:80> ServerAdmin webmaster@example.com DocumentRoot /var/www/******/html ServerName www.******.dk ServerAlias ******.dk ErrorLog /var/www/*****.dk/logs/error_log </VirtualHost> <VirtualHost 89.104.220.207:1500> ServerAdmin webmaster@example.org DocumentRoot /var/www/******/ ServerName ******* ServerAlias ******.dk ErrorLog /var/www/*****.dk/logs/error_log </VirtualHost>
我的想法是,如果我去 89.104.220.207:1500 那麼我應該打開
/var/www/foo/
然而,這似乎不起作用:當我嘗試為 foo 輸入 I 時,沒有任何反應,或者我得到一個錯誤。如果你去 89.104.220.207:1500 你會看到你得到一個錯誤。
要
apache
監聽非標準埠,您需要將Listen
指令添加到httpd.conf
:Listen 1500
在
SELinux
受保護的機器上,這將導致apache
無法啟動,因為這SELinux
將阻止對所有非標準 http 埠的訪問。要解決此問題:
# semanage port -a -t http_port_t -p tcp 1500
然後確認它已添加:
# semanage port -l | grep '^http_port_t' http_port_t tcp 1500, 80, 443, 488, 8008, 8009, 8443
注:
semanage
在policycoreutils-python
包裝內。
apache
現在應該啟動並且虛擬主機應該在非標準埠上工作。請記住,當使用非標準埠時,您的防火牆可能需要打開:
# iptables -I INPUT -p tcp --dport 1500 -j ACCEPT # service iptables save