Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Оптический модуль.

Автор: KVCH
Дата сообщения: 01.09.2002 06:44
j
Матай на ус то что ниже напишу

Расказываю...
Кадато увидил перл-скрипт... 1ю строку: #!/usr/bin/perl

я понял что выпендриваться с перлом, а также апачем не надо (выпендриваться - какието идиоты придумали папку Program Files (Гейтс какойто) ... иногда полезную ). Но ета папка не для Апача и не для перла.. У меня в2к проффи... я сделал диск (раздел) специально для сервера назвал его S и в корень поставил апачь в папку S:\Apache и перл в папку S:\Usr\bin...
После такой установки перл скрипты запускаемые из папки апачя cgi-bin т.е. http://127.0.0.1/cgi-bin/test.cgi с первой строкой #!/usr/bin/perl РАБОТАЮТ ПРАВИЛЬНО И СРАЗУ !!!!!!!! Не нужно не в реестре ковыряться ни конфиг крутить... Если вся ета затея для цацек-пецек (установка апачя и перла) то лучше вообще не ставить ничего.. А если серьёзно работать с етим т.е. программить например, то лучше ставить всё красиво ! Я не знаю точно но уверен что апачь и перл сразу наверно были под линуху написаны а не под винду и поетому Я решил симитировать пути как в линухе... т.е. выдилив диск S и забыв про папку Програм Филес... вот так то ...

IntenT
ExecCGI - Вообще ты знаешь для чего это ?

По дефолту в апаче написано в конфиге:

<Directory "S:/Apache/htdocs">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

ScriptAlias /cgi-bin/ "S:/Apache/cgi-bin/"
<Directory "S:/Apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

#AddHandler cgi-script .cgi

Вот с такими параметрами оно и работает ! строка AddHandler cgi-script .cgi ЗАКОМЕНТИРОВАНА и не надо никаких ExecCGI .. а для чего же тада оно ? А ? хехе ... ща тоже раскажу

Это то что я всегда хотел и чего я сам добился...
ExecCGI позволяет запускать из етой директории (из любой !!!) СЖИ скрипты !!!!
AddHandler cgi-script .cgi - а ето обрабатывание файлов .cgi как СЖИ проги...
ну вообщем понятно ... т.е. тем самы если Я сделаю такой конфиг:

<Directory "S:/Apache/htdocs">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>

# ScriptAlias /cgi-bin/ "S:/Apache/cgi-bin/"
# <Directory "S:/Apache/cgi-bin">
# AllowOverride None
# Options None
# Order allow,deny
# Allow from all
# </Directory>

AddHandler cgi-script .cgi

то Я могу скрипт test.cgi положить в папку S:/Apache/htdocs и запускать скрипт из http://127.0.0.1/test.cgi

Может ето и плохо запускать не через псевдоним но у меня работает ! Если ето плохо то объясните почему... А при написании хорошего сайтика с путями такими намного легче ! Да и у ЕТОГО ЖЕ ФОРУМА СКРИПТЫ ЛЕЖАТ В КОРНЕ !!! Жаль что токо большинство хостеров на путях c cgi-bin сидять ... а када я по мылу консультился у ДКЛаб мне ничего несказали по поводу ExecCGI и AddHandler cgi-script .cgi...

Вот так то....
Автор: lynx
Дата сообщения: 01.09.2002 22:00

Цитата:
Да и у ЕТОГО ЖЕ ФОРУМА СКРИПТЫ ЛЕЖАТ В КОРНЕ !!!


Не надо говорить то, чего не знаешь. Есть такое понятие как Alias

Добавлено
И поддомен.
Автор: KVCH
Дата сообщения: 02.09.2002 01:17
lynx

Я когда не знал как сделать чтоб скрипты так работали... Я тоже прописывал алиас...

А корень ... я не правильно сказал ... т.е. я хотел сказать не http://forum.ru-board.com/cgi-bin/topic.cgi?forum=8&topic=0025&start=20#12 А http://forum.ru-board.com/topic.cgi?forum=8&topic=0025&start=20#12 во...
ссори... ты луче раскажи хорошо ли ето или плохо ?
Автор: lynx
Дата сообщения: 02.09.2002 02:46
KVCH


Цитата:
ты луче раскажи хорошо ли ето или плохо ?


Что хорошо или плохо?



Цитата:
не http://forum.ru-board.com/cgi-bin/topic.cgi?forum=8&topic=0025&start=20#12 А http://forum.ru-board.com/topic.cgi?forum=8&topic=0025&start=20#12


Смотри.
Пример 1.
Например у тебя документ рут:

<VirtualHost *>
DocumentRoot /home/wwwhost/

....

#А теперь ты хочешь скрипты
#Смотри внимательно
ScriptAlias /cgi-bin/ "/var/scripts/wwwhost/"

#То есть скрипты вообще никак не в директории хоста
#Вроде как так безопасней... не знаю.

</VirtualHost>

Теперь смотри дальше.
Пример 2.

<VirtualHost 192.168.12.6>
ServerName www.myhost.com
DocumentRoot /usr/local/wwwmyhost/
.......

ScriptAlias /cgi-bin/ "/usr/local/myhost/cgi-bin/"

#При таком раскладе скрипты будут доступны по:
# www.myhost.com/cgi-bin/


</VirtualHost>

Дальше продолжаем.

<VirtualHost 192.168.12.6>
ServerName www.forum.myhost.com
DocumentRoot "/usr/local/myhost/cgi-bin/"

.......
</VirtualHost>

Понятно, нет?
Автор: KVCH
Дата сообщения: 02.09.2002 03:17
да вроде... но мне интересно как ето отражается на безопасность скрипта.. т.е. реальнее ли в моём случае с ExecCGI увидеть исходник ?... я так понимаю что если я разрешуху нечяйно скрипту дам не ту тогда его смогут увидеть... что врядли будет с моей стороны... просто чем хорош скрипт алиас тем что директорию всю блокирует... т.е. токо скрипты там и пашут... но также вечная проблема взять картинку оттуда... приходится делать типа нон-сжи директорию...
Автор: Neo
Дата сообщения: 02.09.2002 19:41
ЛЮДИ!!!! Идите все сюда, тут всё настолько просто, что аж париться не нужно совсем, только нужно скачать всё что можно кроме 3-го ПХП и проинсталлить, а дальше - полный рулеззз!
http://www.dklab.ru/chicken/web/
Автор: lynx
Дата сообщения: 03.09.2002 04:30
KVCH


Цитата:
т.е. реальнее ли в моём случае с ExecCGI увидеть исходник ?...


Ну, если с сервером все в порядке, то он по любому будет интерпретировать файлы как исполняемые, если стоит execCGI

Так что имхо - все равно. Хотя... Из других соображений, особенно, если на сервере еще кто-то хостится, то лучше уносить свою cgi-bin директорию подальше - куда у юзеров нет доступа.


Цитата:
Идите все сюда


Не, это не тот форум. Тут админы. А эта игрушка для тех, кому лишь бы все работало без лишний хлопот.
Потому как:


Цитата:

Теперь вам не нужно вообще исправлять httpd.conf и файл hosts — система сделает это за вас.


Это в корне не то. То есть принципиально не подходит. Админам. Для тех, кому быстренько на локалхосте надо потестить скрипты - тогда да.
Автор: KVCH
Дата сообщения: 03.09.2002 05:29
lynx

Сервак буду я админить удалённо... причём ХА... может и смешно... но по ФТП ... почему ? а конфиг апача - текстовый файл... перегрузить его тоже смешно я разрешил выполнять БАТ файлики вот захожу в диру запускаю БАТ котрый перезапустит апачик... пробывал я его перезапускать находу при том када качал (на локалхосте) фильму 700 МБ сбоев не было ,скорость не упала и изменения всилу вступили... А юзерить я сам там буду а если кому надо будет сайт (из моих знакомых) то всё через меня ... так что я думаю что со скриптами будет всё ОК ... я верю в АПАЧЬ ! ето не ИИС

я вот БАТ файлы "служебные" хочу в дире хранить попасть в которую можно только после авторизации... раздуплил утилиту вложенную с апачем создаю пассворд файл и... нефига не пашеть...
всё моё тут описано http://forum.ru-board.com/topic.cgi?forum=8&topic=1024#1 но меня НьюЁрк киданул на поиск... поюзал я поиск и нефига толкового не нашёл...


ПС - вера заключается в том что он меня не подведёт ... и что стабильно будет работать... в то время как ИИС глючит поконкретному...
Автор: Excell
Дата сообщения: 25.01.2003 04:54
Neo

Цитата:
скачать всё что можно кроме 3-го ПХП и проинсталлить, а дальше - полный рулеззз!
http://www.dklab.ru/chicken/web/

ну не впечатлило....
Автор: liks
Дата сообщения: 26.01.2003 17:06
А кто подскажет как ограничить размер лог файла в Апач?
Автор: lynx
Дата сообщения: 26.01.2003 22:40
liks

