Проблема с Apache
Возникла проблема с Апачем под FreeBSD. Значит так, html страницы из htdocs отображаются нормально, а вот скрипты CGI и PL в браужере отображаются лишь html кодом и не более. В чём проблема - понять не могу, надеюсь на ваш опыт и что вы мне поможете. Спасибо за внимание.
----- Код страницы: #!/usr/local/bin/perl5 use CGI::Carp qw(fatalsToBrowser); print qq( <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Yo-Ho-Ho Mother fuckers!!!</title> </head> <body text="red"> <p align="center"> <img src="images/logo.png" width="300" height="50" border="0" alt="Yo-Ho-Ho" align="middle" /> </p> <p><font face="Verdana" size="2" color="black">23 june 02:05 nigth</font></p> <div align="left"><font face="Verdana" size="2">Welcome to my fucking web-sait! I'm glade to see you, dear (ip). So, if you like my dizaign - please, push the button, if else - go fuck your self some of bitch!!! Well, you know, it is not a simple thing to create, to create saits, programms or anything else. For what I write these bullshit??? He... I really don't know, so fuck off - I'm going to sleep.</font></div> </body> </html> ); ------------- Текст, который отображается в браузере: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Yo-Ho-Ho Mother fuckers!!!</title> </head> <body text="red"> <p align="center"> <img src="images/logo.png" width="300" height="50" border="0" alt="Yo-Ho-Ho" align="middle" /> </p> <p><font face="Verdana" size="2" color="black">23 june 02:05 nigth</font></p> <div align="left"><font face="Verdana" size="2">Welcome to my fucking web-sait! I'm glade to see you, dear (ip). So, if you like my dizaign - please, push the button, if else - go fuck your self some of bitch!!! Well, you know, it is not a simple thing to create, to create saits, programms or anything else. For what I write these bullshit??? He... I really don't know, so fuck off - I'm going to sleep.</font></div> </body> </html> Дата: 24-06-2005 на 15:07 |
Надо первой строкой отдать браузеру заговок:
Код:
print "Content-Type: text/html\n\n"; |
и еще:
где лежит Perl-скрипт и какие права на него выставлены? |
Спасибо, я попросту забыл прописать эту строку в скрипте. Всем спасибо, как говориться - отбой! :)
|
Разобравшись с отображением скриптов в браузере и при изучении в тоё же книги ("Разработка CGI-приложений на PERL") я столкнулся с новой проблемой...
--- И так. В одном из первых примеров скриптов в книге даётся ведение статистики пользователей. А именно занесение информации о пользователях, посетивших твой сайт в таблицу acess_log базы данных visitors на сервере mysqlhost. Сервер apache носит имя localhost. Занеся SetENV visitors@mysqlhost для создания новой переменной окружения в httpd.conf я понял, что по какой то причине переменная не создаётся. Посему слегка модифицировал код своего модуля LogConnect.pm до такого состояния: Цитата:
Далее, я написал два скрипта, первый (vislog.cgi) для ведения статистики, а второй (viewlog.cgi) для её отображения. Вот их код: Цитата:
Цитата:
Однако при запуске любого из этих скриптов выдаётся сообщение: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, santaxp@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/1.3.20 Server at localhost Port 80 |
Так, я залез в логи и нашёл ошибку в синтаксисе. Немного подредактировал LogConnect.pm и теперь он выглядит так:
Цитата:
Цитата:
my $host = gethostbyaddr(my $address, AF_INET); Он больше не жалуется по этому поводу, однако я не уверен, что так писать правильно... Далее, он пожаловался, что нет модуля mysql.pm Посему я через CPAN установил его. Были проблемы с исходниками и их пришлось немного подправить, правда пока всё работает, слава богу. Далее я опять запускаю vislog.cgi и вот, что он мне выдаёт: Цитата:
И это ещё не всё! :( После mysql стала глючить, ибо он якобы не видел созданный мною mysqlhost и пришлось в LogConnect заменить это на localhost. Однако теперь при попытке в mysqlcc создать новый MySQL Server, скажем, localhost он пишет мне вот это: Цитата:
Ужас! Что мне со всем этим делать??? |
SantaXP
версия mysql? у них с переходом на 4.1 были некоторые довольно существенные изменения. Посмотрите тему "MySQL4.0->MySQL4.1 проблемы миграции". В частности: Цитата:
|
Версия 5.0.0_2.
Однако ничего похожего в теме не нашёл. Блин, мне бы расшифровать данную фигню, которую мне пишет MySQL, точнее mysqlcc, а то очень надо. :( |
Опытным путём, я выяснил, что MySQL отказывается принимать пользователся root, как верховного (если можно так сказать :) ), но зато прекрасно даёт доступ ко всему пользователю mysql. Однако, при попытке подключения к серверу, если установить пароль на него командой: mysqladmin -u root password 123456 (скажем, такой простой и идеальный в домашних условиях пароль :) ) MySQL выдаёт сообщение:
---- [localhost] ERROR 1250: Client does not support authentication protocol requested by server; consider upgrading MySQL client ---- Посему, без пароля всё работает чётко, однако каким образом этого избежать не ясно. Даже, если не учитывать данную "мелкую" придирчивость MySQL к паролям (может даже всвязи с неопытностью по отношению к ней) так, без пароля, можно жить и дальше. Но вопрос: ---- Software error: Can't call method "prepare" without a package or object reference at /usr/local/apache/cgi-bin/system/vislog.cgi line 34. For help, please send mail to the webmaster (santaxp@localhost), giving this error message and the time and date of the error. ---- Остаётся неразрешённым... :( Ещё раз спасибо всем за внимание и терпение... |
Сказано же, обновите mysql клиент, потому как не поддерживается данный протокол аутентификации
|
Хе... У меня пятая версия - куда выше???
---- Хех... Со скриптом я разобрался, правда с трудом, однако проблема с MySQL осталась. В чём собака зарыта - не понятно. В любом случае - спасибо за внимание... |
Клиентская либа, которая используется в perl точно 5 версии?
|
archy
Э... В смысле моуль mysql.pm??? Я его через cpan на комп инсталил... Были проблемы с сырцами и пришлось их немного подредактировать... |
SantaXP
Вообщем разберись сначала с верчиями своих либ, потом будем смотреть, что к чему... сколько раз можно говорить, что во фре для установки программ есть порты!? Установи все оттуда и не будет таких вопросов, а хочется геморроя, разгребай его сам и не пудри людям мозги. (ничего личного, просто надоело уже...) |
archy
Блин, mysql.pm работает!!! Как модуль к PERL ставить через порты???? Для этого есть cpan!!! |
Предлагаю закрыть тему, пока SantaXP не установить все из портов
|
archy
Блин, ну чё ты упёрся, как баран на новые ворота? Этот модуль прекрасно работает, а вот MySQL нет - и именно MySQL я устанавливал из ПАКЕТОВ!!! ;) ---- Если брать модуль mysql.pm из пакетов, то он лишь под 3-ю версию MySQL, ибо требует её наличие, которая, в свю очередь конфликтует с 5-й версией (которая у меня стоит)! А из cpan (из которого инсталят ВСЕ нормальные PERL программисты) у меня всё прекрасно работает и запускается, причём метод, что в портах, что в cpan один и тот же! Сначала ищет последнюю версию модуля на сервере, копирует на комп и далее устанавливает make -> make install. ;) |
SantaXP
Вобщем слушай, как баран я тебе разжую эту траву, перед тем как устанавливать что либо нужно прочитать об этом... начиная с mysql4 поменялась система аутентификации, посему шлифуем сюда и внимательно читаем. Там сказано, чтобы использовать мускуль4 со старыми клиентами нужно юзать ключик --old-passwords для mysqld и только после этого задавать пароли. |
Время: 17:19. |
Время: 17:19.
© OSzone.net 2001-