Добро Пожаловать  Ru.Board
 

Навигация
  • Главная
  • Форум
  • Темы
  • Топ лист
  • Файловый архив

  • Реклама





    Проголосуй!
    Статьи на какие темы вы бы желали видеть на нашем сайте?

    Системное администрирование Windows
    Администрирование *nix систем
    Обзоры пользовательского программного обеспечения
    Вебмастеринг: тонкости сайтостроения
    Вебмастеринг: юзабилити сайтов
    Вебпрограмминг: полезные решения
    Linux-системы: вопросы по работе
    Вопросы по аппаратной части компьютеров
    Обзоры программ для администраторов
    Компьютерная безопасность (для пользователей)
    Компьютерная безопасность (для администраторов)
    Другое


    Результаты
    Другие Опросы

    голосов: 16198

    Избранное
  • Установка Php-Nuke
  • Установка IkonBoard на локалхосте



    Форум по движку IkonBoard V.2

    Файловый архив для вебмастеров: полезные скрипты

    Форум по операционным системам: Linux, Windows, Mac

  • Поиск по сайту




    В помощь сисадмину: Компиляция и установка Apache, mod_perl и PHP под Windows. Часть 1
    Опубликовал tolsty1 08.08.2003 01:22

    В помощь сисадмину
    В отличие от Unix-систем, где многие продукты, а часто и сама система, доступны в виде исходных текстов, в мире Windows не принято собирать программные продукты самостоятельно. Производители программного обеспечения пытаются нас убедить, что эта задача под силу только высококвалифицированному специалисту. Так ли это на самом деле? Действительно ли мы не получим никаких преимуществ? Давайте проверим на примере Web-сервера Apache.
    Мы самостоятельно соберем Apache и mod_perl из исходных текстов, а также PHP, подключаемый в виде модуля.
    В первой части статьи я опишу установку и настройку необходимого для этого инструментария. Загрузку исходных текстов Apache, mod_perl и PHP на локальный компьютер и компиляцию мы обсудим позднее.



    Введение

    Наверное, первый вопрос, который возникает у пользователя Windows, это "а зачем?".

    Во-первых, зачем вообще устанавливать себе на компьютер Web-сервер? Я не берусь решать за вас, объясню только, зачем это нужно мне.

    Дело в том, что иногда мне приходится писать или отлаживать различные скрипты на Perl и PHP, предназначенные для работы на Web-сервере. Конечно, ничто не мешает отправить готовые HTML и скрипты на сервер хостера и проверить, как они работают. Но не всегда удается договориться с хостером о том, чтобы под рукой был shell-account. А ведь именно из под shell удобнее всего просматривать логи. Или, например, отладка скрипта на PHP. Вы ведь уже пользуетесь DBG? Далеко не каждый хостер согласится установить у себя отладчик. Ну, и, в конце концов, за все это надо отдать какое-то количество денег вашему провайдеру.

    Во-вторых, начиная с Windows 2000, в комплект поставки входит Internet Information Server (IIS), а пользователи Windows NT 4.0 могут установить бесплатный пакет "Windows NT 4.0 Option Pack". Но тогда, чтобы быть уверенным, что ваши скрипты работают на сайте точно так же, как и дома, надо покупать Windows-хостинг. А он обычно значительно дороже, чем под Unix. Apache же работает как под *nix, так и под Windows, выдавая и там, и там одинаковый результат. Причем, Apache версии 2 работает под Windows гораздо быстрее, чем предыдущая версия. Появились уже коммерческие версии Web-серверов на основе Apache 2.

    Хорошо, скажете вы, пусть будет Apache. Компилировать-то зачем? Есть ведь готовые пакеты установки как Apache, так и PHP. A mod_perl можно установить при помощи PPM. Попробую объяснить свою точку зрения.

    Причина, по которой этим занялся я, была в том, что Apache в виде пакета установки распространяется без SSL. Это связано с довольно строгими ограничениями на экспорт технологий шифрования, существующими в США. Разработчики Apache решили, что у них будет меньше проблем с властями, если они будут распространять готовые версии без SSL. Что ж, их право. Но мне он нужен!

    Есть, конечно, готовые версии Apache для Windows, собранные с поддержкой SSL. Однако при выходе новой версии вам придется загрузить пакет установки заново (около 30 мегабайт). Если же у вас на компьютере есть исходные тексты, полученные из CVS, то надо будет скачать только изменения между версиями.

    И последнее, но не менее важное замечание. Пакеты установки, распространяемые их разработчиками, скомпилированы практически без оптимизации. Мы же с вами соберем сервер, работающий немного быстрее.

    Ну что, попробуем?

    Компилируем Apache, mod_perl и PHP под Windows. Часть 1. Подготовка.

    Инструментарий

    Что же нам понадобится для сборки? Не так уж и много:

    Ну и, конечно, Windows NT 4.0 или выше.

    Установка Microsoft Visual C++

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

    Об установке Visual C++ очень много и не скажешь, поскольку, как и большинство продуктов Microsoft Corporation, он устанавливается легко и, обычно, без осложнений. Просто выньте из только что купленной фирменной коробки четыре (в случае Microsoft Visual Studio 97 Enterprise Edition) компакт-диска, вставьте первый из них в привод CD-ROM и следуйте инструкциям на экране.

    Вы можете выбрать опцию "настроить переменные окружения" при установке или запустить VCVARS32.BAT перед тем, как приступить к сборке.

    Как и с большинством продуктов Microsoft Corporation, важно не забыть приобрести или скачать с сайта Microsoft последний Service Pack. Для VC++ 5.0 это SP3, для VC++ 6.0 — SP6 и Service Pack 2 для VC.NET (он же VC++ 8.0).

    Установка Microsoft Platform SDK

    В случае, если вы используете MS Visual C++ 6.0 или более поздней версии, можете пропустить этот шаг.

    С момента выхода последнего доступного сервис-пака для MS VC++ 5.0 прошло уже довольно много времени, и появились Windows CE, Windows Embedded, Windows Mobile, Windows 2000 и Windows XP и Windows Server 2003.

    В связи с этим, библиотеки и документация, поставляемые с VC++ 5.0 устарели, и нам необходимо будет загрузить и установить Microsoft Platform SDK.

    Platform SDK — это набор библиотек, необходимых для сборки приложений для операционных систем Microsoft. Также в SDK входит документация и примеры приложений.

    Страница загрузки Platform SDK находится по адресу http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. Зайдя на эту страницу, вы увидите, что у вас есть выбор: загрузить полную версию SDK (около 326 мегабайт) или установить только необходимые компоненты.

    Страница загрузки MS Platform SDK

    Доступные варианты установки отмечены овалом.

    Я выбрал вариант с необходимыми компонентами (верхний).

    В случае, если на вашем компьютере еще не установлен Microsoft XML Parser 3, а также Windows Installer 2.0, вам будет предложено это сделать.

    После того, как MS XML установлен, вы увидите страницу выбора компонентов для установки. Нам нужны:

    • Core SDK -> Build environtment,
    • Internet Development SDK -> Build environtment,
    • Internet Information Server SDK -> Build environtment и
    • Configuration Options -> Register environment variables.

    Расставляем соответствующие галочки и идем дальше. Теперь надо нажать кнопку "Start Installation", а за ней "Continue". Именно на этом этапе предлагается установить Windows Installer, но я рекомендую сделать это раньше.

    Процесс пошел

    Установка MS Platform SDK при подключении к Интернет по модему на скорости 28,8 Кбит/сек может занять до 4 часов.

    По окончании установки перезагрузка компьютера не требуется.

    Установка ActiveState ActivePerl 5.8

    Perl понадобится нам как для сборки openssl, так и для работы mod_perl в последующем.

    The Windows AS Package provides NO uninstall functionality, and is recommended only if you are unable to install ActivePerl using the MSI installer.

    Установка ActiveState ActivePerl от ActiveState намного проще. Заходим на страницу загрузки, регистрируемся и выкачиваем пакет установки.

    Для установки ActivePerl необходим Windows Installer 2.0+ или выше.

    Теперь правой кнопкой в проводнике щелкаем по файлу ActivePerl-5.8.0.806-MSWin32-x86.msi и выбираем пункт "Установить". Следуем инструкциям на экране и voilà tout, ActivePerl установлен и готов к работе.

    Установка UnxUtils

    UnxUtils также понадобятся для сборки как Apache, так и PHP.

    Здесь все просто и аскетично. Зайдя на страницу UnxUtils, вы увидите ссылки на два файла: UnxUtils.zip и UnxUpdates.zip. Их и качайте.

    Распакуйте UnxUtils.zip. Например, такой командой:

    C:\ _
       
        
    ×
    C:\WINNTSystem32cmd.exe
    C:\WinApps\UnxUtils> pkzip25 -extract -dir C:\DLUnxUtilsUnxUtils.zip

    Теперь распакуем UnxUpdates.zip:

    Компилируем Apache, mod_perl и PHP под Windows. Часть 1.

    C:\ _
       
        
    ×
    C:\WINNTSystem32cmd.exe
    C:\WinApps\UnxUtils> pkzip25 -extract -overwrite=all -exclude=*.a -exclude=*.lib C:\DLUnxUtilsUnxUpdates.zip usr\local\wbin
    C:\WinApps\UnxUtils> pkzip25 -extract -overwrite=all -include=*.a -include=*.lib C:\DLUnxUtilsUnxUpdates.zip usr\local\lib

    Добавим <Папку установки UnxUtils>usr\local\wbin в путь и настроим еще несколько переменных окружения:

    Окно установки переменных среды

    Для того, чтобы открыть окно "Переменные среды", нажмите Windows+Break. В появившемся на экране окне "Свойства системы" выберите закладку "Дополнительно" и нажмите кнопку "Переменные среды..."

    Настройте переменные окружения так, чтобы вы смогли увидеть что-то подобное:

    C: _
       
        
    ×
    C:\WINNTSystem32cmd.exe
    E:\work> set BISON & set PAGER & echo HOME=%HOME% & echo PATH=%PATH%
    BISON_HAIRY=C:\WinApps\ UnxUtils\ usr\ local\ share bison.hairy
    BISON_SIMPLE=C:\WinApps\ UnxUtils\ usr local\ share\ bison.simple
    PAGER=less
    HOME=E:/work
    PATH=C:\EXE; C:\WinApps\UnxUtils\usr local\\wbin;\C:\WINNT system32;\C:\WINNT; C:\WINNT system32 WBEM; C:\WinApps\MS_SDK\Bin;\C:\WinApps\MS_SDK\Bin\WinNT; C:\WinApps\ResKit;\C:\WWW\Perl\bin;\C:\WinApps\cvsnt;\c:\winapps\devstudio\sharedide\bin\ide; c:\winapps\devstudio\sharedide\bin;\c:\winapps\devstudio\vc\bin
    E:\work> _

    Помещать "<Папку установки UnxUtils>usr\local\wbin" перед "<SystemRoot>system32" стоит только в том случае, если вы готовы к побочным эффектам, которые это вызовет.

    На этом установка UnxUtils закончена. Это было не так легко, как с MS VC++, но поверьте, оно того стоило.

    Установка CVSNT

    Использование CVS для сборки Apache необязательно. Другое дело, что если вы захотите собрать обновленную версию Web-сервера, то придется заново выкачивать архив исходных текстов. CVS же позволит не только выбрать версию, которую вы хотите установить, но и предоставит много других возможностей.

    Для начала загрузим пакет CVSNT с сайта разработчика. Страница загрузки находится по адресу http://www.cvsnt.org/wiki/. Загрузите Windows install (.exe) (3,305KB) и запустите cvsnt-2.x.x.exe.

    Первая страница установки CVSNT

    Установка CVSNT довольна проста и выполнена в привычном для пользователя Windows стиле.

    Выберите папку для установки программы. После этого нам предоставляется возможность выбрать, какие компоненты и протоколы установить. Укажите то же, что видите на рисунке.

    Выбор компонентов CVSNT

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

    На следующих двух страницах укажите название меню и устанавливаемые сервисы. Убедитесь, что выбраны оба сервиса.

    Программа установки автоматически добавит папку CVSNT в путь.

    Теперь надо инициализировать repository на жестком диске. Запустите "Пуск -> Программы -> CVSNT -> Service control panel" и выберите закладку "Repositories".

    Управление сервисом CVSNT

    Я рекомендую оставить включенной опцию "Server side support for ntserver protocol" на закладке "Advanced".

    Установите галочку напротив "Repository Prefix" и выберите (или создайте) папку, в которой будут храниться все ваши repositories.

    Нажмите Add и укажите подгаталог той папки, которую мы создали абзацем выше. Ответьте "Да" на вопрос "E:/CVSREP/www does not exist. Create it?".

    К сожалению, эта процедура не всегда проходит гладко. В этом случае нужно инициализировать repository из командной строки, а потом добавить его в CVSNT Service control panel:

    C: _
       
        
    ×
    C:\WINNTSystem32cmd.exe
    E:\work> cvs -d:local:E:/CVSREP/www init
    E:\work> dir E:\CVSREP
     Том в устройстве E имеет метку Supplement
     Серийный номер тома: B434-FF80
    
     Содержимое папки E:\CVSREP
    
    15.05.2003  06:00       <DIR>          .
    15.05.2003  06:00       <DIR>          ..
    09.05.2003  18:38       <DIR>          www
                   0 файлов              0 байт
                   3 папок  17 180 004 352 байт свободно
    
    E:\work> _

    Необходимо заметить, что CVSNT — это не единственная адаптация CVS для Win32. На сайте http://www.cvshome.org есть и другой вариант. Он обеспечивает лишь клиентскую сторону протокола и не поддерживает такие протоколы как ntserver и sspi. Но поддержка локальных repositories, конечно, доступна.

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

    Установка rsync

    rsync понадобится нам для того, чтобы выгрузить CVS repositories Apache, openssl и mod_perl на локальный компьютер.

    Установка rsync очень проста. Сложнее было найти адаптацию rsync под Win32.

    Хотя их нашлось несколько, я остановился на варианте School of Physics – Optics Group. Опять же, из двух вариантов, я выбрал «минималистский». Загружаем rsync_minimal.tgz и даем команду:

    C: _
       
        
    ×
    C:\WINNTSystem32cmd.exe
    C:\WinApps> gunzip -c c:\DLrsync_minimal.tgz | tar -xvf -
    rsync/
    rsync/cygwin1.dll
    rsync/rsetup.bat
    rsync/rsync2.5.1-dev.exe
    rsync/ssh.exe
    C:\WinApps> cd rsync
    C:\WinAppsrsync> copy /b rsync2.5.1-dev.exe rsync.exe
    Скопировано файлов:         1.

    C:\WinAppsrsync> _

    На этом подготовка инструментальной части закончена.

    Что дальше?

    Итак, мы решили собрать Apache 2, mod_perl и PHP из исходных текстов с нестандартными (чуть более оптимизированными для скорости исполнения) опциями.

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

    Далее мы выясним, как правильно и наиболее экономно загрузить соответствующие исходные тексты, проведем настройку рабочей среды и скомпилируем Web-сервер, т.е. решим поставленную задачу.

    Данная статья в оригинале опубликована на сайте Андрея Шорина.

    Перепечатывать, цитировать или использовать текст данной статьи в любых средствах массовой информации, включая, но не ограничиваясь, электронные, разрешается лишь с письменного разрешения автора.


    КомментироватьВерсия для печати

     
    Категории
  • В помощь сисадмину
  • Все о софте
  • Вебмастеру
  • Игры
  • Hardware
  • О сайте
  • Программирование
  • Операционные системы
  • IkonBoard
  • InvisionBoard
  • Скрипты в примерах
  • Php-Nuke
  • Цифровое изображение
  • Юмор

  • Ссылки по теме
  • Ещё о В помощь сисадмину
  • Новости от tolsty1


    Популярная статья в категории В помощь сисадмину:

    Групповые политики Active Directory



  • This web site was made with PHP-Nuke