LINUX.ORG.RU
решено ФорумAdmin

Apache2 + index.cgi


0

0

Есть Apache/2.2.8 (Ubuntu).

Очередной виртуальный хост — программа на newLISP, которая состоит из ряда cgi-скриптов прямо в корне и разных служебных папок.

Пишу в sites-available/default:

ServerName localhost:86
NameVirtualHost *:86
<VirtualHost *:86>

  Options +ExecCGI +SymLinksIfOwnerMatch

  DirectoryIndex index.cgi

  DocumentRoot /var/www/tickets

</VirtualHost>

При заходе на localhost:86 сервер выводит мне листинг скрипта index.cgi.

Как мне сделать так, чтобы cgi скрипты исполнялись, а не-цги файлы (кроме js, jpg, css), наоборот, не показывались?

Пока мне удалось найти только одно решение: перелопатить скрипт так, чтобы все скрипты были в cgi-bin, а все html файлы были в корне. Тогда я смогу поставить переадресацию из index.html на cgi-bin/index.cgi.

Однако мне кажется, что должно быть и более простое решение.


Ответ на: комментарий от helios

Да вряд ли. Он же показывается.

-rwxr-xr-x 1 www-data www-data 158 2010-04-05 16:22 index.cgi
Ritz ()

Не настаиваю, но может быть вместо «DirectoryIndex index.cgi» имелось в виду «DirectoryIndex /index.cgi»?

berrywizard ★★★★★ ()
Ответ на: комментарий от power

Проверил сейчас: работают оба варианта, и index.cgi и /index.cgi.

А пишу я хитрую систему тикетов с блэкджеком и шлюхами.

Ritz ()
Ответ на: комментарий от Ritz

Объясняю тонкость.

Структура веб-каталогов сервера:

/
/index.cgi
/file1
/file2
/dir1/
/dir1/index.cgi
/dir1/file1
/dir1/file2
/dir2/
/dir2/file1
/dir2/file2


1) «DirectoryIndex index.cgi»

На запрос «http://server.domain.tld/» отработает /index.cgi, на запрос «http://server.domain.tld/dir1/» отработает /dir1/index.cgi, на запрос «http://server.domain.tld/dir2/» отработает штатный апачевский mod_index.

2) «DirectoryIndex /index.cgi»

На все запросы («http://server.domain.tld/», «http://server.domain.tld/dir1/», «http://server.domain.tld/dir2/») отработает только /index.cgi.

FYI

berrywizard ★★★★★ ()
Ответ на: комментарий от berrywizard

Спасибо! Это очень годное свойство. Получается, я могу прописать для надёжности

[code]DirectoryIndex /index.cgi[/code]

и защитить тем самым все подпапки от просмотра листинга любопытными.

Ritz ()
Ответ на: комментарий от power

На мой взгляд, newLISP — самый весёлый из всех ЛИСП'ов. Девиз newLISP: «кладём удовольствие обратно в ЛИСП».

По моему опыту, девиз полностью правдивый. Когда я пишу на newLISP, я испытываю удовольствие от магии программирования. Когда я пишу на других диалектах, даже на Scheme, подобного удовольствия я не испытываю.

Алсо newLISP бесплатный, очень хорошо документирован, развивается весьма вменяемыми товарищами ну и так далее. Рекомендую сильно.

Ritz ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.