Администрирование Операционных систем Apache HTTPD
Администрирование Операционных систем HTTPD.conf
Администрирование Операционных систем HTTPD.conf
Администрирование Операционных систем HTTPD.conf
Администрирование Операционных систем .htaccess
Администрирование Операционных систем аутентификация
Администрирование Операционных систем виртуальные хосты
Администрирование Операционных систем SSL
Администрирование Операционных систем Apache HTTPD
Администрирование Операционных систем Apache HTTPD
Администрирование Операционных систем Apache HTTPD
2.35M
Category: softwaresoftware

Администрирование Операционных систем. Apache HTTPD

1. Администрирование Операционных систем Apache HTTPD

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
APACHE HTTPD
Установка: {yum | apt-get | dnf} install {httpd | apache2}
Команды: service {httpd | apache2} {status | start | stop | restart | reload}
Конфигурация:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/
/etc/httpd/conf.modules.d/
Журналы: /var/log/httpd
access_log
error_log
request_log | transfer_log | custom_log | ssl_*

2. Администрирование Операционных систем HTTPD.conf

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
HTTPD.CONF
ServerRoot "/etc/httpd"
KeepAlive on #off
DocumentRoot "/var/www/html"
KeepAliveTimeout 30
DefaultRuntimeDir "/tmp"
MaxClients 3
ServerAdmin [email protected]
LogLevel warn #debug, info, notice, error, crit, alert, emerg
ServerName www.donnu.ru:80
AccessLog "logs/access_log"
HostnameLookups off #on
ErrorLog "logs/error_log"
Listen 80 #193.108.39.201:80
TransferLog "logs/transfer_log"
#Port 80
User apache
Group apache

3. Администрирование Операционных систем HTTPD.conf

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
HTTPD.CONF
LoadModule proxy_module modules/mod_proxy.so
Include <file> #допустимо «*»
IncludeOptional <file> #отсутствует
Redirect [ type | code ] / http://site1.com #регистр
#type: permanent, temp*, seeother, gone
EnableMMAP Off #On
EnableSendfile On #Off
RedirectMatch (.*)\.gif$
http://www.anotherserver.com$1.jpg
AddType <mime> <type>
DirectoryIndex <file>
Alias /url /path
AliasMatch (?i)^/image(.*) /ftp/pub/image$1
ScriptAlias /cgi-bin/ /web/cgi-bin/ #регистр
ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
AddDefaultCharset UTF-8
ErrorDocument <code> <text | url | page>

4. Администрирование Операционных систем HTTPD.conf

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
HTTPD.CONF
<Directory "<path>">
Options
AllowOverride
Require
Order Deny,Allow
Allow from <ip>[/subnet]
Deny from <ip>[/subnet]
</Directory>
Options
All
None
Indexes
Includes
FollowSymLinks
SymLinksifOwnerMatch
ExecCGI
MultiViews *
Модификаторы: + - =
<Location "/<url>"></Location>
<Files "<title.type>"></Files>
<Files ~ "\.(gif|jpe?g|png)$"></Files>
<FilesMatch "\.(gif|jpe?g|png)$"></FilesMatch>
<DirectoryMatch /><LocationMatch />
AllowOverride
All
None
Options
FileInfo
AuthConfig
Limit
Require
all { granted | denied }
user <usr1> ... <usrN>
group <gr1> ... <grN>
valid-user
method

5. Администрирование Операционных систем .htaccess

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
.HTACCESS
<Directory>
AllowOverride FileInfo Options
Options -Indexes
</Directory>
/var/www/html/module/.htaccess
<Directory>
Options +Indexes
AddType text/html .z1 .z2
</Directory>
/var/www/html/module/submodule/.htaccess
<Directory>
DirectoryIndex myindex.z1
</Directory>

