Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Бип из системно... 61903
Организация зап... 59284
Invision Power ... 59136
Приложение «Про... 58052
Модуль Forms 57426
Оператор выбора... 57303
Подключение Mic... 56730
Создание отчето... 56554
ТЕХНОЛОГИИ ДОСТ... 52778
Программируемая... 50459
Пример работы с... 48616
Имитационное мо... 48338
21 ошибка прогр... 43176
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,030
новичок: SLAVA_747
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование работы узла коммутации сообщений на GPSS + Пояснительная з...
Моделирование процесса обеспечивающего надежность функционирования АСУ Т...
Моделирование станции технического обслуживания на GPSS + Отчет

Реклама

Apache. Полезные советы
Как правило, Directory применяется только к каталогам. Ограничение доступа к отдельным файлам директивой может быть основано на ограничении доступа к запрошенному URL. Следовательно это может быть применимо к отдельным файлам. К примеру, для ограничение доступа к файлу /prices/internal.html для всех кроме 'domain.com', вы можете использовать


order deny,allow
deny from all
allow from .domain.com

Проблема с NCSA .htaccess файлами

В учебник NCSA по поводу .htaccess файлов приведен пример подобный этому:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic


order deny,allow
deny from all
allow from .my.domain

Это предназначено для ограничения доступа основанного на адресе браузера и здесь не требуется запрос для авторизации остальных пользователей. Проблема в том что Apache выводит запрос для ввода пароля, который не проходит, потому что тот не был установлен. В Apache наличие Auth* директив необязательно. Это правится удалением строк содержащих Auth* .

Как увеличить скорость Apache

Имееется некоторые пути которые позволяют управлять производительностью сервера. Один быстрый и эффективный путь - это уменьшение количества .htaccess файлов которые опрашиваются при каждом запросе .

Всякий раз, когда Apache обрабатывает запрос, опрашиваются файлы .htaccess которые определяют разрешение доступа и где могут быть устанавливлены другие параметры (например AddType).
При этом проверяются и обрабатывает файлы .htaccess в том же самом каталоге что и запрашиваемый файл, а также во всех родительских каталогах.
Например, если Вы запрашиваете URL /docs/about.html и Ваш корневой документ /usr/local/etc/httpd/htdocs, Apache пробует обрабатывать файлы .htaccess во всех этих каталогах:

/
/usr
/usr/local
/usr/local/etc
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs

Обычно, выше корня сервера не будет файлов .htaccess, но Apache все еще должен проверить файловую систему, чтобы в этом удостовериться. Это может быть устранено, используя уловку, что опция AllowOverride установлена в None, и Apache не будет производить проверку для файлов .htaccess .
Так для каталога ' / ' AllowOverride Вы установите в None и включите AllowOverride с Вашими необходимыми параметрами для каталога /usr/local/etc/httpd/htdocs.
Например, следующий код в access.conf ускорил бы Apache:


AllowOverride None

AllowOverride All


Второй раздел Directory включает AllowOverrides, так, чтобы файл .htaccess были обработаны снова. 'All' может быть заменена любой другой необходимой для Вас.

Если Вы имеете web документы в различных каталогах помимо корня документа, Вы будете должны включить файлы .htaccess в также и в них (если необходимо). Например, если Вы используете UserDir, чтобы разрешить доступ к файлам в домашних каталогах, Вы будете должны установить подходящий AllowOverride (и возможно другие ограничения) подобно этому:

AllowOverride FileInfo Indexes IncludesNOEXEC

Смена log файлов без завершения транзакций

