Строим свой WWW сервер с ноля

Udjin Kondratov, http://tarantul2.infosys.ru

Все, что Вы здесь прочтете, основывается на субъективном взгляде на вопрос создания и настройки сервера, ни в коем случае не претендует на полноту и не может трактоваться как истина в последней инстанции. Спор о том, какая операционная система или какой сервер лучше, разрешит время.

В этой статье я в краткой форме расскажу о том, как я строил свой WWW сервер.

С чего начать.

Начинать нужно с задач. Задачи определят требования к ресурсам.

Операционная система.

NT4 Server. Спорить и доказывать какая из операционных систем лучше или хуже я не буду, т.к. я пробовал и RED HAT и Linux и .. остановился на NT4, так сложилось.

NT4 весьма требовательная операционная система. Для более или менее успешного запуска ей необходимы 486 DX и 12 Mb RAM. Для работы - P100 и 32 Mb RAM. Где взять NT4 ? Лучше всего купить.

WWW server.

Серверов много. В запале "Интернет-гонки" ведущие производители так и норовят переплюнуть друг друга. Так какой же сервер выбрать? Походим по интернет и посмотрим. Нам нужен сервер:

  1. Бесплатный.
  2. Поддерживающий интерфейсы CGI и ISAPI. (на самом деле интерфейсов значительно больше ..)
  3. Отказоустойчивый.
  4. Быстрый.

По всем параметрам, кроме последнего, нам подходит IIS4. Хотя это не бесспорно.

Требования IIS4 к компьютеру:

Комплектующие Требуется Рекомендуется
Processor 66 MHz 486 90 MHz PentiumR
RAM 32 MB 64 MB
Free hard disk space 50 MB (minimum install) 200 MB
Monitor VGA Super VGA
CD-ROM drive (optional) 3X 6X

Определимся с информационным наполнением сервера.

Если на сервере будут использоваться базы данных, то необходимо рассчитать их ориентировочный объем и соответственно место на диске и в памяти.

Для серьезных задач используют SQL базы данных, а для простеньких повседневных соответственно, что проще, например DB или Access. Исходим из того, что база с 5-6 таблицами и 50 000 записями в каждой занимает на винчестере 8-10 Mb. Обработка запросов к такой базе данных серьезная задача и для ускорения выполнения запросов необходимы соответственно программные и технические решения. Программные решения рассмотрим ниже а вот технические - это память и скоростные винчестеры. Сколько именно памяти? Вопрос из вопросов. Посмотрим документацию на ODBC:

Размер буфера в килобайтах рассчитывается по формуле ((Вся доступная память - 12 Mb)/4) + 512 Kb. В случае, если в системе имеется 32 Mb памяти: ((32Mb-12Mb)/4) + 512 Kb = 5632 Kb.

Дело в том, что доступ к базе данных осуществляется через Engine. Engine - это "мотор" обрабатывающий запросы извне, работающий с данными и возвращающий ответы . Моторов, как и баз много, и все разные, но память успешно потребляют все. Если вы будете использовать Engine от стороннего производителя, например Cold Fusion, то смотрите его документацию., а я по опыту скажу, что памяти для них нужно не меньше, а зачастую даже больше L .

Если баз данных на сервере не будет, то прикинем средний размер странички и сколько страничек всего будет : по опыту - большие сайты занимают на удивление мало места, так, например, сайт www.actiweserverpages.com занимает всего 20 Mb (без учета размера баз данных), но сайты имеют свойство разростаться... например -microsoft.com. Начиналось все с 2-х P-66 а сейчас 16 IIS 4.0/WindowsNT 4.0 Compaq Proliant 5000s , 20 Gb документов, 6 000 ASP - файлов и все это хозяйство разрастается :-)).

Ну что, посчитаемся.

Требования к компьютеру.

Компьютер
Задачи
90 MHz PentiumR, 78 Mb RAM, SVGA. 400 Mb HDD. NT4 + IIS без баз данных

Собираем компьютер.

Процессор.

