Apache — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 12: | Строка 12: | ||
</IfModule> | </IfModule> | ||
− | Опция '''Directorylndex''' показывает, какие файлы нужно выводить пользователю, если он запросил не конкретный файл, а директорию. Данная настройка приведет к тому, что при запросе директории apache сначала будет искать файл index.php, если он будет найден, запустит его и выведет результат выполнения пользователю. Если такого файла нет, то тогда он попытается найти файл index.html. Если и такого файла не найдется, то пользователь получит ошибку. | + | |
+ | |||
+ | Опция '''Directorylndex''' показывает, какие файлы нужно выводить пользователю, если он запросил не конкретный файл, а директорию. Данная настройка приведет к тому, что при запросе директории apache сначала будет искать файл index.php, если он будет найден, запустит его и выведет результат выполнения пользователю. Если такого файла нет, то тогда он попытается найти файл index.html. Если и такого файла не найдется, то пользователь получит ошибку. | ||
<IfModule dir_module> | <IfModule dir_module> | ||
DirectoryIndex index.php index.html | DirectoryIndex index.php index.html | ||
Строка 41: | Строка 43: | ||
В AuthName можно написать свой текст, который выводится наверху окошка при запросе браузером имени пользователя/пароля.<br/> | В AuthName можно написать свой текст, который выводится наверху окошка при запросе браузером имени пользователя/пароля.<br/> | ||
В AuthUserFile прописываем путь к файлу с паролями. Желательно файл с паролями хранить вне пути, доступного через web сервер.<br/> | В AuthUserFile прописываем путь к файлу с паролями. Желательно файл с паролями хранить вне пути, доступного через web сервер.<br/> | ||
− | |||
Теперь собственно создаём наш файл паролей. Делаем это с помощью утилитки htpasswd, поставляемой с апачем. | Теперь собственно создаём наш файл паролей. Делаем это с помощью утилитки htpasswd, поставляемой с апачем. | ||
Строка 54: | Строка 55: | ||
+ | Редирект всех http-запросов на https | ||
+ | <VirtualHost *:80> | ||
+ | ServerName mail.megapuper.ru | ||
+ | ............... | ||
+ | '''Redirect permanent /folder https://mail.megapuper.ru/folder''' | ||
+ | ............... | ||
+ | </VirtualHost> | ||
Текущая версия на 18:41, 24 марта 2015
Подключение php-модуля:
ставим:
# /usr/ports/www/mod_php5
httpd.conf
LoadModule php5_module libexec/apache22/libphp5.so
<IfModule mime_module> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule>
Опция Directorylndex показывает, какие файлы нужно выводить пользователю, если он запросил не конкретный файл, а директорию. Данная настройка приведет к тому, что при запросе директории apache сначала будет искать файл index.php, если он будет найден, запустит его и выведет результат выполнения пользователю. Если такого файла нет, то тогда он попытается найти файл index.html. Если и такого файла не найдется, то пользователь получит ошибку.
<IfModule dir_module> DirectoryIndex index.php index.html </IfModule>
Настройка Basic-auth
Убедиться, что разрешен соответствующий модуль в конфигурации apache в httpd.conf: auth_basic_module Проверям что модуль загружен
# apachectl -M | grep auth_basic_module
Для директории которую будем закрывать добавляем в httpd.conf
<Directory "/usr/local/www/директория"> AllowOverride AuthConfig </Directory>
Сохраняем и перечитываем конфиг apachectl graceful
Затем в директории сайта создаём файл .htaccess и пишём туда:
AuthType Basic AuthName "Enter password" AuthUserFile /Путь/к/файлу/с/паролями/.htpasswd AuthGroupFile /dev/null Require valid-user
В AuthName можно написать свой текст, который выводится наверху окошка при запросе браузером имени пользователя/пароля.
В AuthUserFile прописываем путь к файлу с паролями. Желательно файл с паролями хранить вне пути, доступного через web сервер.
Теперь собственно создаём наш файл паролей. Делаем это с помощью утилитки htpasswd, поставляемой с апачем.
Для создания файла применяем команду:
# htpasswd -с .htpasswd имя_пользователя
Для того, чтоб поменять пароль у уже существующего пользователя достаточно сделать:
# htpasswd .htpasswd имя_пользователя
Не забываем дать права на чтение .htaccess и .htpasswd веб-серверу
Редирект всех http-запросов на https
<VirtualHost *:80> ServerName mail.megapuper.ru ............... Redirect permanent /folder https://mail.megapuper.ru/folder ............... </VirtualHost>
Настройка WebDAV
Подгружаем модули mod_dav и mod_dav_fs
Правим httpd.conf
<Directory "/usr/local/www/webdav"> Dav On <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> </Directory>
Перегружаем апач и проверяем
Тестирование конфигурации После редактирования конфиг файла стоит проверить, что вы ничего в нем не поломали и все в порядке(по крайней мере с синтаксисом). Для этого можно использовать команду httpd -t. которая считывает конфиг и проверяет его синтаксис.
# httpd -t
Тестирование конфигурации хостов, чтобы просмотреть установки заданные в конфиге. Очень часто ошибки с конфигурацией виртуальных хостов выявляются именно при помощи этой команды.
# httpd -S
apachectl — управление apache сервером
- apachectl start - запуск
- apachectl stop - остановка
- apachectl restart - перезагрузка
- apachectl graceful - перечитать конфиг без перезагрузки apache