Как заставить apache2 слушать localhost и сетевой компьютер

Я полностью понял что-то не так относительно прослушивания в Apache. мой вопрос сейчас когда я заставляю это слушать

NameVirtualHost *:80
Listen 127.0.0.1:80
Listen 192.168.1.23:80

это будет доступно через сеть? потому что мой интернет подключен к 192.168.1.23:80

1 ответ

Проверить с netstat этот apache прослушивает порт 80.

% sudo netstat -apn|grep :80
tcp        0      0 :::80                       :::*                        LISTEN      1318/httpd          

Также убедитесь, что у вас нет правил брандмауэра, блокирующих этот доступ, в частности, вы должны иметь ACCEPT правила на INPUT цепь для http,

% sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Вы можете временно отключить брандмауэр, чтобы подтвердить это:

% /etc/init.d/iptables stop

Итак, брандмауэр выглядит так:

% sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Я также проверил бы ошибку Apache и получил бы доступ к файлам журналов, большинство linux хранит их под /var/logвозможно /var/log/httpd, Обычно это 2 файла, error_log а также access_log,

Что касается ошибки, которую вы получаете при запуске, звучит так, как будто вам нужно установить ServerName переменная в вашем httpd.conf файл.

ServerName localhost

Это похоже на проблему с apache2 в Ubuntu. Я нашел несколько потоков на других сайтах, где решением было установить ServerName на localhost.

Другие вопросы по тегам