Ни в коем случае не разгонять. Кэш - чем больше тем лучше. Чей процессор? Тут я не в праве что-либо советовать, дело вкуса, у меня Intel. Какой именно? Самый-самый. Если есть деньги покупайте PPRO 200 с кэш-памятью 1 Mb. Сколько процессоров? Мда ... вы видно собрались строить что-то весьма крутое...

Материнская плата.

Любая, работающая, не разогнанная. В случае с Pentium - чипсет HX или VP3, в случае с P-II - лучше всего BX. Лучше "брэнд".

Винчестер.

Выбирайте самый быстрый и самый дорогой. Настоятельно рекомендую SCSI винчестеры.

Сколько? Лучше всего 2 винчестера. Дробить бутовый винчестер на 2 и создавать на каждом из них логический диск не имеет смысла, - скорости это не добавит. Если Вы еще не "гуру" в NT4 то приобретайте что-либо размером до 2-х Gb и не создавайте себе головной боли, если "гуру" - тогда покупайте то, что считаете нужным. Не забудьте про охлаждение винчестера. Контроллер для Вашей дисковой подсистемы выбирайте исходя из Ваших винчестеров. Для SCSI - выбирайте производителя здесь:

Aadaptec SCSI контроллеры. Очень много справочной информации про SCSI.

Tekram SCSI контроллеры и материнские платы со SCSI

Iwill SCSI контроллеры и материнские платы со SCSI

ASUSTeK SCSI контроллеры и материнские платы со SCSI

IOI SCSI контроллеры

Mylex SCSI контроллеры

Жесткие диски SCSI: Seagate, Western Digital, IBM, Quantum

Для IDE винчестеров есть хорошие решения от PromIce

Жесткие диски IDE:

DEC Fujitsu Computer Products Hitachi IBM JTS
La Cie Maxtor MicroNet Micropolis Microtech
NEC Optima Technology Procom Technology Q u a n t u m Samsung
Seagate Technology Sharp Teac Western Digital Corporation  

Память.

Работающая. Какая именно? Сходите по ссылке и почитайте : Я предпочитаю Kingston.Тип памяти выбирайте исходя из возможностей Вашей материнской платы.

Сетевые средства.

Если мы собираемся подключиться по выделенному каналу к интернет то нам придется воспользоваться услугами провайдера. Наиболее вероятно что провайдер предложит Вам постоянное соединение V.34 , V.35 или G.703 , ISDN, RadioEthernet. В любом случае нам придется отталкиваться от требований и - или рекомендаций провайдера.

Вот и все по компьютеру. Монитор, клавиатуру и мышь - по вкусу, не забудьте про сетевой фильтр и блок бесперебойного питания. Мы во всеоружии и готовы ваять.

2 Ставим NT4.

Про то, как установить NT4, написаны масса книг и статей разными людьми и с разным уровнем, если Вам лень читать все это, то сходите сюда и почитайте FAQ. Написано толково и аккумулирует опыт Российских пользователей. Остановимся на том, что действительно необходимо для успешной работы сервера в режиме WWW.

Файловая система - NTFS.

Если хотите что бы Ваш сервер жил "долго и счастливо", то только эта файловая система (применительно к NT4) обеспечит Вам

Интересная статья об устойчивости NTFS и сравнение FAT и NTFS находится здесь.

Если же Вы установите FAT, помните .. как там .. "все флаги будут в гости к нам", точнее не к Вам, а в root каталог Вашего сервера :-) .

Сетевой протокол.

Естественно TCP-IP. И не надо больше никаких других протоколов. Упаси Вас бог от NetBEUI поверх TCP-IP. Нахождение Вашей машины в Интернет по IP - адресу будет обеспечивать DNS сервер провайдера, и пусть это будет его головной болью.

Если Вы предполагаете работать со своей машиной удаленно, имеет смысл присвоить вашей машине 2 реальных IP - адреса. Один - для всех, а вот второй - для своих собственных администраторских нужд, и соответственно включить фильтрацию пакетов на этот адрес. Не ставьте ни каких сетевых агентов. В некоторых изданиях рекомендуют ставить свой DNS сервер, ИМХО это верно, если Вы - провайдер, если это так, тогда зачем Вам все ЭТО?

