Настройка Apache+PHP+MySQL своими руками

Информация и вопросы по настройке
Apache
MySQL
PHP

Модератор: Boris

Настройка Apache+PHP+MySQL своими руками

Сообщение Geralt Вт июн 17, 2008 5:46 pm

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

Объясню, почему мне не навятся "денверы". Всё просто - я нелюблю когда что-то работает непонятно как , и неизвестно почему именно так настроено.
Мне ненравится "суррогаты" , предпочитаю пользоватся исходными продуктами (конечно, до компилирования всего своими руками доходить небудем, это уже перебор :) )

На самом деле, полноценная настройка рабочего места занимает не более 15-20 минут, и при этом Вы точно знаете что, и где находится.

Итак начнём с Апача
1) Забираем дистрибутив с сайта http://httpd.apache.org/
(на момент написания данной статьи - последней была версия apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi )
обращаю Ваше внимание на слово openssl, именно такая версия Вам нужна , если будет желание поработать с протоколом HTTPS (более подробно - в соседней теме)
На сайте апача есть ещё много всего интересного, но пока-что нам хватит.

Установка дистрибутива
Устанавливаем Апача как сервис, чтобы он работал на страндартном порту (80й порт)
При установке одновременно Apache и Skype бывают проблемы.
Всё дело в том, что Скайп по неведомой причине также претендует на 80й порт. Проблема решается очень просто - корректируются настройки Скайпа
Необходимо зайти в "Инструменты=>Настройки" Skype. Там “Дополнительно”=>”Соединение” и убрать галочку “Ипользовать порты 80 и 443…”

Параметры Апача
server name и domain name если они заполнены - можно не менять.
Если они пустые , то заполните их
server name= 127.0.0.1
domain name=mydomain <- здесь могло біть любое название

Апач установлен!

Настройка Апача для работі с сайтами (Виртуальными Хостами)
1) Открыть файл настройки
C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
В этом файле, те строки, перед которыми стоит знак "#" - это комментарии, они не обрабатываются

Найти ,
Код: Выделить всё
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all
</Directory>


добавить после Deny from all строку Allow from all
поменять AllowOverride None на AllowOverride All

Только что Вы разрешили (Allow from All) доступ к Вашим сайтам , а также (AllowOverride All) позволили использовать служебный файл .htaccess

Найти
Код: Выделить всё
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

И добавить туда через пробел index.htm index.php

Только что Вы перечислили, главные файлы сайтов.
Именно с указанных файлов и начинается просмотр любого каталога вашего сайта.

Найти
Код: Выделить всё
#Include conf/extra/httpd-vhosts.conf

и раскомментировать эту строку (удалить знак "#" )

Сейчас вы подключили дополнительный файл с настройками, где и будут описанны наши сайты.

Настройка виртуальных хостов
Открываем
C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd-vhosts.conf

Перед нами два блока
<VirtualHost *:80>
...........
</VirtualHost>
Таких блоков может быть неограниченное количество, и каждый отвечает за свой сайт

Превратите первый виртуальный хост (второй можно убрать, он нам ненужен) в
Код: Выделить всё
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.voliacable.com
    DocumentRoot "c:/www/myadmin"
    ServerName myadmin
    ServerAlias www.myadmin
    ErrorLog c:/www/logs/myadmin-error_log
    CustomLog c:/www/logs/myadmin-access_log common
</VirtualHost>


Что получилось
DocumentRoot - каталог , гдк находятся файты настраиваемого сайта
ServerName - основное имя, по которому Вы будет заходить на данный сайт
ServerAlias - дополнительное имя (данная строка может отсутствовать)
ErrorLog - путь к системному файлу - журналу ошибок сайта.
CustomLog - путь к системному файлу . Обратите внимание, чтобы в конце строки через пробел стояло слово " common"


Каталоги, которые необходимо создать ( исходя из указанных настроек)
c:/www/ - здесь я обычно помещаю свои сайты
c:/www/logs - здесь находятся лог-файлы от всех сайтов
c:/www/mysite - один из каталогов (сайтов)


После любых настроек сервер Apache необходимо перезапустить
Пуск-> Программы -> Apache HTTP Server -> Control -> Restart
Или Пуск -> «Панель управления»-> Администрирование -> Сервисы -> Apache Щелкнуть правой кнопкой «Перезагрузить».

Виртуальные хосты настроены! 8)

Установка PHP
PHP - очень мощный инструмент программирования. На нём можно решать задачи, который существенно выходят за рамки "показать страничку"
Данный продукт является бесплатным, и скачать дистрибутив можно с официального сайта http://www.php.net/downloads.php
Нам нужна версия Windows Binaries (zip package)

Распаковываем архив с дистрибутивом в папку c:\php

Копируем c:\php в windows\system (для Windows 9x/Me), winnt\system32 (для Windows NT/2000) или windows\system32 (для Windows XP) файл php5ts.dll

Далее необходимо :
Добавить в C:\Program Files\Apache Software Foundation\Apache2.2\conf строки
Код: Выделить всё
LoadModule php5_module c:/php/php5apache2_2.dll


!!!! необходимо размещать в соответствующем разделе LoadModule
Найти раздел AddType, добавить

Код: Выделить всё
AddType application/x-httpd-php .php


Настройка PHP

Настройка производится с помощью файла php.ini. Его необходимо создать из файла php.ini-dist (он находится в каталоге c:\php ) и перенести в папку c:\windows
Редактируем файл настроек, который перенесли в c:\windows
1. Можно изменить register_globals = On , однако в версии 6 планируется иключение данного параметра
2. В разделе
; Dynamic Extensions ;
Раскомментировать (убрать “;”) в строках модулей которые будут нужны для работы.
Например
extension=php_gd2.dll - для работы с изображениями
extension=php_mysql.dll - для работы MySQL <= не трогать до установки MySQL
Обязательно !!! изменить
extension_dir = "c:/php/ext/"

3. Указать настройки для работы с почтой
SMTP = pc1 – указать smtp сервер Вашего провайдера
sendmail_from = me@example.com – указать почтовый ящик куда будут приходит не доставленные сообщения
4. Для нормальной работы с сессиями раскомментировать
session.save_path = c:/tmp/ - указать путь где будут храниться временные файлы сессий
Каталог c:/tmp/ нужно создать

РНР установлен и настроен! :good:

Установка MySQL
MySQL - один из наиболее популярных серверов БД, и фактически является стандартом для веб-серверов.
Распространяется данный продукт по 2м лицензиям
1) GPL (т.е. БЕСПЛАТНО! :Yahoo!: )
2) Коммерческая лицензия
Отличие только в одном - для коммерческого варианта предусмотрена служба поддержки.
Функционально оба варианта идентичны
Дистрибутив можно забрать с официального сайта http://dev.mysql.com/downloads/mysql/5.0.html#win32

После скачивания , запустите установку сервера
Параметры установки:
- Полная установка
- При конфигурировании указываем :
Developer Machine

Multifunctional Database - Позволяет нам пользоватся механизмами как MyISAM так InnoDB
Если Вы планируете работать с транзакциями.

Non-transactional Only - Позволяет нам пользоватся механизмами только MyISAM
Данный вариант более предпочтителен.

!!! Обязательно меняем DefaultCharacterSet на cp1251

Настройки безопасности не меняем (снять галочку «изменить») -пользователь root без пароля)

- Для работы РНР с сервером БД, необходимо скопировать файл libmysql.dll из каталога BIN (<путь установки>/mysql/bin)
(обычно это C:\Program Files\MySQL\MySQL Server 5.0\bin)
в каталог Windows/System32

И, если мы этого ещё не сделали раньше - раскоментировать модуль extension= php_mysql.dll в Windows/php.ini

Сохраняем все отредактированные файлы, и закрываем их (чтобы точно знать, что все изменения записанны).

И теперь наступает "момент истины" - перезапускаем Апач :)
Если что-то было сделанно неправильно, то апач не захочет стартовать.
Найти и исправить ошибку Вам поможет специальный пункт меню :
Пуск->Программы-> Apache HTTP Server -> Configure Apache Server -> Test Configuration
После запуска данной программы, на экране будет окно, в котором указанно, на какой строчке, и в каком файле произошла ошибка.

Хотя, если по пунктам Вы прошли внимательно, то данной утилитой Вам пользоватся не придётся ;)

Готово!

Чтож, подведём итог :
Установлен комплекс Apache+MySQL+PHP.

Вы знаете месторасположение ВСЕХ своих файлов, и ВСЕ параметры , которые были использованны при настройке! :beer:


Успехов! Будут вопросы - добро пожаловать в обсуждение :)
Дизайн - искуство приправленное тонким рассчётом.
Аватара пользователя
Geralt
Добрый Модератор
 
Сообщений: 69
Зарегистрирован: Ср сен 19, 2007 5:05 pm

Вернуться в Настройка рабочего места для Web-программиста

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

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

cron