Денис Колисниченко - Linux: Полное руководство
- Название:Linux: Полное руководство
- Автор:
- Жанр:
- Издательство:Наука и Техника
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94387-139-Х
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Денис Колисниченко - Linux: Полное руководство краткое содержание
Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.
Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.
Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.
Linux: Полное руководство - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
В директиве VirtualHostв качестве адресов можно использовать доменные имена, но лучше указывать IP-адрес, причем действительный, а не виртуальный. В этом случае вы не будете зависеть от DNS при разрешении имени. Также потребуется один IP-адрес для вашего основного сервера. Если же распределить все адреса между виртуальными серверами, то нельзя будет получить доступ к основному серверу.
Листинг 16.11. Идентификация по IP-адресу
ServerName www.dhsilabs.com
ServerAdmin webmaster@den.dhsilabs.com
DocumentRoot /var/httpd/www/html
ErrorLog /var/https/www/logs/error.log
ServerName lib.dhsilabs.com
ServerAdmin webmaster@den.dhsilabs.com
DocumentRoot /var/httpd/lib/html
ErrorLog /var/https/lib/logs/error.log
При конфигурировании виртуальных серверов можно использовать опцию ExecCGI, которая разрешает выполнение CGI-сценариев на виртуальном сервере. Листинги 16.12 и 16.13 демонстрируют настройку почтового веб-интерфейса.
Листинг 16.12. Файл httpd.conf
order deny,allow
deny from all
allow from localhost
allow from 192.168
allow from 123.123.123.123
Options ExecCGI
Листинг 16.13. Файл vhosts.conf
ServerAdmin webmaster@den.dhsilabs.com
DocumentRoot /home/httpd/mail
ServerPath /mail
ServerName wwwmail.dhsilabs.com
ErrorLog logs/error_log
TransferLog logs/access_log
# Error 403 - ошибка доступа извне, то есть почтовый
# интерфейс будет доступен только из локальной сети
ErrorDocument 403 http://www.dhsilabs.com/messages/error403.html
16.10. SSL и Apache
16.10.1. Установка SSL
SSL (Secure Sockets Layer) является методом шифрования, разработанным компанией Netscape для обеспечения безопасности передачи данных. Этот метод поддерживает несколько методов шифрования и обеспечивает аутентификацию как на уровне клиента, так и на уровне сервера, SSL работает на транспортном уровне и поэтому обеспечивает надежное шифрование всех типов данных. Более подробно о реализации SSL можно прочитать на сайте компании Netscape —
http://home.netscape.com/info/security-doc.html
.
Протокол S-HTTP является еще одним «безопасным» интернет-протоколом. Он был разработан для предоставления конфиденциальности данных, передаваемых через соединение. Конфиденциальность нужна, например, при передаче номеров кредитных карточек и прочей важной информации.
Модуль mod_ssl реализует в сервере Apache слой SSL, который осуществляет шифрование всего потока данных между клиентом и сервером. Для всех остальных частей веб-сервера модуль mod_ssl является прозрачным. Для работы в этом режиме требуется браузер, поддерживающий механизм SSL (этому условию удовлетворяют все распространенные сегодня браузеры).
Что касается установки, то вам необходим пакет OpenSSL (
http://www.openssl.org
), хотя, возможно, у вас в системе уже установлен этот пакет (в современных дистрибутивах он устанавливается по умолчанию). Если вы будете собирать OpenSSL из исходных текстов, то последовательность ваших действий такая:
# tar zxvf openssl-x.y.z.tar.gz # x.y.z - номер версии
# cd openssl-x.y.z
# ./config.
# make
# make install
# ldconfig
Перед выполнением команды ldconfigубедитесь, что в файле
/etc/ld.so.conf
прописан путь к библиотекам OpenSSL (по умолчанию это /usr/local/ssl/lib
).
16.10.2. Подключение SSL к Apache
Версия mod_ssl, которую вам нужно установить, должна быть совместима с вашей версией Apache, иначе модуль mod_ssl будет некорректно работать или вообще откажется что-либо делать. Последние цифры в названии модуля указывают на совместимость с определенной версией Apache. Например, для Apache1.3.14 нужен файл mod_ssl-2.7.1-1.3.14.tar.gz.
Для сборки mod_ssl из исходных текстов выполните команду:
#./configure --with-apache=../apache_1.3.14 --with-ssl=../openssl-0.9.5
В данном примере я использую OpenSSL 0.9.5. Теперь перейдите в каталог с Apache, откомпилируйте его и установите сертификат:
# cd ../apache-1.3.14
# make
# make certificate
# make install
Таким образом вы установите Apacheв каталог, указанный в опции --prefix (по умолчанию
/usr/local/apache
).
Теперь попробуйте запустить Apache. Это можно сделать с помощью команды:
# usr/local/apache/bin/apachectl startssl
Параметр startssl необходим для включения SSL. Сервер Apacheуже функционирует, однако обратиться по протоколу HTTPS вы еще не можете. Для этого вам нужно сконфигурировать виртуальные узлы, которые будут использовать протокол HTTPS. Но для начала необходимо настроить Apacheдля прослушивания порта 443 (это стандартный порт для протокола HTTPS). Добавьте в файл
/etc/httpd/conf/httpd.conf
следующие строки:
Listen 443
NameVirtualHost x.х.x.х:443
Теперь непосредственно приступите к созданию виртуального сервера, работающего по протоколу HTTPS, для чего продолжите редактирование файла
/etc/httpd/conf/httpd.conf
. Пример того, что необходимо при этом ввести, приведен в листинге 16.14. После этих обязательных директив вы можете конфигурировать свой виртуальный узел как обычно.
Листинг 16.14. Виртуальный HTTPS-сервер
# Эти строки нужны для поддержки SSL
SSLEngine on
SSLLogLevel warn
SSLOptions +StdEnvVars
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SSLLog /usr/local/apache/logs/ssl_engine.log
# --------------------------------------
ServerName www.dhsilabs.com
ServerAdmin webmaster@den.dhsilabs.com
DocumentRoot /var/httpd/www/html
ErrorLog /var/https/www/logs/error.log
Теперь нужно перезапустить сервер httpd. При запуске Apacheпотребует ввести пароль. Если вы не хотите вводить его при каждом запуске системы, то перейдите в каталог, где находится файл
ssl.key
, и выполните следующие команды:
# cp server.key server.key.org
# openssl rsa -in server.key.org -out server.key
# chmod 400 server.key
Почти все готово! Теперь сервер не должен запрашивать пароль и будет работать в нормальном режиме.
Чтобы Apacheпо умолчанию стартовал с поддержкой SSL, исправьте в файле
apachectl
(он устанавливается в каталог /bin
, /sbin
или /usr/sbin
, см. rpm -ql <���пакет_Apache>
) условие start на startold, a startssl на просто start. Затем, находясь в каталоге /usr/local/bin
, установите ссылку openssl:
# ln -s /usr/local/ssl/bin/openssl openssl
16.10.3. Генерирование сертификатов
Сертификат гарантирует безопасное подключение к веб-серверам и/или удостоверяет личность владельца. Идентификация обеспечивается путем применения личного ключа, известного только пользователю данной системы. Когда пользователь посещает защищенный узел для передачи секретной информации (например, номеров кредитных карточек) по протоколу HTTPS, узел автоматически посылает ему сертификат.
Интервал:
Закладка: