Apache — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Подключение '''php'''-модуля: | Подключение '''php'''-модуля: | ||
+ | |||
+ | ставим: | ||
+ | # /usr/ports/www/mod_php5 | ||
+ | |||
+ | httpd.conf | ||
+ | LoadModule php5_module libexec/apache22/libphp5.so | ||
+ | |||
<IfModule mime_module> | <IfModule mime_module> | ||
AddType application/x-httpd-php .php | AddType application/x-httpd-php .php | ||
Строка 7: | Строка 14: | ||
− | Опция '''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 | ||
Строка 36: | Строка 43: | ||
В AuthName можно написать свой текст, который выводится наверху окошка при запросе браузером имени пользователя/пароля.<br/> | В AuthName можно написать свой текст, который выводится наверху окошка при запросе браузером имени пользователя/пароля.<br/> | ||
В AuthUserFile прописываем путь к файлу с паролями. Желательно файл с паролями хранить вне пути, доступного через web сервер.<br/> | В AuthUserFile прописываем путь к файлу с паролями. Желательно файл с паролями хранить вне пути, доступного через web сервер.<br/> | ||
− | |||
Теперь собственно создаём наш файл паролей. Делаем это с помощью утилитки htpasswd, поставляемой с апачем. | Теперь собственно создаём наш файл паролей. Делаем это с помощью утилитки htpasswd, поставляемой с апачем. | ||
Строка 49: | Строка 55: | ||
+ | Редирект всех http-запросов на https | ||
+ | <VirtualHost *:80> | ||
+ | ServerName mail.megapuper.ru | ||
+ | ............... | ||
+ | '''Redirect permanent /folder https://mail.megapuper.ru/folder''' | ||
+ | ............... | ||
+ | </VirtualHost> | ||
Настройка '''WebDAV''' | Настройка '''WebDAV''' | ||
− | + | Подгружаем модули '''mod_dav и mod_dav_fs''' | |
Правим httpd.conf | Правим httpd.conf | ||
<Directory "/usr/local/www/webdav"> | <Directory "/usr/local/www/webdav"> | ||
− | |||
Dav On | Dav On | ||
<Limit GET POST OPTIONS PROPFIND> | <Limit GET POST OPTIONS PROPFIND> | ||
Строка 63: | Строка 75: | ||
Allow from all | Allow from all | ||
</Limit> | </Limit> | ||
− | |||
− | |||
</Directory> | </Directory> | ||
− | |||
Перегружаем апач и проверяем | Перегружаем апач и проверяем | ||
Текущая версия на 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