|
|
|
|
|
|
Хитрый Апач или алфавит на первом месте
Встретился сегодня с довольно интересной особенностью веб-сервера Apache (ветка 1.3), которую раньше не встречал никогда. И пусть, возможно, она “стара как мир” хотел бы о ней рассказать. Может кому-то в будущем пригодится.
Началось с того, что я решил слегка разобрать и привести в более удобоваримый вид файл конфигурации httpd.conf на этом сервере. Ранее все виртуальные хосты были описаны непосредственно в нем, но со временем их стало многовато и перемещаться по конфигу стало не очень удобно. Я решил избавиться от этого, путем выноса конфигураций виртуалхостов в отдельные (для каждого хоста) текстовые файлы, а в httpd.conf воспользоваться директивой Include для подключения скопом всех VirtualHost. Кстати, кто еще не знает такого приема - возьмите на заметку. Очень удобно добавлять/редактировать/удалять виртуальные хосты поскольку при этом нет необходимости лазить в httpd.conf Собственно, как это выглядит на деле, покажу на примере ниже.
Изначально httpd.conf выглядел традиционно вот так:
########## Виртуальные хосты ############ NameVirtualHost *:80 <VirtualHost> ServerName localhost AddType application/x-httpd-php .php .php3 .php4 .phtml AddType application/x-httpd-php-source .phps </VirtualHost> <VirtualHost> ServerName server.com ServerAdmin bla_-_bla_-_bla@server.com DocumentRoot /path/to/htdocs ... CustomLog /path/to/custom/log.log combined ErrorLog /path/to/error/log.log ServerName site1.server.com ...
И так далее перечисляются все остальные виртуальные хосты. Уходя от такого метода, поступаем так:
phpMyAdmin - веб интерфейс для управления сервером MySQL
Управлять сервером MySQL можно с помощью консольного клиента mysql, с помощью специализированных программ фронтэндов, таких как Navicat MySQL, либо через веб интерфейс. В последнем случае наиболее распространенное решение - phpMyAdmin.
phpMyAdmin - это открытый, бесплатный PHP инструмент для управления MySQL сервером, который позволяет удобно и быстро выполнять все необходимые операции с базами данных. Поддерживает авторизацию используя базу пользователей MySQL сервера. Для новичков, которые пока не очень сильны в SQL командах - лучшее решение. phpMyAdmin как открытое ПО входит в коллекцию портов FreeBSD. Он прост в установке и настройке. Тем не менее, по просьбам трудящихся изложу как это делается.
Анализ логов веб сервера и представление статистики посещаемости веб сайта посредством AwStats
Нормальное явление, что каждый владелец веб сайта желает знать сколько людей к нему приходит на сайт, откуда приходит, что больше всего читает, сколько времени в целом проводит на сайте. Для удовлетворения такого любопытства было придумано масса средств для сбора статистики. Множество сервисов в Сети предлагает Вам поставить на своем сайте счетчик, который обычно представляет собой JavaScript и который, при входе посетителя на сайт, подгружается в его веб браузер и сообщает сервису статистики всю необходимую информацию о посетителе.
Установка eAccelerator для работы с PHP5 [FreeBSD 6.3 & Apache 1.3]
Как я обещал в недавней публикации, рассмотрю процесс установки eAccelerator на наш рабочий веб сервер под управлением Apache с поддержкой PHP5. eAccelerator это свободно-распространяемый PHP ускоритель, оптимайзер и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате происходит увеличение скорости их выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода на величину от 1 до 10 раз.
Apache веб сервер в качестве прокси сервера [mod_proxy]
В предыдущих статьях приводился пример настройки и использования Apache в качестве веб сервера. Почитать об этом можно здесь и здесь. Однако Apache также можно использовать нестандартным для него способом - в качестве простого прокси сервера. Функцию прокси в Apache подключает модуль mod_proxy. Настройка занимает всего несколько минут и несколько строк в конфигурационном файле httpd.conf. В принципе, на мой взгляд Apache - это не самый удачный способ организовать прокси для большого числа клиентов, но раз в Apache такая возможность ей, рассмотрим ее.
Поддержка шифрования SSL в Apache (HTTPs)
Многие прикладные протоколы, такие как HTTP, SMTP, POP3, IMAP, TELNET были придуманы в те далекие времена, когда в Сети не было “браконьерства”, все люди были братья и доверяли друг другу. Но с тех пор, как Интернет вошел во все сферы современного человека, он сильно изменился. Так же, как когда-то назрела необходимость ставить противоугонные сигнализации на автомобили, появилась необходимость и в защите передачи данных. Было придумано криптование. Появилась даже целая наука, под названием криптография. А прежние прикладные протоколы были переписаны и с учетом требований безопасности они теперь поддерживали шифрование передаваемых данных. Нешифрованные протоколы, естественно, не ушли в небытие и по-прежнему широко используются в Сети. Но если Вам необходима безопасность и уверенность в том, что при авторизации где-либо никто не перехватит Ваш пароль, Вы можете использовать в работе протоколы https, smtps, pop3s, imaps, ssh и т.д., которые будут хранить Вашу конфиденциальную информацию с применением SSL шифрования.
Протокол SSL (Secure Socket Layer) использует асимметричную криптографию, обычно известную как криптография с открытым ключом. В криптографии с открытым ключом создаются два ключа, одни публичный, другой секретный. Все зашифрованное с помощью одного ключа может быть расшифровано только с помощью другого. То есть данные, которые были зашифрованы секретным ключом сервера могут быть дешифрованы только с помощью публичного ключа этого же сервера, давая уверенность в том, что данные пришли оттуда от него.
Более подробно об SSL можно почитать в Wiki. Мы же займемся настройкой поддержки SSL шифрования для нашего веб сервера Apache.
Web сервер Apache 1.3 с поддержкой php5 и mod_perl (русский перевод httpd.conf)
Обсудить эту тему на форуме.Я понимаю, что материала на эту тему в Сети хоть отбавляй, но я хочу написать свою публикацию, изложить свои мысли и идеи. Просто записать для себя то, что знаю. Поэтому предлагаю всем желающим ознакомиться с моим вариантом создания виртуального веб хостинга на основе операционной системы FreeBSD с использованием известного всем программного обеспечения.
Примеры конфигураций из этой статьи можно использовать для простейшего хостинга для себя или "для своих". Скорее всего, для профессионального хостинга он потребует доработок. Тем не менее, начинать нужно с малого.