Назад | Перейти на главную страницу

как заставить apache2 слушать локальный хост и локальный компьютер

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

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

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

Проверить с 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.