Установка и настройка Apache, PHP и MySQL (Windows)

Установка и настройка веб-серверов и серверов приложений

Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение DPX-Infinity » 26 июл 2008, 23:32

Установка и настройка веб-сервера Apache, интерпретатора PHP и СУБД MySQL.
Версия 1.1.
Спасибо doliar за напоминание об обязательной перезагрузке сервера после его конфигурации с PHP.

Использованное ПО:
Apache 2.2.9 без SSL (apache_2.2.9-win32-x86-no_ssl-r2.msi)- установщик
PHP 5.2.6 (php-5.2.6-Win32.zip) - архив
MySQL 5.0.51b (mysql-essential-5.0.51b-win32.msi) - установщик
MySQL GUI Tools 5.0-r12 (mysql-gui-tools-5.0-r12-win32.msi) - установщик
Установка и настройка происходила под управлением Windows 2000 SP4 (это единственная из более-менее вменяемых NT-систем, которые тянет мой компьютер под виртуальной машиной), но установка под другие системы вроде WinXP или Vista отличаться не будет.

1.Установка веб-сервера Apache.
Первый компонент, который мы будем устанавливать — это веб-сервер Apache. Запускайте установочный пакет (apache_2.2.9-win32-x86-no_ssl-r2.msi). Следуйте инструкциям установщика, пока не дойдёте до следующего диалога:
apache_01.png
apache_01.png (12.38 Кб) Просмотров: 32469

Если вы ставите сервер для работы с сервисом вФОСе.ру (что скорее всего), то прописывайте в поле «Network domain» "vfose.ru" без кавычек, в поле «Server name» - "<имя_вашего_домена>.vfose.ru" без кавычек. В поле для e-mail'а можете ввести любой адрес. Флажок оставляем по умолчанию (нам нужно, чтобы сервер запускался как сервис винды)
apache_02.png
apache_02.png (12.98 Кб) Просмотров: 32466

и переходим на следующую страницу. Далее, если хотите изменить путь установки (я так и сделаю), то выбирайте «Custom», иначе - «Typical». Я немного изменю путь установки:
apache_03.png
apache_03.png (14.97 Кб) Просмотров: 32452

Компоненты оставляйте прежними. Далее сервер устанавливается.
После установки можете проверить её «качество». Если в браузере страница http://localhost/ отображается нормально, значит сервер установлен правильно.
apache_04.png
apache_04.png (12.84 Кб) Просмотров: 32453


2.Установка и настройка интерпретатора PHP и конфигурация Apache.
Дальше мы установим PHP и настроим веб-сервер на его использование. Распаковываем zip-архив (php-5.2.6-Win32.zip) в удобную для вас папку (лучше всего в C:\php; я буду следовать в статье тому, что распаковка была именно сюда, поэтому, если у вас PHP в другом месте, то, соответственно, далее используйте ваш каталог). Заходите в эту папку и копируйте файл php.ini-dist в каталог Windows (у меня это C:\WINNT), а потом переименуйте его в php.ini. Открывайте это файл блокнотом или любым текстовым редактором. Я считаю, что стандартные настройки достаточно хороши, надо только исправить несколько директив. Сначала надо выбрать место на диске где будут храниться документы сервера, то есть HTML-, PHP-файлы и т.д. Возьмём, к примеру, каталог C:\www\htdocs. Тогда нам необходимо в файле php.ini исправить директиву
Код: Выделить всёРазвернуть
doc_root =
на
Код: Выделить всёРазвернуть
doc_root = "C:\www\htdocs"
Также обязательно исправить extension_dir с
Код: Выделить всёРазвернуть
extension_dir = "./"
на
Код: Выделить всёРазвернуть
extension_dir = "C:\php\ext"
(файлы расширений лежат в каталоге C:\php\ext; если вы выбрали другой каталог для PHP, то укажите его).
Далее, так как мы хотим использовать MySQL, то нужно подключить соответствующие модули. Для этого раскомментируйте (уберите «;» из начала строки) следующие строки:
Код: Выделить всёРазвернуть
;extension=php_mysql.dll
;extension=php_mysqli.dll
Если вы планируете использовать ещё какие-то модули, то раскомментируйте и их тоже. Вот список основных модулей:
Код: Выделить всёРазвернуть
;extension=php_bz2.dll — для работы с bz2-архивами (распаковка/упаковка средствами скриптов)
;extension=php_curl.dll — это curl-расширение; с помощью него можно, например, из скрипта послать POST-запрос к другому скрипту
;extension=php_exif.dll — для работы с дополнительной информацией в файлах фотографий
;extension=php_gd2.dll — графическая библиотека для генерации рисунков скриптами
;extension=php_mbstring.dll — это библиотека для работы с многобайтовыми (в кодировке Unicode) строками, настоятельно советую подключить, иначе некоторые CMS могут не работать
;extension=php_msql.dll — для работы с БД mSQL
;extension=php_mssql.dll — для работы с Microsoft SQL Server
;extension=php_mysql.dll — стандартная библиотека MySQL; для версий MySQL 5 и старше лучше использовать модуль mysqli
;extension=php_mysqli.dll — улучшенная (MySQL Improved) библиотека для работы с MySQL. Для работы с MySQL5 лучше использовать именно её
;extension=php_pdo.dll — этот модуль, а также все модули PDO обеспечивают унифицированный интерфейс ко многим базам данных. Но в частности это полезно тем, что это (насколько я знаю, по крайней мере из стандартных) единственный способ работать с базами SQLite 3
;extension=php_pgsql.dll — для работы с СУБД PostgreSQL
;extension=php_sockets.dll — модуль для работы с сокетами из скриптов
;extension=php_sqlite.dll — для работы с бессерверной БД SQLite. В этом модуле поддерживается только 2 версия файлов баз данных
;extension=php_zip.dll — для работы с zip-архивами (то же самое что и для bz2)

На этом редактирование php.ini завершаем (не забудьте сохранить изменения!). Теперь из каталога C:\php в каталог C:\WINNT\System32 (или C:\Windows\System32, в зависимости от того, куда у вас установлена система) скопируйте файл libmysql.dll. Он нужен для правильной работы PHP с MySQL.

Переходите в каталог C:\Program files\Apache2.2\conf и открывайте в текстовом редакторе файл httpd.conf.
Замечание: все пути к файлам в конфигурационных файлах Apache должны быть с прямыми слешами («/»), а не с обратными, как принято в Windows («\»).
Найдите секцию, озаглавленную как «Dynamic Shared Object (DSO) Support». Здесь можно настроить модули сервера, например, mod_rewrite. В конец, сразу после последней директивы LoadModule, добавьте следующее:
Код: Выделить всёРазвернуть
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "C:/WINNT"
Этим мы добавляем в список модулей сервера модуль PHP, а также указываем серверу, где искать файл настройки PHP (php.ini).
Если вы просмотрите этот файл дальше, то можете увидеть, что сюда занесены данные, которые вы вводили в установщике:
Код: Выделить всёРазвернуть
ServerAdmin admin@example.vfose.ru
#ServerName example.vfose.ru:80
Примечание: # - символ комментария; все строки, начинающиеся с #, никак не будут восприниматься сервером.
Далее находите следующую директиву:
Код: Выделить всёРазвернуть
DocumentRoot "C:/Program Files/Apache2.2/htdocs"
И измените её на
Код: Выделить всёРазвернуть
DocumentRoot "C:/www/htdocs"
Именно этот путь мы вписывали в php.ini. Здесь указывается путь к корневой папке документов сервера.
Чтобы эту папку можно было использовать, нужно её настроить. Находим следующий блок директив:
Код: Выделить всёРазвернуть
<Directory "C:/Program Files/Apache2.2/htdocs">
...
</Directory>
Смените путь в открывающем теге на C:/www/htdocs. Внутри этого блока, а также всех других блоков <Directory> конфигурируются соответствующие каталоги. В комментариях указаны возможные значения для директив. Например, если вы хотите использовать файлы .htaccess (они используются многими CMS, например, Siteman), то установите опцию
Код: Выделить всёРазвернуть
AllowOverride None
в
Код: Выделить всёРазвернуть
AllowOverride All
В блоках директив <IfModule> настраиваются соответствующие модули.
Добавьте в блок <IfModule dir_module> ещё одну строку:
Код: Выделить всёРазвернуть
DirectoryIndex index.php

Это означает, что теперь сервер по запросу без указания файла (например, http://example.vfose.ru/) будет выдавать файл index.html или index.php. Здесь порядок директив DirectoryIndex определяет порядок файлов, то есть если в каталоге два файла index.html и index.php, а в этом блоке директив указано
Код: Выделить всёРазвернуть
DirectoryIndex index.html
DirectoryIndex index.php
то при запросе без указания файла будет выдан файл index.html, а не index.php.
Большинство других настроек в данном файле нам не нужны, по крайней мере, сейчас. Сохраняем и закрываем файл.
Теперь откройте файл mime.types (он находится рядом с httpd.conf). Здесь настраиваются mime-типы, определяемые по расширению файла. Добавьте куда-нибудь в этот файл строку
Код: Выделить всёРазвернуть
application/x-httpd-php   php
Это означает, что файлы с расширением .php будут обрабатываться модулем PHP. Если хотите, можете добавить в этот список директиву
Код: Выделить всёРазвернуть
application/x-httpd-php-source   phps
В этом случае сервер будет отдавать файл с расширением .phps как php-код (то есть текст с отступами и подсветкой синтаксиса php).
Сохраняйте и закрывайте этот файл.
Всё, веб-сервер и PHP сконфигурированы для работы вместе. Обязательно перезагрузите веб-сервер, чтобы PHP заработал! Для этого используйте Монитор Apache (значок пера с зелёной стрелкой в системном трее) или ярлык в меню Пуск/Программы/Apache HTTP Server 2.2/Control Apache Server/Restart Чтобы протестировать работу PHP, создайте в каталоге C:\www\htdocs файл index.php с текстом
Код: Выделить всёРазвернуть
<?php phpinfo(); ?>
и зайдите в браузере на адрес http://localhost/.
Должно отобразиться примерно следующее:
php_01.png


3.Установка и настройка СУБД MySQL.
MySQL — это одна из самых используемых СУБД (Систем Управления Базами Данных) с открытым кодом. Версия Community распространяется на условиях лицензии GPL.
Приступим к установке. Запускайте установочный пакет (mysql-essential-5.0.51b-win32.msi). Установки по умолчанию вполне нормальны (сервер СУБД установится в C:\Program Files\MySQL\MySQL Server 5.0). После окончания установки оставьте флажок «Configure the MySQL Server now» включённым. Запустится конфигуратор сервера MySQL.
mysql_01.png

Нажмите Next.
mysql_02.png

В этом диалоге выберите «Detailed Configuration».
mysql_03.png

Дальше на выбор предлагаются три опции: «Developer Machine», «Server Machine» и «Dedicated MySQL Server Machine». Как можно догадаться из описаний, первая опция указывает потреблять минимум памяти, вторая — для среднего потребления, третья — для максимального. Если вы устанавливаете серверы на домашний компьютер, который используете, например, для игр, то оставьте первую опцию; если вы ставите серверы на отдельный компьютер (например, их у вас два и вы хотите отвести второй под сервер), то выберите вторую опцию. Третий вариант вам вряд ли понадобится (он нужен для выделенных серверов СУБД).
mysql_04.png

На следующей странице вы выбираете доступные движки баз данных. Движок MyISAM быстрее, но не поддерживает транзакции, а InnoDB работает немного медленнее, но поддерживает транзакции. Впрочем, если вы не собираетесь разрабатывать свои веб-приложения, то это вас не должно особо волновать. Выберите «Multifunctional Database», чтобы активировать оба движка.
mysql_05.png

В следующем диалоге вы выбираете место хранения таблиц InnoDB (этот шаг будет только если вы выбрали первую или вторую опцию на предыдущем шаге). Место хранения по умолчанию вполне нормально.
mysql_06.png

На следующем шаге вы устанавливаете количество одновременных подключений. Первая опция — 20, вторая — 500, третья — ваше число. Примечание: 20 соединений — это не значит, что на ваш сайт смогут зайти только 20 пользователей одновременно. Сессия скрипта с БД длится максимум пару секунд, поэтому пользователи на сайте не подключены к базе постоянно. Это что-то вроде распределения процессорного времени между программами. Первой опции вполне достаточно.
mysql_07.png

На следующей странице — сетевые настройки сервера и режим SQL. Оставьте настройки по умолчанию.
mysql_08.png

Следующий шаг — выбор кодировки по умолчанию Я предпочитаю установить кодировку utf8 по умолчанию — это вторая опция. Вы также можете выбрать третью опцию и установить кодировку cp1251. В любом случае, насколько я знаю, большинство CMS указывают кодировку явно при создании таблиц, так что это понадобится, если вы собираетесь разрабатывать свои веб-приложения.
mysql_09.png

Следующий диалог — настройки сервиса MySQL. Оставьте здесь всё по умолчанию.
mysql_10.png

На следующем шаге установите пароль для суперпользователя (root'а). Изначально доступ к БД извне за суперпользователя закрыт (отключена соответствующая галочка на этой странице). Так что здесь длинный пароль не так необходим. Но в любом случае безопасность — дело не последнее, поэтому установите какой-нибудь пароль. В любом случае, потом мы создадим ещё одного пользователя. Не устанавливайте опцию «Create An Anonymous Account» — это вредно с точки зрения безопасности.
mysql_11.png
mysql_11.png

Всё, теперь нажмите Execute. Настройки применятся. Нажмите Finish для завершения настройки.

Далее мы установим пакет MySQL GUI Tools. Это очень удобный набор утилит для администрации MySQL-сервера от самих разработчиков СУБД. Я лично предпочитаю именно GUI Tools, а не phpMyAdmin. Если вы не хотите использовать MySQL GUI Tools, а предпочитаете phpMyAdmin, то можете пропустить этот шаг.

Запускаем установщик (mysql-gui-tools-5.0-r12-win32.msi). Установки по умолчанию вполне удовлетворительны. После окончания установки доступ к утилитам можно получить из меню «Пуск». Запустите MySQL Administrator.
mysql_12.png
mysql_12.png (18.74 Кб) Просмотров: 31224

В поле «Server Host» введите localhost, в поля «Username» и «Password»root и пароль, который вы установили в конфигураторе, соответственно. Нажмите OK. Появится такое окно:
mysql_13.png

Что за что здесь отвечает, вы можете посмотреть в моей другой статье, «Работа с MySQL в MySQL GUI Tools».
Переходим на страницу «Catalogs». Снизу появится список баз данных. Нажмите на пустом месте в нём правой кнопкой и выберите «Create New Schema» в меню. Введите имя новой базы данных, например, SiteForum. Новая база данных будет создана. Сейчас мы установим для неё пользователя и права доступа. Переходим на страницу «User Administration».
mysql_14.png

Нажмите кнопку «Add new user». В поле «MySQL User» введите, например, forumuser. В поле «Password» можете ввести что-нибудь, а можете и не вводить. Что-то сложное вводить не обязательно. Перейдите на вкладку «Schema Privileges». В списке слева выберите только что созданную базу данных — siteforum. В правом списке появится список привилегий для данной базы данных. Вы можете выбрать все привилегии. Потом нажмите кнопку «<» (или «<<» для переноса всех привилегий). Теперь привилегии пользователя установлены, вы можете нажать кнопку «Apply changes».
Всё, сервер готов к работе. Теперь при установке форума выберите базу данных siteforum и пользователя forumuser.

Заключение.
Мы настроили веб-сервер Apache, интерпретатор скриптов PHP и сервер СУБД MySQL. В следующей части статьи я напишу, как настроить виртуальные хосты Apache — это нужно для того, чтобы держать на компьютере несколько сайтов, а также для того, чтобы изолировать и обезопасить сайты.
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение DPX-Infinity » 26 июл 2008, 23:33

Вот собственно долгожданная (наверное :) ) статья. Отписывайте комментарии и неточности которые я натворил.
скоро дам ссылки на файлы в статье. наверное, только утром, так как у меня ужасно тормозит дц-клиент когда обновляю список файлов.
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение doliar » 27 июл 2008, 04:34

Я бы добавил в статью,то что после установки и проверки Apache,перед шагом установки php5,нужно выключить апач,что бы в дальнейшем не возникло проблем :) (Просто не все понимают,что нужен перезапуск апача,что бы пхп заработал)
Для выключения апача нужно на панели задач найти значёк: лупы с зелёной стрелкой, на нём нажать правой кнопкой мыши. В появившемся окне нажать: Open Apache Monitor и найти там кнопку Stop .(Это мы остановим работу апача)!После этого нажмём Exit(закроем монитор апача).
Когда установим php и перед началом проверки нам нужно запустить Apache, делаеться это так (Пуск>Все програмы>Apache HTTP Server 2.2>Control Apache Server>Start )
Примечание: Монитор апача который был не появиться,если вам нужно что бы он опять был на панели задач нужно зделать следующие: (Пуск>Все програмы>Apache HTTP Server 2.2>Monitor Apache Servers)
И ещё что бы понять работает ли php и определился ли он Windows OC, можно узнать так же через монитор Apache!То что вы должны увидить выделено в красной рамке на картинке ниже!
А так больше нечего добавлять!
Вложения
monit_apache.gif
Изображение

