Arkadi, Goblins Chief писал(а):А как её ставить? Скачал. Распаковал. Что делать с этими каталогами?
Дык Аркадий
В документации же по LibC все написано, какие файлы и куда копировать.
Вобщем качай мой архив
http://novell.chel.ru/NWSoft/Apache/LibC/libc_api.2003.07.03.exeтам все по полочкам разложено
Arkadi, Goblins Chief писал(а):Расскажи пожалуйста что вообще с чем взаимосвязано. А то каша в голове. Для чего нужен Perl, а для чего PHP? А MySql зачем? Apache про них каким образом узнаёт?
Apache - это Web-сервер, портированный с *nix платформы
Perl - это скриптовый язык, ориентированый для работы под Web и не только Web, синтаксис похож на С (си), т.к. собственно сам он и был написан на Си
PHP - это тоже скриптовый язык, ориентированый для работы сугубо под Web, синтаксис тоже схож с Си
MySQL - SQL база данных разработанная MySQL AB, доступна по лицензии GNU General Public License (GPL)
Если коснуться проекта NVStat то:
- скрипты на Perl выполняют обработку лог-файлов Border Manager 3.X/WanStat/TSE 0.93f/Volera Excelerator 2.2 и вносят данные в базу MySQL
- скрипты на PHP нужны для упорядоченного просмотра и анализа данных лежащих в базе MySQL (просмотра естественно через Web)
Теперь как про Perl и PHP узнаёт Apache, да очень просто, из своего файла настройки sys:/apache/conf/httpd.conf
Для того чтобы Apache знал что *.pl или *.cgi файлы или любые другие расширения нужно не просто открывать, а исполнят, то есть чтоб их код обрабатывал внешний обработчик и возвращал то что нужно в httpd.conf пишутся строчки:
LoadModule lcgi_module modules/mod_lcgi.nlm
AddHandler lcgi-script nlm pl cgi
LCGIModuleMap sys:\nsn\lcgi\scrptpgs.nlm .asp .nsp /sp
LCGIModuleMap sys:\nsn\lcgi\cgi2ucs.nlm .bas /nsn
LCGIModuleMap sys:\perl\lcgi\cgi2perl.nlm .cgi .pl /perl
AddEnvVar PERL_ROOT web:/novell/cgi-bin
ScriptAlias /perl/ "web:/novell/cgi-bin/"
<Directory "web:/novell/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Ну если я начну объяснять что каждая делает то и часа не хватит
Расскажу только про web:/novell/cgi-bin/ - там и лежат скрипты на Perl'е (каталог может быть другим), НО обязательно cgi-bin должен бать выше по уровню чем корневой каталог где хранятся обычные HTML файлики
ScriptAlias /perl/ "web:/novell/cgi-bin/" этой сторокой мы создаем алиас, то есть при обращении
http://server/cgi-bin/test.pl сервер ищет файл test.pl в каталоге web:/novell/cgi-bin/ и обработчик cgi2perl.nlm исполняет его
Криво конечно обьяснил как усё ето работает, НО по другому не умею
То есть можно сделать вывод что скрипты на Perl'е должны лежать строго в опред-м каталоге и чтобы их нельзя было просмотреть, а только выполнить (директива Options ExecCGI)
Про PHP все ещё проще, чтоб его подкл. к Apache нужно вот что добавить в httpd.conf:
LoadModule php4_module modules/mod_php.nlm
<IfModule mod_php4.c>
AddType application/x-httpd-php .php .php3 .php4
</IfModule>
Ну и поправить имеющуюся директиву
DirectoryIndex Index.html
на
DirectoryIndex Index.html Index.php Index.php3 Index.php4
AddType application/x-httpd-php .php .php3 .php4 говорит Apache что все файлы с расширением *.php, *.php3, *.php4 обрабатывал внешний обработчик PHP
Из выше написанного следует что файла *.php могут проживать в любом каталоге web-сервера
Незнаю Аркадий поймети ли вы мои объяснения