Как ограничить я не знаю. Но можно делать отдельный лог по промежутку времени, например, раз в сутки. Делается это с помощью утиллиты rotatelogs (выдержка из реального httpd.conf):

ErrorLog "|/usr/local/apache2/bin/rotatelogs /var/log/wwwsite/error.log 86400"
TransferLog "|/usr/local/apache2/bin/rotatelogs /var/log/wwwsite/access.log 86400"

где 864000- чсло секунд (то есть сутки)

Итог: для каждого дня свой лог:

bash-2.05$ cd /var/log/wwwsite/
bash-2.05$ ls -la
total 56077
drwxr-xr-x 2 root wheel 28672 Jan 26 03:12 .
drwxr-xr-x 7 root wheel 2048 Jan 26 22:00 ..
-rw-r--r-- 1 root wheel 4711 Oct 5 03:57 access.log.1033689600
-rw-r--r-- 1 root wheel 221642 Oct 6 03:59 access.log.1033776000
-rw-r--r-- 1 root wheel 251004 Oct 7 03:59 access.log.1033862400
-rw-r--r-- 1 root wheel 212570 Oct 8 00:10 access.log.1033948800
-rw-r--r-- 1 root wheel 191322 Oct 9 03:43 access.log.1034035200
-rw-r--r-- 1 root wheel 311646 Oct 10 03:42 access.log.1034121600
-rw-r--r-- 1 root wheel 416145 Oct 11 03:59 access.log.1034208000
-rw-r--r-- 1 root wheel 729719 Oct 12 03:54 access.log.1034294400
-rw-r--r-- 1 root wheel 224628 Oct 13 03:59 access.log.1034380800
-rw-r--r-- 1 root wheel 177907 Oct 14 03:57 access.log.1034467200
-rw-r--r-- 1 root wheel 326221 Oct 15 03:57 access.log.1034553600
-rw-r--r-- 1 root wheel 254841 Oct 16 03:59 access.log.1034640000
-rw-r--r-- 1 root wheel 247408 Oct 17 03:57 access.log.1034726400
-rw-r--r-- 1 root wheel 276058 Oct 18 03:54 access.log.1034812800

и т.д.



Автор: liks
Дата сообщения: 28.01.2003 19:36

Цитата:
Как ограничить я не знаю. Но можно делать отдельный лог по промежутку времени, например, раз в сутки. Делается это с помощью утиллиты rotatelogs (выдержка из реального httpd.conf):

ErrorLog "|/usr/local/apache2/bin/rotatelogs /var/log/wwwsite/error.log 86400"
TransferLog "|/usr/local/apache2/bin/rotatelogs /var/log/wwwsite/access.log 86400"


Это надо прописать в замен этого?
ErrorLog logs/error.log
CustomLog logs/access.log common
Автор: lynx
Дата сообщения: 28.01.2003 22:12
liks


Цитата:
Это надо прописать в замен этого?
ErrorLog logs/error.log
CustomLog logs/access.log common


Угу, только точный путь к rotetalogs укажи как у тебя.
Автор: quamque
Дата сообщения: 29.01.2003 14:09
А как запретить Apache показывать содержиме каталогов?

И ещё, когда я пытаюсь зайти по ссылке типа somedomain.tld/somedir, где somedir некоторая директория содержащая index.html, пишет: не могу отобразить страницу, если добавить слэш: somedomain.tld/somedir/ - всё работает. Как сделать так чтобы в обоих случаях работало?
Автор: lynx
Дата сообщения: 29.01.2003 14:38
quamque


Цитата:
как запретить Apache показывать содержиме каталогов?


<Directory путь>
Options -Indexes
</Directory>

За просмотр содержимого каталогов отвечает директива Indexes, ее либо не должно быть, либо -Indexes

Есть другой способ:

<Directory ...>
DirectoryIndex index.html
#то есть куказываешь, какой файл сервер должен отдавать, если имя файла на задано, а задано только имя папки, Апач будет пытаться найти сначала и отдать этот файл, а только потом отображать содержимое каталога. Тогда можно опцию Indexes не ыключать, только надо не забывать во все папки этот файл класть.





Добавлено
quamque


Цитата:
когда я пытаюсь зайти по ссылке типа somedomain.tld/somedir, где somedir некоторая директория содержащая index.html,   пишет: не могу отобразить страницу, если добавить слэш: somedomain.tld/somedir/  - всё работает. Как сделать так чтобы в обоих случаях работало?


Покажи настройки конфига этот директории.
Автор: quamque
Дата сообщения: 29.01.2003 16:40
lynx
Спасибо. Options -Indexes помогает
Настройки конфига директории теперь такие:

Цитата:

<Directory "/usr/local/www">
Options -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>


Есть идея использовать RedirectMatch, читать URL и добавлять слэш в конце, если URL похожа на директорию, но подозреваю, что существуют более простые решения
Автор: lynx
Дата сообщения: 29.01.2003 17:08
quamque

Цитата:
<Directory "/usr/local/www">


Слеш после www поставь и не мучайся.
Автор: liks
Дата сообщения: 29.01.2003 19:04
Помогите, Apache не хочет качать файлы *.exe, другие файлы скачиваются без проблем, а на *.exe выдает ошибку.
Автор: lynx
Дата сообщения: 29.01.2003 19:53
liks


Цитата:
а на *.exe выдает ошибку


Какую? как качаешь? Конфиг покажи (выложи). Какой Апач?

Автор: quamque
Дата сообщения: 30.01.2003 12:41
lynx

Цитата:
Слеш после www поставь и не мучайся.

Ты не поняла меня. Проблема не в этом, проблема с каждой поддиректорией, т.е. если не указать слэш в конце любой поддиректории Апач пытается прочесть её как обычный файл и разумеется не находит.
Вот пример неграмотной настройки веб-сервера:
http://www.rambler.ru/db/weather - не работает
а так
http://www.rambler.ru/db/weather/ - работает


liks

Цитата:
а на *.exe выдает ошибку

В Addhandler видимо .exe стоит, убери его
Автор: lynx
Дата сообщения: 30.01.2003 12:46
quamque


Цитата:
Ты не поняла меня.


Я тебя поняла. Вот так в конфиге напиши:


Цитата:
<Directory "/usr/local/www/">


для директории документРут

Добавлено
И вообще, когда конфигуришь директории, всегда пиши слеш в конце - так корректней.
Автор: quamque
Дата сообщения: 30.01.2003 13:41
lynx
пробовал, не помогает
Автор: lynx
Дата сообщения: 30.01.2003 14:47
quamque

Попробуй так:

Options MultiViews


Если не поможет, выкладывай конфиг.
Автор: quamque
Дата сообщения: 30.01.2003 15:57
lynx
Options MultiViews не помогла.
Но я отключил UseCanonicalName, эта инструкция полезна для интранет пользователей, что никак не связано с моей задачей, но как ни странно это помогло
Автор: lynx
Дата сообщения: 30.01.2003 16:09
quamque


Цитата:
я отключил UseCanonicalName, эта инструкция полезна для интранет пользователей, что никак не связано с моей задачей, но как ни странно это помогло


Гм... бывает. Имхо ты скорее всего просто неудачно рестартанул, ладо, все бывает...
Автор: quamque
Дата сообщения: 30.01.2003 18:47
lynx
Нет, именно отключение этой инструкции помогло, правда на других серверах она включена и всё работает как надо. Наверное баг какой-то
Автор: liks
Дата сообщения: 30.01.2003 20:32
lynx

Цитата:
Какую? как качаешь? Конфиг покажи (выложи). Какой Апач?

Ну, вот пример:
You don't have permission to access /Files/20.exe on this server.
Если файл переименовать в 20.ex то файл скачивается на ура.
Apache/1.3.23 (Win32)
Что из конфига, он же большой
Автор: lynx
Дата сообщения: 30.01.2003 20:47
liks


Цитата:
ou don't have permission to access /Files/20.exe on this server.


Ну, донт пермишн, значит донт пермишен. Посмотри, кому файл принадлежит.

И покажи настройки, мне интересно стало аж Выложи конфиг. Только не сюда.


Цитата:
Что из конфига, он же большой


Я не знаю, может там правило какое, ты его выложи в txt-формате куда-нть.
Автор: liks
Дата сообщения: 31.01.2003 00:23
lynx

Цитата:
Ну, донт пермишн, значит донт пермишен. Посмотри, кому файл принадлежит.

Владелец - Администратор, как 20.exe, так и после переименования в 20.ex.

Цитата:
Я не знаю, может там правило какое, ты его выложи в txt-формате куда-нть.

Конфиг я послал тебе на e-mail.
Автор: lynx
Дата сообщения: 31.01.2003 19:13
liks

У тебя экзешники прописаны как скрипты:

AddHandler cgi-script .cgi .bat .exe

Апач и пытается их как сприпты выполнить и у него ничего не получается

Напиши:

AddHandler cgi-script .cgi .bat .pl

Тогда он будет их предлагать скачать

Страницы: 123

Предыдущая тема: Постоянные непонятные BSOD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.