Доброго времени суток.Взялся скомпилировать и установить Apache 2.2.11 на SLES 10.2
До этого удалил дефолтный Apache 2.2.6 из source.rpm, не уверен что полностью...
./configure --prefix=/usr
make
make installНастроил httpd.conf.
Запускаю /usr/bin/httpd -k start
Так, к сведению, iptables у меня пустые, squid-а нет, PHP пока не ставил и связки не делал, инет работает на сервере, сервер пингуется из всех уголков мира =)
netstat -an выдает:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 XXX.XX.XXX.X:80 0.0.0.0:* LISTENА выдает ps -aux:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
daemon 12486 0.0 0.0 4096 1580 ? S 11:04 0:00 /usr/bin/httpd -k start
daemon 12487 0.0 0.0 4096 1580 ? S 11:04 0:00 /usr/bin/httpd -k start
daemon 12488 0.0 0.0 4096 1580 ? S 11:04 0:00 /usr/bin/httpd -k start
daemon 12489 0.0 0.0 4096 1572 ? S 11:04 0:00 /usr/bin/httpd -k start
daemon 12490 0.0 0.0 4096 1488 ? S 11:04 0:00 /usr/bin/httpd -k startОткрываю lynx на самой машине, ввожу IP и вижу:
"Внимание!: Не удается установить соединение с удаленной машиной."
"tcpdump dst XXX.XX.XXX.X and port 80" выдал при попытке зайти на сайт:
11:41:16.514883 IP NNN.NN.NNN.NNN.54843 > XXX.XX.XXX.X.80: S 1203825090:1203825090(0) win 5840 <mss 1460,sackOK,timestamp 3800112416 0,nop,wscale 7>
Подскажите как запустить этот загадочный Apache!?
>"tcpdump dst XXX.XX.XXX.X and port 80" выдал при попытке зайти на сайт:
>
>
>11:41:16.514883 IP NNN.NN.NNN.NNN.54843 > XXX.XX.XXX.X.80: S 1203825090:1203825090(0) win 5840 <mss 1460,sackOK,timestamp 3800112416 0,nop,wscale 7>iptables мешает?
>iptables мешает?Да вроде бы не мешает.
FTP, SSH и почта как-то же работают. А вот апач дурной попался, обычно с первого раза работал, а тут ни в какую.
>>iptables мешает?
>
>Да вроде бы не мешает.Может все же проверить, типа так:
iptables -Z && telnet IP 80 & iptables -L -v -n | grep -v '^[[:space:]]\+0[[:space:]]\+0 'Да, и в error-логе Apache что, есть такое:
[Mon May 11 18:33:39 2009] [notice] Apache/2.2.6 (Unix) configured -- resuming normal operations
?
>iptables -Z && telnet IP 80 & iptables -L -v -n |
>grep -v '^[[:space:]]\+0[[:space:]]\+0 '[1] 20319
Chain INPUT (policy ACCEPT 1897K packets, 633M bytes)
pkts bytes target prot opt in out source destinationChain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 1677K packets, 389M bytes)
pkts bytes target prot opt in out source destination
arcanite:/ # telnet: IP: Name or service not known
IP: Unknown host[1]+ Exit 1 iptables -Z && telnet IP 80
В error_log есть такое действительно:
[Mon May 11 10:44:54 2009] [notice] Apache/2.2.11 (Unix) configured -- resuming normal operations
[Mon May 11 10:57:17 2009] [notice] caught SIGTERM, shutting downА что это может означать?
>>iptables -Z && telnet IP 80 & iptables -L -v -n |
>>grep -v '^[[:space:]]\+0[[:space:]]\+0 '...
>arcanite:/ # telnet: IP: Name or service not known
>IP: Unknown host
>
>[1]+ Exit 1
> iptables -Z
>&& telnet IP 80
>А что это может означать?Это 100% означает что ты блондинко! :)))
Когда человек тебе высылал пример скрипта для проверки он в глубине души надеялся что ты все же беквосочетание IP - заменишь на айпишник своего сервера :))))
В общем понятно.Тогда так.
netstat -ntlp
killall -9 httpd
netstat -ntlp/путь_к_новому/apachectl start
netstat -ntlpСмотрим в лог.
telnet IP 80
Тьфу ты =))Вот что значит "поспешишь - народ насмешишь".
Я исправил "IP" на свой, а выложил первую реакцию серва на неисправленное.
Просто поторопился. Извиняйте за невнимательность.Да с IP моим тоже самое - пустые iptables.
Убил процесс, убедился что нет с помощью netstat.Запустил новый.
tcp 0 0 217.71.135.5:80 0.0.0.0:* LISTEN -
Вот результат лога:
[Wed May 13 13:06:29 2009] [warn] pid file /usr/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed May 13 13:06:29 2009] [notice] Apache/2.2.11 (Unix) configured -- resuming normal operationsВсе та же проблема =(
>tcp 0 0 217.71.135.5:80 0.0.0.0:* LISTEN -Странно, а почему нет pid'а процесса?
>Вот результат лога:
>
>[Wed May 13 13:06:29 2009] [warn] pid file /usr/logs/httpd.pid overwritten -- Unclean
>shutdown of previous Apache run?
>[Wed May 13 13:06:29 2009] [notice] Apache/2.2.11 (Unix) configured -- resuming normal
>operationsТут все хорошо.
А вообще можно как-нибудь скриптом или утилитой из сборки вычистить все файлы и папки принадлежащие апачу?До этого стоял apache2-2.2.6-src.rpm, потом админ сервера удалил так:
rpm --nodeps -e apache2Мне понадобился апач на сервере.
После этого я просто убедившись, что нет процесса такого скомпилировал и установил 2.2.11
После настройки вот и уткнулся с проблемой.
Под Windows у меня всегда и на Fedora Core сколько помню с первого раза ставилось.
А вот в этом случае пришлось восстанавливать...
Может библиотеки какие остались с прошлого?
Вообщем удалил с горем пополам все признаки apache, даже зацепил библиотеки безобидные =)Тернистым путем поставил из rpm-ов apache 2.2.11 для OpenSUSE 10.3 на SLES 10.2
rpm -ihv libexpat0-1.95.8-65.1.i586.rpm
rpm -ihv libdb-4_5-4.5.20-29.i586.rpm
rpm -ihv apache2-utils-2.2.11-7.3.i586.rpmrpm -ihv apache2-2.2.11-2.1.i586 apache2-prefork-2.2.11-7.3.i586
rpm -Uhv libapr-util1-1.3.4-6.1.i586.rpm
rpm -ihv libexpat1-2.0.1-87.2.i586.rpm
rpm -Uhv libapr1-1.3.3-7.1.i586.rpmДобавил ссылку в /usr/conf/~httpd.conf на /etc/apache2/httpd.conf
Создал папку /usr/logs для httpd.pid
Создал пустой файл /etc/apache2/sysconfig.d/include.conf
Поменял Listen 80 на Listen XXX.XX.XXX.X:80
Добавил ServerName <domain-name>:80
Сменил директорию корня на /home/wwwrootЗакомментировал LoadModules все, ибо они build-in.
Всё круто
[Thu May 14 00:07:39 2009] [notice] Apache/2.2.11 (Unix) configured -- resuming normal operations
Апач забегал
Даже
telnet XXX.XX.XXX.X 80
GET /index.html HTTP/1.0дает положительный результат - моя тестовая страница видна!!!
Но только с самого сервера если проверять. А с других не телнетится.Но вот по прежнему я не могу зайти на сайт ни откуда, ни с lynx, ни с браузеров...
Хоть убей =((
Хех так и не решилась трабла.Пробовал порт менять с 80 на 8080. Те же симптомы остались...
Может кто-нибудь сталкивался или хотя бы намекнет, что может ещё мешать открытию соединения с web-сервисом?
>Поменял Listen 80 на Listen XXX.XX.XXX.X:80
>tcp 0 0 217.71.135.5:80 0.0.0.0:* LISTEN -
>Может кто-нибудь сталкивался или хотя бы намекнет, что может ещё мешать открытию
>соединения с web-сервисом?Неужто сами не догадываетесь? Если вы привязали апач к определенному интерфейсу, то убедитесь что внешние обращения приходят именно на этот интерфейс. А еще лучше уберите привязку, пусть слушает на всех.
>Неужто сами не догадываетесь? Если вы привязали апач к определенному интерфейсу, то
>убедитесь что внешние обращения приходят именно на этот интерфейс. А еще
>лучше уберите привязку, пусть слушает на всех.Убрал привязку. Слушает всё
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :::80 :::* LISTEN -=(
Нет связи
Попробуем исключить влияние внешних факторов. Остановите апач. На его порт поставьте netcat в режиме listen и попробовать соединится извне. Если работает, то виноват апач, если нет, то что-то другое мешает.
>Попробуем исключить влияние внешних факторов. Остановите апач. На его порт поставьте netcat
>в режиме listen и попробовать соединится извне. Если работает, то виноват
>апач, если нет, то что-то другое мешает.На самой машине работает, то что пишу в окне #2, неткат, запущенный в #1, выдает в консоль. Извне сразу разрывается telnet соединение, из браузеров также.
Если работает апач, то при удаленной попытке tcpdump port 80 улавливает только
07:54:11.207076 IP XX.XXX.XXX.XX.dab-sti-c > NNN.NN.NNN.N.http: S 1361355390:1361355390(0) win 65535 <mss 1452,nop,nop,sackOK>
07:54:11.207340 IP NNN.NN.NNN.N.http > XX.XXX.XXX.XX.dab-sti-c: R 0:0(0) ack 1361355391 win 0Если собирать, компилировать требует от gcc возможность компиляции C++, а не стоит gpp.
Под SLES так и не нашёл что доставить.Мне уже давно админы сказали местные, проще ось снести, заново поставить.
Но ради апача рушить всё остальное...