Консультаций по TBDev через icq неосуществляю!
Аватара пользователя
doliar
Автор
 
Сообщения: 732
Зарегистрирован: 16 янв 2008, 15:05
Откуда: Саратов, Волжский р-он
Домен: tbdev-info.vfose.ru

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение DPX-Infinity » 27 июл 2008, 10:09

Добавил ссылки на файлы и информацию про перезагрузку.
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение zk » 27 июл 2008, 17:26

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

У PHP хороший и удобный граф. инсталлятор, и можно было бы описать именно его как и для других программ.

Что касается более тонкой настройки апача - об этом есть отдельная статья.
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение DPX-Infinity » 27 июл 2008, 20:50

я просто изначально (когда в самый первый раз сервер настраивал) ставил php из архива, поэтому чёт про инсталлятор не вспомнил. ну мб какнить в другой раз)

Что касается более тонкой настройки апача - об этом есть отдельная статья.

я поподробнее процесс настройки виртхостов опишу, с примерами.
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение Sim » 28 июл 2008, 14:35

DPX-Infinity писал(а):я просто изначально (когда в самый первый раз сервер настраивал) ставил php из архива, поэтому чёт про инсталлятор не вспомнил. ну мб какнить в другой раз)

Что касается более тонкой настройки апача - об этом есть отдельная статья.