Установка IIS2.0

При первой установке NT-4 предложит вам установить WWW а так же FTP, Gopher серверы и менеджер ODBC с драйвером SQL - сервера. Ставить или нет. Ставьте, т.к. в последствии не нужное можно безболезненно удалить, а вот установить IIS3 или IIS4 без предустановки IIS2 не удастся.. На какой винчестер и в какой каталог? По умолчанию все это "хозяйство" ставится на диск C, но если у Вас два диска, ИМХО, разумней ставить WWW сервер на отдельный физический диск. И работать будет быстрее, и в дальнейшем, для хакеров, еще одно препятствие.

Сервер установлен, запущен, "устаканился", начинаем оптимизировать его для работы с сетевыми задачами.

Тонкая настройка NT4.

Настройку сервера начните с BIOS Вашего компьютера.

Убедитесь, что версия Вашего BIOS актуальна, если нет - на сайт производителя, и скачайте свежий. Хуже не будет, а вот лучше - весьма вероятно. Установите все настройки, по умолчанию и приступайте. На что акцентировать внимание. Настройки циклов чтения-регенерации памяти, режимы шин. Отключайте всю не используемую переферию, не надейтесь на PnP, лучше "руками" прописать настройки по адресам и прерываниям. Осторожней с Shadow адресами, в случае с IDE винчестерами на "корявых" материнских платах можно потерять информацию. Если у Вас SCSI - отключите on-board IDE controller, если IDE - используйте все возможности вашего винчестера, но помните, что винчестеры на втором канале могут работать неустойчиво в режиме UDMA. Отключите дисковод. А всю "зеленку" в disable. В генеральных настройках разрешите машине стартовать при ВСЕХ ошибках. В последствии это позволит удаленно перезагружать компьютер при отсутствии клавиатуры и монитора. Поставьте supervisor password на доступ к настройкам BIOS (от лукавого). Ну как, NT загружается? Странно :-)) . Владельцам SCSI винчестеров советы давать не будем, т.к. настройка SCSI HDD на максимальную производительность - отдельная толстая книжка.

Настройка операционной системы.

Убедитесь в том, что Вы используете самые свежие версии драйверов устройств. Если не уверены в этом, - в Интренет и скачивайте. К большинству драйверов (особенно старых) есть файл - инструкция, где оговорено что исправить в registry, если чего случилось, не поленитесь и прочитайте. Если драйверы устройств (сетевая карта, HDD) позволяют чего-либо кэшировать, то кэшируйте!

Отдельные параметры сервера можно настроить при помощи визуальных инструментов.

Идем в контрольную панель и в разделе система - быстродействие вносим необходимые изменения:

Сервисы:

По мелочевке:

На этом возможности визуальных инструментов исчерпаны и далее будем работать с registry. В каталоге /system32 находится наш главный инструментарий regedit32.exe. При работе с регестри будьте предельно внимательны, изменив какой-либо ключик можно получить просто ошеломляющий результат, и в прямом, и в переносном смыслах.

НО, мы еще не установили заплатки.

Microsoft оформляет программные заплатки и обновления к продуктам в виде сервис-паков. На сегодня самый свежий - SP3. SP4 находится в процессе тестирования, и похоже, SP4 - это NT5 :-) . К сервис пакам прилагаются еще и post-fixes.

Где взять сервис пак? Ну естественно на ftp://ftp.microsoft.com/. Перемещаемся на FTP - сервер Микрософта и выкачиваем в соответствии с приводимой ниже таблицей.

SP3 (Intel) ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/ usa/nt40/ussp3/i386/
ATAPI Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/atapi-fix/
Get Admin Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/ usa/nt40/ hotfixes-postSP3/getadmin-fix/
Teardrop2 Fix ftp://ftp.microsoft.com/ bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/teardrop2-fix/
IDE Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/ide-fix/
Priv Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/priv-fix/
Snc Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/Snk-fix/
SimpTCP Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/simptcp-fix/
SRV Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/srv-fix/
IIS - Fix (IIS 3.0) ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/iis-fix/
ASP - Fix (1.0 b) ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/asp-fix/
Fix ASP ftp://ftp.microsoft.com/bussys/ IIS/iis-public/fixes/usa/ASP/
Security Fix ftp://ftp.microsoft.com/bussys/ IIS/iis-public/fixes/usa/security/
IIS 4 Fixes ftp://ftp.microsoft.com/bussys/ IIS/iis-public/fixes/usa/IISUPD/
IIS 4 Fix ftp://ftp.microsoft.com/bussys/ winnt/winnt-public/fixes/usa/nt40/ hotfixes-postSP3/iis4-fix/

Внимательно прочитайте артикли к каждому из фиксов. Отдельные заплаты Вам просто не нужны, а в некоторых случаях они могут привести к "падению" системы. Фиксы к IIS4 Вам понадобятся только после установки IIS4. Если Вы не планируете устанавливать IIS4, а решили остановиться на IIS3.0 то не нужно выкачивать их.

3 Установка и настройка IIS.

После установки SP3 сервер IIS2 из поставки NT4 "проапгрейдится" до сервера IIS3.

Определяемся - будем работать на этой версии или двинемся дальше. Если Вы решили остановиться на IIS3.0 то :

  1. Идем на Microsoft и скачиваем ASP1b Это где-то тут. http://www.microsoft.com/iis

    ASP - это библиотека, кипа документации и много-много воображения :-) . Скрипт - "енжина", движка, мотор обрабатывающий на стороне сервера последовательность команд и возвращающий клиенту HTML - код в ответ на действия клиента в контексте задачи. ASP позволит оживить сайт, и сделать его содержимое динамическим.

    Ниже - табличка эволюции ASP.
    ASP ASP Asp.dll Asp.dll Asp.dll
    versionbuildversiondatesize
    1.01.12.091.12.0612/6/96
    1.0a1.13.311.13.091/31/97371,744
    1.0b1.15.141.15.143/14/97378,992

    Если Вы по каким либо причинам не смогли найти пакет ASP, то просто скачайте с FTP - сайта Microsoft свежую библиотеку и "пропишите" ее в системе. Для этого - скопируйте ASP.dll в winnt\system32\inetsrv\ и с командной строки из этого каталога выполните 'regsvr32 ASP.dll '. Если пакет найден, то просто запустите .exe и наслаждайтесь процессом, в итоге у Вас будет и скрипт - енжина и документация.

  2. Ставим необходимые "фиксы". Как минимум: Get Admin Fix, Teardrop2 Fix, Snc Fix, SimpTCP Fix, SRV Fix, и все фиксы применительно к IIS3.0 и ASP (см таблицу).

В случае, если вы будете что либо изменять в конфигурации компьютера и при этом использовать дистрибутив NT4 не забудьте переустановить SP3 и Fixes.

Если вы решили установить IIS4, то скачивайте Option Pack 4.0 При установке компонент опшен-пака не ставьте того, что Вам не знакомо. Мне понадобился по началу IIS4 со всей документацией, ADO, RDS, FTP. Index Server я не ставил, т.к. есть решения и по круче, например от Яндекса или от Медиа Лингвы. Опять таки, после установки IIS4, ставим соответствующие Fixes.

Перезагрузка прошла успешно, NT "пропатчена" и "профиксена", начинаем оптимизировать.

Направление оптимизации системы и WWW сервера зависит от того, какие задачи будут выполняться. В частности, будем ли мы использовать базы данных, а если будем, то какие именно? Каким будет сайт, его размер. Скорость и тип линии, по которой мы соединяемся с провайдером и еще много и много чего, в том числе: количество и тип процессоров , их загруженность, размер RAM и скорость винчестера.

В таблице систематизированы типовые решения для IIS4.