Посылка родительскому процессу USR1 делающая закрытие текущих log файлов,с последующим их открытием без потери соединения в настоящее время в разработке. . Это будет использовано вместо HUP сигнала в каком-нибудь скрипте для смены log-ов. Этот скрипт должен будет во первых переименовать файл текущего лога в файл с новым именем (log остается открытым на этой стадии). . Затем он должен послать сигнал USR1 родительскому процессу Apache. Родительский процесс должен сообщить дочерним о завершении после обработки своего текущего запроса и открыть log файл для новых дочерних процессов (так как старые файлы были переименованы, открытые файлы будут созданы заново). Поскольку старые дочерние процессы заканчивают их текущие запросы, они должны закрыть обработчики старых log файлов и завершить работу. Когда все дочерние процессы умерли, Вы можете безопасно обрабатывать старые log-и (например, сжимая их).Так как Вы не можете точно знать когда дочерние процессы завершают свою работу, лучшим путем является перевести скрипт в режим ожидания после посылки сигнала USR1.

Альтернативным путем для смены log-ов является посылка log сообщений програме по вашему выбору через потоки. Эта програма может решить, каким образом и когда менять log файлы. Програмы которые могут быть полезны для этого доступны на cronolog (не входит в Apache).

Использование одного конфигурационного файла *