я поподробнее процесс настройки виртхостов опишу, с примерами.

у меня вопрос , чтобы создать бд для трекера в phpmyadmin нужно нажать SQL и указать путь к файлу "database.sql" , а как создать бд в "MYSQL Administrator" ? И дополните пожалуйста статью - как поставить phpmyadmin ....
Sim
Начинающий участник
 
Сообщения: 10
Зарегистрирован: 29 июн 2008, 17:52

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение zk » 28 июл 2008, 15:54

Sim писал(а):а как создать бд в "MYSQL Administrator" ?

Вот же про него статья - viewtopic.php?f=8&t=87 , внимательнее будь.
Sim писал(а):И дополните пожалуйста статью - как поставить phpmyadmin ....

Об этом уже частично написано, а вообще просто качаешь и ставишь, будут вопросы - спрашивай в той теме.
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение Костик » 28 июл 2008, 17:38

апач поставили в Program Files :shock:
FreeBSD 9.2 and Fedora 18 user
Аватара пользователя
Костик
Активный участник
 
Сообщения: 1944
Зарегистрирован: 03 сен 2007, 02:15

Re: Установка и настройка Apache, PHP и MySQL (Windows)

Сообщение Sim » 28 июл 2008, 17:42

на этой сборке поставил трекер и обнаружил следующее: "К трекеру подключено уникальных пользователей" показывает максимум 3. Ни одна картинка залитого файла не отображается, у меня 1.5 Ггб ОЗУ апач потребляет 400 мегов (не многовато?) , темнеменее люди свободно могут открывать страницы.... Возможно ли эту сборку упаковать (как топ сервер) и выложить целиком? Если будет время напишите пожалуйста статью сборки из под Lunix
Sim
Начинающий участник
 
Сообщения: 10
Зарегистрирован: 29 июн 2008, 17:52

След.

Вернуться в Веб серверы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron