Apache — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
(не показано 11 промежуточных версий этого же участника) | |||
Строка 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 | ||
Строка 6: | Строка 13: | ||
− | Опция '''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 | ||
</IfModule> | </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 можно написать свой текст, который выводится наверху окошка при запросе браузером имени пользователя/пароля.<br/> | ||
+ | В AuthUserFile прописываем путь к файлу с паролями. Желательно файл с паролями хранить вне пути, доступного через web сервер.<br/> | ||
+ | |||
+ | Теперь собственно создаём наш файл паролей. Делаем это с помощью утилитки 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 -t | # httpd -t | ||
− | |||
Тестирование конфигурации хостов, чтобы просмотреть установки заданные в конфиге. Очень часто ошибки с конфигурацией виртуальных хостов выявляются именно при помощи этой команды. | Тестирование конфигурации хостов, чтобы просмотреть установки заданные в конфиге. Очень часто ошибки с конфигурацией виртуальных хостов выявляются именно при помощи этой команды. | ||
# httpd -S | # httpd -S | ||
− | |||
'''apachectl''' — управление apache сервером | '''apachectl''' — управление apache сервером |
Текущая версия на 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