6. Администрирование Операционных систем аутентификация

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
АУТЕНТИФИКАЦИЯ
htpasswd -c /etc/httpd/users user1
htpasswd /etc/httpd/users user2
<Directory /var/www/html/authdir>
AuthType Basic
AuthName "Restricted Files"
echo -n > /etc/httpd/groups
mygroup1: bob joe anne
mygroup2: tom roy deni
customers: user1 user2
AuthBasicProvider file
AuthUserFile /etc/httpd/users
Require user user1 user2 #valid-user
Order allow,deny
Allow from internal.com
Satisfy any
#AuthGroupFile /etc/httpd/groups
#Require group customers
</Directory>

7. Администрирование Операционных систем виртуальные хосты

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
ВИРТУАЛЬНЫЕ ХОСТЫ
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName donnu.ru
ServerAlias www.donnu.ru web.donnu.ru
DocumentRoot /var/www/donnu.ru/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
#NameVirtualHost *:80
#default-site => VirtualHost

8. Администрирование Операционных систем SSL

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
SSL
{ yum | dnf | apt-get } install openssl mod_ssl
Listen 443 https
mkdir /etc/httpd/ssl
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
openssl req -new -x509 -days 30 \
-keyout server.key.orig -out server.pem
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
#SSLCertificateChainFile /etc/pki/tls/certs/localhost.pem
openssl rsa -in server.key.orig -out server.key
SSLPassPhraseDialog { builtin | /script [args] }
chown apache:apache *
SSLProtocol All -SSLv2
chmod 0600 /etc/httpd/ssl/server.key
#protocols: SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2 All
SSLRequireSSL
SSLVerifyDepth 10

9. Администрирование Операционных систем Apache HTTPD

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
APACHE HTTPD
• LogFormat "template_data" template_name
• %T

время обработки запроса;
• CustomLog "logs/custom_log" template_name
• %u

пользователь;
• %r

первая строка запроса;
• %% — символ процента;
• %I
— объем входного потока (прописная i);
• %a
• %O

объем исходящего потока;
• %P

PID-процесса обработки;

IP-адрес клиента;
• %b — объем
заголовков);
запроса
(исключая
объем
• %f

запрошенный файл;
• %{VARNAME}e
окружения;
• %h

имя удаленной машины;
• %{VARNAME}C

содержимое кука;
• %H

используемый протокол;

содержимое
• %l
— уровень логирования (строчная L);
• %{VARNAME}i
запросе;
• %t

время запроса (формат %{format}t);
— содержимое
переменной
переменной
в

10. Администрирование Операционных систем Apache HTTPD

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
APACHE HTTPD
Объявление:
httpd -DVar1 -DVar2
Define <var1> <value> #Define testvar /var/www/root
Использование:
var2 = ${var1} #ServerRoot = ${testvar}
<IfDefine Var1>
LoadModule proxy_module modules/mod_proxy.so #<title> <path>
Redirect / http://site1.com #<old_url> <new_url>, регистр(!), перезагрузка
</IfDefine>
<IfDefine !Var2>
...
</IfDefine>

11. Администрирование Операционных систем Apache HTTPD

АДМИНИСТРИРОВАНИЕ ОПЕРАЦИОННЫХ СИСТЕМ
APACHE HTTPD
Задания:
1. Настроить базовый функционал демона HTTPD (порт 80, сайт по умолчанию), включая:
отработку ошибок 403 и 404;
создать каталог, в который может получить доступ только локальная машина;
запретить чтение файлов «.htaccess» для всех, а «.secure» для всех, кроме локальной сети;
разрешить указывать индексный файл каталога для всех подкаталогов, кроме корневого;
2. Настроить один виртуальный хост на порт 80 (http) и один виртуальны хост на порт 443 (https);
3. Настроить базовую аутентификацию для виртуального хоста http;
4. Установить поддержку SSL для виртуального хоста https;
Настроить логирование для виртуального хоста http: только время запроса и строку запроса.
Сайты должны быть на разных доменных именах, чтобы сервер мог их различать. Рекомендуется
использовать доменное имя site.host<NUM>.ln для сайта по умолчанию и vh.host<NUM>.ln для
виртуального. NUM - номер компьютера. Если DNS-сервер ранее в курсе не рассматривался,
необходимо эти используемые имена прописать в файле /etc/hosts
English     Русский Rules