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

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

  • Реклама





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

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


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

    голосов: 16197

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



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

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

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

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




    В помощь сисадмину: Установка Apache 2.x, PHP4, PERL и MySQL на localhost под Windows
    Опубликовал raven 20.11.2002 11:50

    В помощь сисадмину
    В форуме часто возникают просьбы помочь уcтановить Apache, PHP, Perl, MySQL. Эти программы могут понадобиться не только системным администраторам, но и веб-программистам и веб-мастерам, например, для отладки скриптов. В данной статье рассмотрено, как устанавливать последние версии этих программ на Win32. Я не ставлю целью описать все аспекты web-администрирования, а лишь помогу установить конфигурацию, позволяющую освоить и изучить основные возможности Apache 2.x, PHP, Perl и MySQL.

    Где скачать?
    Установка Apache 2.x

    Стоит сказать, что на данный момент существуют две ветки Apache: 1.3.x и 2.x. По установке и настройке версии 1.3.x можно найти довольно много информации, а вот с версией 2.x дела обстоят хуже. Все дело в том, что системных администраторов устраивает версия 1.3.x, а с настройкой версии 2.x часто возникают проблемы. Поэтому я рассказываю о версии 2.x, хотя и не претендую на полное описание.

    Первым делом надо скачать дистрибутив сервера с http://www.apache.org. Скачиваем версию для Windows из раздела Win32/Binaries. Выбирайте последнюю версию сервера.

    Запустите скачанный файл. Появится окно установщика. Нажимайте далее до тех пор, пока не увидите следущее окно:

    Окно инсталляции Apache 2.0.40


    Введите ваш e-mail, он будет отображаться как e-mail администратора в ответах сервера. Заполните поля Network Domain и Server Name. Если вы работаете локально, то можно написать в эти поля, что угодно, не забудьте только это слово, если оно отлично от слова localhost, внести в файл hosts. Файл hosts (без расширения) расположен в корневом каталоге Windows, если ваша система Win98 и в каталоге %SystemRoot%system32driversetc, если ваша система Win2k. Если файла там нет, его следует создать и записать в нем:

    127.0.0.1   localhost   имя_сервера_2   имя_сервера_3   имя_сервера_n

    Далее внимание! Если устанавливаемая версия сервера Apache является единственной на вашей машине, лучше выбрать первый (рекомендуемый) вариант установки: «for All Users on Port 80, as a Service -- Recommended». В этом случае вам не придется стартовать сервер вручную, он будет запускаться как сервис вместе со стартом системы. Если же на вашей машине уже имеется web-сервер, например Apache 1.3.х, то необходимо выбрать второй вариант установки: «Only for the Current User, on Port 8080, whem started Manually», в противном случае установить второй сервер вам не удастся. При последнем варианте установки вам придется стартовать сервер вручную (Пуск->Программы->Apache HTTP Server 2.0.40->Configure Apache Server-Start Apache in Console>).
    Вы также можете перед установкой второго сервера остановить сервис первого. Тогда появится возможность установить и второй Apache как сервис, стартующий вместе с системой. В этом случае в конфигурационном файле второго сервера необходимо изменить порт со стандартного 80 на другой, например, 8080:

    Listen 8080

    Все адреса, обрабатываемые сервером, который работает на порту, отличном от 80, имеют вид: http://адрес:порт, например: http://127.0.0.1:8080

    В следующем окне можете смело выбирать «Typical».

    Выбор варианта установки Apache

     
    В «Custom»-варианте имеется возможность установить дополнительные модули и библиотеки, отказаться от установки документации. В обоих вариантах будет предложено выбрать путь для установки программы.

    Расширенный вариант установки Apache 2.0.40

     
    Нажимайте далее, пока не начнется копирование файлов.
    Поздравляю, установка Apache закончена!
     
    Конфигурирование Apache 2.x

    Определитесь с каталогом для файлов вашего сайта. Я использую C:Inet, но можно выбрать другой.

    Все настройки сервера можно менять, редактируя один единственный файл httpd.conf:
    Пуск->Программы->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File. Можно также открыть этот файл с помощью любого текстового редактора, httpd.conf расположен в папке conf каталога, в который вы установили Apache, по умолчанию это: C:Program FilesApache GroupApache2conf
    Внимание! Для вступления настроек в силу необходимо перезапускать Apache.
    В этой же папке находится файл httpd.default.conf, в котором содержатся установки сервера по умолчанию, так что всегда все можно вернуть в первоначальное состояние, если вы окончательно испортите httpd.conf.
     

    Приступим к настройке

    Как и в версии 1.3.х конфигурационный файл Apache 2.x имеет три секции: Global Environment (глобальное окружение), Main server configuration (конфигурация главного сервера) и Virtual Hosts (виртуальные хосты). Для расшифровки директив пользуйтесь русским переводом конфигурационного файла.
    На локалхосте настройки глобального окружения имеет смысл оставить без изменений.

    Настраиваем главный сервер:
    • Найдите строчку DocumentRoot:
      Измените ее значение на путь к тому каталогу, в котором вы будете хранить свои html-файлы (по умолчанию это папка htdocs каталога, в который установлен сервер). Для моего случая:

      DocumentRoot "C:/Inet/localhost/www"
       
    • Ниже расположен блок <Directory /> ... </Directory >. Он содержит минимальные настройки для корня сайта и всех его подкаталогов. То есть по умолчанию это настройки для папки htdocs и всех ее подкаталогов. Имеет смысл оставить данный блок без изменений, а ниже написать настройки для DocumentRoot, то есть в нашем случае для "C:/Inet/localhost/www"

      <Directory "C:/Inet/localhost/www">
      Options Indexes Includes
      AllowOverride All
      Order allow,deny
      Allow from all
      </Directory>


      Эти настройки обеспечивают возможность автоматической генерации списка содержимого каталога при просмотре его в браузере (опция Indexes), а также поддержку SSI (опция Includes) и разрешение использовать все директивы файла .htaccess для настроек отдельных папок (значение All директивы AllowOverride).
      Директивы:
      Order allow,deny
      Allow from all
      на локалхосте имеют мало значения. Первая строчка указывает серверу, в какой последовательности проверять разрешения и запреты на отдаваемые файлы (в данном случае - allow,deny - сначала разрешения, потом запреты), а вторая (Allow from all) - разрешает брать с сервера файлы всем.

      Опцию Indexes имеет смысл включать в папках, содержащих что-то типа архива файлов или картинок. Тогда пользователь, введя имя папки и не введя имя страницы, получит список файлов данной папки:

      Листинг директории - результат работы директивы Indexes

       
      Если не включить эту опцию, то пользователь, введя имя папки и не введя имя страницы, получит ошибку 403 - доступ запрещен (таким образом рекомендуется настраивать большинство web-папок).
       

      Ошибка 403 при запросе каталога - без директивы Indexes

       

    • Если Вы хотите, чтобы в сообщениях об ошибках отображался e-mail администратора, замените опцию On директивы ServerSignature на опцию EMail:

      ServerSignature EMail

       
      Результат работы опции EMail директивы ServerSignature

       

    • Инициализируйте параметр DirectoryIndex (файлы, автоматически возвращаемые сервером при обращении к каталогу, если не указано имя файла):

      DirectoryIndex index.html index.htm index.php
       
    • Чуть ниже расположены строчки:

      ErrorLog logs/error.log
      CustomLog logs/access.log common

      Первая определяет расположение и имя файла журнала ошибок (путь сервер отсчитывает относительно ServerRoot), вторая - файла журнала обращений к серверу. Возможно, вы захотите иметь эти файлы под рукой, в каталоге с вашим сайтом, тогда измените строчки на такие:

      ErrorLog C:/Inet/localhost/www/logs/error.log
      CustomLog C:/Inet/localhost/www/logs/access.log common

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

      По умолчанию Apache сам правильно настраивает директорию с документацией:

      Alias /manual "E:/usr/local/Apache2/manual"
      <Directory "E:/usr/local/Apache2/manual">
      Options Indexes FollowSymLinks MultiViews IncludesNoExec
      AddOutputFilter Includes html
      AllowOverride None
      Order allow,deny
      Allow from all
      </Directory>

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

    Документация к веб-серверу Apache  на локалхосте

     

    • Находим строчку ScriptAlias (имя папки, где будут храниться скрипты) и меняем ее на следующую:

      ScriptAlias /cgi-bin/ "C:/Inet/localhost/cgi/"
       
    • После этого идет блок <Directory ..> ... </Directory > с конфигурацией папки скриптов. Для разрешения исполнения cgi-скриптов установите такие директивы:

      <Directory "C:/Inet/localhost/cgi/">
      AllowOverride None
      Options ExecCGI
      Order allow,deny
      Allow from all
      </Directory>

      Собственно в этом блоке за разрешение исполнения скриптов отвечает только опция ExecCGI директивы Options.

    • Для того, чтобы Apache нормально понимал русский язык, найдите строчку AddDefaultCharset... (добавить кодировку по умолчанию) и замените ее на:

      AddDefaultCharset WINDOWS-1251
       
    • Находим строчку:
      #AddHandler cgi-script .cgi
      и меняем ее на следущую:

      AddHandler cgi-script .cgi .pl .exe .bat

      Это говорит Apache о том, что файлы с расширениями .cgi .pl .exe и .bat надо рассматривать как CGI-скрипты.
       
    • Для установки поддержки SSI найдите и раскомментируйте следущие строчки:

      #AddType text/html .shtml
      #AddOutputFilter INCLUDES .shtml


      SSI (Server-Side Include) - директивы, исполняемые на стороне сервера. Они позволяют собирать документ из нескольких файлов, например, для того, чтобы во все страницы вставить одинаковую шапку или блок баннеров. Можете добавить расширения файлов, которые сервер будет просматривать на предмет наличия в них директив SSI:

      AddType text/html .shtml .shtm .html .htm
      AddOutputFilter INCLUDES .shtml . shtm .html .htm

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

    Остальные настройки сервера можно оставить без изменений, таким образом, основное конфигурирование Apache завершено! Более подробно о директивах читайте в каталоге с документацией:
    http://127.0.0.1/manual/mod/directives.html
    http://127.0.0.1:8080/manual/mod/directives.html
     
     
    Установка PHP

    Скачайте последнюю версию PHP с сайта http://www.php.net в разделе Win32 Binaries. Файл должен иметь расширение .zip

    Распакуйте архив в папку, где у вас будет располагаться PHP, например C:PHP или C:usrlocalphp. Переименуйте файл php.ini-recommended в php.ini и скопируйте в каталог Windows. В этом файле можно устанавливать различные настройки PHP. Для запуска простого php-скрипта менять в php.ini ничего не надо. Также скопируйте файл php4ts.dll в каталог System или System32.
    Далее обратите внимание. PHP можно устанавливать как самостоятельную программу (в этом случае скрипты будут исполняться файлом php.exe), либо как модуль Apache (скрипты будут исполняться самим сервером с помощью файла модуля). Рекомендуется выбрать второй вариант, т.к. он обеспечивает более быструю работу скриптов (а на удаленном сервере еще и более безопасную). Для установки PHP как модуля Apache откройте httpd.conf и добавьте две строчки в секцию конфигурации главного сервера:

    LoadModule php4_module c:\php\sapi\php4apache2.dll
    AddType application/x-httpd-php php php3 php4 phtml


    Первая строчка загружает модуль (необходимо указать точный путь к нему), вторая - указывает серверу, файлы с каким расширением нужно рассматривать как php-скрипты. Обратите внимание на обратные слеши в пути к модулю PHP.
    В отличие от версии 1.3.x в версии 2.x добавление модуля к серверу осуществляется только одной директивой (LoadModule). Для настройки php больше никаких действий производить не нужно, класть php-скрипты можно в любые папки вашего сайта.
     
    Если после подключения модуля PHP ваш Apache при старте выдаст ошибку вида:

    E:\>f:\Apache2\bin\apache.exe apache.exe: module "c:\php4build\snap\sapi\apache2filter\sapi_apache2.c" is not compatible with this version of Apache (found 20020628, need 20020903). Please contact the vendor for the correct version.

    то попробуйте заменить свой файл php4apache2.dll на аналогичный из файлового архива форума «В помощь системному администратору».
     

    Установка Perl

    Скачиваем последнюю версию ActivePerl с сайта http://www.activestate.com. Устанавливаем в директорию C:usr. Это позволит работать большинству web-скриптов. Чтобы навсегда снять проблемы с поиском сервером пути к Перл, следует в реестре Windows сассоциировать файлы .cgi с программой Perl.exe. Делается это очень просто - кликаете правой кнопкой мыши на любом файле с расширением cgi, в выпадающем меню выбираете «Открыть с помощью», указываете Perl.exe, ставите галочку на «использовать программу для всех файлов этого типа». На всякий случай, чтобы сервер не искал путь к Перл, а брал его из реестра системы, в httpd.conf в секцию конфигурации главного сервера добавьте такую строчку:

    ScriptInterpreterSource registry

    Установка MySQL

    Скачиваем последнюю версию с сайта http://www.mysql.com. Установка не отличается от установки любой другой программы. Рекомендуется ставить в каталог по умолчанию, чтобы не было проблем с совместимостью. Для завершения установки запустите программу MySQLAdmin, которая находится в C:mysqlbinwinmysqladmin.exe введите имя пользователя и пароль для доступа к базе данных.

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

    На этом установка программного обеспечения завершена!

    Тестирование

    Тестирование проводилось на Apache 2.0.40, PHP 4.2.3, MySQL 3.23.52 и Active Perl 5.8.0.802 под WinXP.

    • Тестируем Apache. В каталог, указанный как DocumentRoot, положите HTML-файл с именем index.html, наберите в браузере: http://127.0.0.1/ или http://127.0.0.1:8080/ (если вы выбрали второй вариант установки сервера). Браузер должен отобразить страницу index.html.

    • Тестируем SSI. В каталог, указанный как DocumentRoot, положите HTML-файл с именем test.shtml. В самом верху этого файла - до директивы <html> - поместите следующую строчку:

      <!--#set var="test" value="Проверка SSI прошла успешно!" -->

      В теле файла (после директивы <body>) поместите строчку:

      <!--#echo var="test" -->

      В адресной строке наберите: http://127.0.0.1/test.shtml, браузер должен вывести текст «Проверка SSI прошла успешно!»

    • Тестируем PHP. Создайте в папке C:Inetlocalhostwww файл index.php и напишите в нем следующее:

      <?
      phpinfo();
      ?>


      В браузере наберите http://localhost/index.php. Если все правильно сконфигурировано, то в результате выведется информация о версии PHP и глобальных переменных.
       
    • Теперь проверка Perl. Создайте файл test.cgi со следующим содержанием и поместите его в C:Inetlocalhostcgi:

      #!/usr/bin/perl
      print "Content-type: text/html\n\n";
      print "Hello world!<br>\n";


      Наберите в браузере http://localhost/cgi-bin/test.cgi - выведется строчка «Hello World».

    Если что-то не заработает, не отчаявайтесь, проверьте все еще раз. Если это не принесет результата, попробуйте этот конфиг или пишите мне!

    Удачи вам!
    raven

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

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

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


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

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



  • This web site was made with PHP-Nuke