Генеральные установки Действия Решения
Удаляем не используемые "маппинги". Microsoft Management Console -> Web sites (virtual servers) -> Right-click -> properties -> Home Directory -> Application Settings section -> Configuration button. Удаляем все маппинги кроме тех, которые будем использовать, как правило, остается только .asp Если Вы не нашли ни одного знакомого Вам расширения, все равно оставьте .asp Высвобождаем ресурсы IIS.
Для сильно загруженных серверов: установите Performance bar в положение More than 100,000. Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties ->Performance Переместите ползунок в право в положение More than 100,000. Перераспеделение ресурса процессора и системы с "простаивающих" процессов на IIS. Примечание: Используйте эту установку только для нагруженных сайтов.
Лог файлы
Если не используете лог - файлы, то отключите их. Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties->снимите галочку Enable Logging. Высвобождает системные реурсы.
Параметры протокола TCP - IP
Настройка TCP параметров в registry. Использовать Regedt32. HKLM\CurrentControlSet\ Services\TCPIP Parameters. Добавить value MaxUserPort в случае его отсутствия и установить значение 0xfffe. Добавить value TcpWindowSize в случае его отсутствия и установить значение 0x4470. Увеличение количества открытых портов и больший размер фрейма TCP позволят повысить производительность протокола.
Параметры для мультипроцессорных систем
Проверьте количество IIS threads.(потоки)

Для проверки глубины очереди и количества потоков используйте Монитор.

Если Ваша система имеет N процессоров и количество процессов в очереди находится в пределах от N до 3N то все в порядке. Если не уверены - оставьте значения по умолчанию. Для статических рабочих нагрузок. Вы можете установить MaxPoolThreads в 1 и PoolThreadLimit равным числу процессоров в вашей системе. Количество потоков должно быть таким, чтобы поступающие запросы не оказались заблокированными Однако, каждый поток использует системные ресурсы и может потенциально вызывать ненужные контекстные переключения. Цель состоит в том, чтобы сбалансировать количество потоков и запросов к IIS.
Оптимизация для Статических нагрузок
Установка TTL (время жизни объекта в кэше) По умолчанию: 30 секунд Используйте Regedt32, HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\InetInfo\ Parameters. Добавьте value ObjectCacheTTL Установите то значение, которое пожелаете. Определяется опытным путем, если не знаете что ставить, оставьте как есть. Если ресурсов много а сайт маленький - установите 0xffffffff. Этим Вы отключите очистку кеша.
Установка OpenFileInCache - количество хэндлов в кэшэ.По умолчанию: 1000 на каждые 32MB физической памяти Используйте Regedt32, HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ InetInfo\ Parameters. Добавьте value OpenFileInCache если оно отсутствует. Установите величину исходя из количества памяти. Большие статичные сайты могут резко поднять производительность увеличивая количество хэндлов в кэше. В этом случае обращение к файлам будет производиться не на винчестера а непосредственно к файлам в памяти компьютера.
Оптимизация ASP
Установите Processor ThreadMax на минимум. (по умолчанию - 30) Используйте Regedt32, HKEY_LOCAL_MACHINE\ SYSTEM \CurrentControlSet\ Services \W3SVC \ASP\Parameters. Добавьте ProcessorThreadMax Необходимо контролировать по монитору производительность IIS. Если при уменьшении величины ProcessorThreadMax производительность понизится - восстановите исходные параметры. Перераспределение процессов в мультипроцессорных системах сбалансирует нагрузку. Хорошо написанные скрипты ASP используют многопоточность.
Установите в AspScriptEngine CacheMax значение Processor ThreadMax, соответственно количеству процессоров в системе (умножить исходное значение) По умолчанию: 30 Скрипты для изменения настроек в IIS4 хранятся в metabase. Путь: /System32/ inetsrv/ adminisamples. Файл adsutil.vbs Данные настройки позволять енжине наиболее эффективно кэшировать скрипт - файлы.
Включите буферизацию для приложений ASP. Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties -> Performance -> Home/Virtual Directory property -> Configuration button ->App Options property -> Enable Buffering option. Установка этой опции буферизует вывод ASP на браузер. Это позволяет серверу передавать полный ответ в контексте задачи а не порцию обработанных данных.
Минимизируйте значение Session Timeout Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties Экспериментальным путем выберите значение. У меня - 180

Примечание.

Все значения - "DWORD".

Высокий ObjectCacheTTL работает лучше всего для узлов с маленьким числом "популярных" файлов. Если. Если число часто требуемых файлов большое, высокий ObjectCacheTTL не поможет. IIS будет стараться оставить в кеше большее количество файлов и, в итоге, кэш будет заполнен,что замедлит открывание файлов. Установка высокого TTL полезна только в том случае, когда файлы многократно используются в пределах TTL периода. Используйте параметр OpenFilesInCache, чтобы ограничить число открытых файлов .

Если Вы будете использовать лог - файл:

Базы данных.

Настройка базы данных на максимальную производительность хорошо описана здесь , а также здесь и здесь. Прежде чем приступить к оптимизации скорости доступа к базе нормализуйте саму базу данных. Устанавливайте базы на отдельные винчестеры и не размещайте базы данных в пределах root каталогов. Для обращения к базе используется ODBC, и нет необходимости выставлять на всеобщее обозрение файл с базой, размещая его в расшаренном каталоге (утащат :-))). Используйте высокопроизводительные базы данных. На пример чат Samara Pub использует Oracle, www.actiweserverpages.com - SQL. Для простых задач и не шибко больших объемов - достаточно Access.

4 Удаленное управление и администрирование WWW сервера.

Сервер установлен, теперь стоит позаботиться об удаленном управлении Вашим сервером.

Нам необходимо удаленно:

В итоге, у провайдера можно будет появиться ОДИН раз - установить компьютер, причем без монитора и клавиатуры, пускай себе "жужжит" :-)

Первые два пункта легко осуществимы.У IIS 4.0 в комплекте поставки имеется HTML версия Администратора.Она позволяет удаленно администрировать WWW сайт.

Для администрирования NT4 нам понадобится другой администратор - Web Administrator 2.0 for Windows NT Server

С его помощью можно:

Штука серьезная и в хозяйстве нужная. Внимательно прочитайте документацию, особое внимание уделите секретности и правам доступа к административным сайтам.

Закачка информации на WWW - сайт.

ИМХО - лучше FAR ничего не найти. Из альтернатив - фирменные средства от Microsoft. Web Publishing Wizard и Front Page 98.

FP98 можно ругать, можно им не пользоваться вовсе, но для оперативного управления и размещения информации на сайте пакет удобен, особенно, если Вы - начинающий. В состав FP-98 включен пакет FP Administrator Form. C его помощью можно создавать и администрировать сайты и страницы, созданные непосредственно в FP98.

FP98 я описывать не буду, читайте хелп.

Еще один хороший инструмент - Fusion. Причем, производители бесплатно рассылают CD-ROM с программой, "на посмотреть".

На использования FAR для закачки данных на сайт остановлюсь подробней.

Использовать его следует совместно с IIS Администратором.

Для закачки необходимо:

  1. Создать новый каталог FTP или новый FTP сайт. (В Администраторе IIS)
  2. Отобразить на него Ваш wwwroot каталог, или каталог в который будем закачивать файлы, разрешить запись в этот каталог, (снять галочку с опции FTP "anonimous only"). После сохранения этот каталог будет доступен для записи.

Не оставляйте по окончании работы FTP сайты открытыми, удалите их, и не забудьте восстановить анонимный доступ на Ваш основной FTP сайт.

Для удаленного управления базами данных, и удаленного запуска программ так же будем использовать ASP. Вот тут Вы можете скачать специальный пак в котором реализованы эти функции управления.

Управление рег - файлом IISRegistr3.EXE
Создание DNS odbctool.zip
ASP - сетчик IISPageCnt3.EXE
Исполнение DOS и Win32 приложений. Aspexec.zip

Вот пожалуй и все. Чаще меняйте пароли. Удачи Вам!

Copyright (c) 1998 FreeShoots