Apache начинался с использованием трех различных конфигурационных файлов (srm.conf, access.conf и httpd.conf ). Тем не менее все они идентичные. Таким образом , вся конфигурация помещена в один файл - httpd.conf (который читается первым. Этот файл включает директивы

AccessConfig /dev/null
ResourceConfig /dev/null

что предотвращаает сообщения о пропуске srm.conf и access.conf файлов.

Запуск CGI програм с правами прочих пользователей

CGI програмы всегда запускаются с правами пользователя что и Apache сервер. Это устанавливается директивой User в конфигурационном файле, в основном это обычный пользователь , как например 'www', или 'nobody'. В большинстве случаях это достаточно, так как CGI скрипты должны запускаться с малыми привелегиями, чтобу исключить опасность разрушения системы. Тем не мение, в некоторых случаях нужно запускать CGI програмы с правами других пользователя. Например:

* На одном виртуальном хосте с несколькими заказчиками, CGI скрипты должны запускаться с правами заказчика, для обеспечения возможности читать из файлов и писать в них.
* В прочих системах с несколькими пользователями , CGI скрипты должны запускаться из домашних каталогов пользователей.

Способность для запуска CGI програм с правами прочих пользователей относится к 'running setuid', после чего файловая система Unix способна запустить програму с правами прочих пользователей .Самая большая проблема с наличием setuid средства CGI на web сервере - защита.
Нужно быть очень осторожным, чтобы программа, выполняющая setuid не может быть вызвана, для нанесения повреждений системе. Наличие setuid программы в системе может быть опасно, особенно, если бы Вы не доверяете всем другим пользователям в системе (который имел место бы с обоими пример выше). Риск состоит в том, что другие пользователи могут выполнять setuid программу вручную (из командной строки) и давать команды, которые заставят исполнить эти нежелательные действия. Риск при использовании setuid программ известен Unix администраторам системы, но многие администраторы сети не имеют так большого опыта Unix или setuid программирования .

Програма suEXEC включенная в Apache предоставляет один из методов для запуска CGI програм с правами прочих пользователей.

Игнорирование файлов

Некоторые файлы, которые вероятно никогда не должны запрашиваться пользователем: файлы, называемые .htaccess, .htpasswd, *.pl, * ~ и так далее. Это может быть сделано, закрыв доступ к этим файлам, использующим раздел . Например

order allow,deny
deny from all

Создание HTML сценариев

Легкий путь для добавления новых возможностей сервера без слишком большого програмирования это использование "включаемых HTML". Это закрытая сторона сервера, которая позволяет Вам использовать переменные, условные выражения, циклы и так далее. Подобно SSI, эти сценарии исполняются на стороне сервера и работают со всеми браузерами. Эти дополнительные включения в HTML сценарии снова доступны: SSI (часть Apache); NeoScript (прилинкован к apache как модуль); PHP.

Принудительное выполнение обработчиков или mime типов

Новые директивы были добавлены, чтобы вынудить все файлы в указанном каталоге быть обработанными данным обработчиком, или быть возвращенным с указанным типом. Чтобы устанавливать обработчик, используйте SetHandler, и устанавливайте mime тип используя ForceType.

Обратите внимание, что эти директивы вынуждают данный тип или обработчик применяться к всем файлам в разделе, независимо от расширения, отображающего правила.

Например, каталог может использовать "ForceType applicaton/octet-stream" в .htaccess чтобы передать браузеру сведения, что файл нужно сохранить, а не попытаться отобразить на экране.
Или, все файлы в каталоге могут быть обработаны как программы CGI


SetHandler cgi-script

Быстрые Вопросы

* Как я могу заставить сервер слушать более одного IP адреса, или более одного порта?
Используйте директиву "Listen".
* Как я могу создать более одного виртуального сервера без использования дополнительных IP адресов?
Используйте "name-базированные виртуальные сервера" в соответствии со спецификацией HTTP/1.1 .Пока это не работает со всеми браузерами в настоящее время, директивы ServerPath и ServerAlias могут быть использованы, чтобы ваш сайт работоспособным для старых браузеров.
* Могу я установить пользователям доступ к защищеным зонам 'anonymously' (подобно anonymous ftp)?
Да, Используйте анонимный authentication модуль, mod_auth_anon
* Могу ли я конвертировать запрошеный URL в любой прочий формат?
Rewrite модуль позволяет переводить URLs в прочие URLs имена файлов.
* Могу ли я включить в Apache обработчик PUT (or DELETE) запросов для моей програмы?
Используйте "Script PUT cgi-script" для вызова CGI програм включающие PUT запросы.
* Могу ли я включить функцию NCSA's 'Satisfy' ?
Да, это можно уже в 1.2.
* Могу ли я использовать браузер для администрирования Apache?
Нет.
* Почему Apache ничего не возвращает для Netscape 2?
Это происходит вследствие ошибке в Netscape когда используется директива. Keep-Alives должно быть выключено на сервере. В Apache 1.2, используется следующая директива:

BrowserMatch Mozilla/2 nokeepalive

перевод: Andrei S. Hudyna
[материал взят с http://www.comprog.ru]
Опубликовал Kest October 27 2008 12:25:39 · 0 Комментариев · 6678 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Секреты программи...
Swat [Исходник на...
Паскаль и Дельфи....
Иллюстрированный ...
PHP 5. Полное рук...
Trojan [Исходник ...
AboutSystem
IconCut [Исходник...
Matrix2D
Printgrid
MpegPlay
AlignEdit
Delphi7 Для профе...
Degisy Data Acces...
ScreenSaver [Исхо...
MicroGPSS Studen ...
Файловый менеджер
Пятнашки и крести...
Алгоритм DES шифр...
EMS QuickExport S...

Топ загрузок
Приложение Клие... 100319
Delphi 7 Enterp... 79112
Converter AMR<-... 20023
Borland C++Buil... 10776
GPSS World Stud... 9536
Borland Delphi ... 7772
Turbo Pascal fo... 6901
Visual Studio 2... 4915
Калькулятор [Ис... 4082
FreeSMS v1.3.1 3486
Случайные статьи
6.6. Воздействие...
Хорошие советы для...
Использование Drag...
Too many condition...
Циклические связан...
Листинг 17.2. Сайт...
Что напоминает кон...
Земельные участки ...
К головоломке "зеб...
Проектирование мет...
Systems Management...
Российский стандар...
Типизация перемен...
Но может ли квадра...
98/NT 4
Руки прочь от PHP!
Суммирование двух ...
Набор плагинов, ре...
Маска подсети
Разделяемая память
Впрочем, зачастую ...
Метод быстрой сорт...
Как самому написат...
Виртуальные машины...
Инструменты Visual...
Статистика



Друзья сайта
Программы, игры


  • Хаски водка
  • Катание на упряжке, экскурсия в питомник хаски
  • vodkahusky.com
Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?