Правильная и быстрая установка PHP, MySQL, Apache

Установка apache php mysqlОчень многие думают что процесс установки связки PHP MySQL  Apache очень долгий, нудный и совсем не нужный. Тем более, когда есть такие пакеты как Denwer и прочие. До недавнего времени я тоже сидел на свборке денвера, пока вдруг однажды он не стал глючить. Сначала почему то отвалился phpmyadmin, а потом все остальное. Поэтому я решил, что поставлю отдельные компоненты сам и сам же все настрою, тем более как я потом удостоверился, ничего сложного в этом нет.

И так скачиваем дистрибутивы на сайтах производителей или гуглим, или например качаем отсюда :

  • Apache 2.0 for Win
  • PHP 5.2.1 for Win (последняя версия с исправлениями критических ошибок)
  • MySQL Server 4.1.16 for Win

1. Установка Apache

Принимаем лицензионное соглашение. На следующей вкладке пишем в поля: localhost, localhost, admin@blabla.com.  Так как мы ставим пакеты на локальную машины то для нас эти поля не особо важны. При этом проверьте что галочка стоит на «For All Users,on Port 80, as service» (Т.е апач мы ставим, как сервис и обращения к нему будут идти  по 80 порту).  Далее выбираем обычный  (typical) тип установки, потом оставляем путь C:\Program Files\Apache Group\ без изменений и жмем Install. После установки, у нас в трее появится значок, который будет означать успешную установку apache. На данном этапе можно убедиться в работоспособности сервера, набрав в строке браузера localhost.

установка Apache,apache

Попутно можете сразу поправить в конфиге Apache (httpd.conf) кодировку по умолчанию windows-1251 на UTF-8:

AddDefaultCharset windows-1251 на UTF-8

Также можете проверить параметр DirectoryIndex, который отвечает за запуск файла по умолчанию если он не указан, т.е. если вы вбили в строку браузера просто http://localhost/:

DirectoryIndex index.html index.htm index.phtml index.php

2. Установка PHP

Есть 2 варианта, скачать Installer или же скачать архив. Выбираем скачать PHP архив. Сразу распаковываем например в C:\Webserver. Во многих мануалах в сети вы можете встретить указание скопировать DLL и ini файлы из PHP архива в директорию Windows и System32. Мы этого делать не будем. Во-первых чтобы не засорять систему, во вторых чтобы все лежало в одном месте.  Вместо этого нам надо просто прописать пути в системную переменную PATH. И в Windows XP и в Windows 7 для этого  необходимо кликнуть на значке мой компьютер правой кнопкой мыши, выбрать св-ва. Далее в XP переходим на вкладку Дополнительно, на которой вы найдете нужную кнопочку «Переменные среды». В Windows 7 мы далее переходим на вкладку Advanced на которой нужно кликнуть по кнопке Enviroment Variables. Далее идем в распакованный нами PHP архив и переименовываем php.ini-dist в php.ini.

Нужные нам настройки (дописываем в конфиг Apache):

LoadModule php5_module C:/WebServers/php5apache2.dll (если не сработает попробуйте php5apache2_2.dll )
AddType application/x-httpd-php .php (если хотите чтобы скрипты в файлах с расширением html тоже обрабатывались php добавьте .html .htm)
PHPIniDir "C:/Webserver/"

Заодно раз мы следующим шагом будем ставить Mysql раскоментируем вследующую строчку (в файле php.ini):

extension=php_mysql.dll

Самое веселое, я очень долго не мог понять почему у меня не работает PHP, если я все это прописал. Проверил много раз, и только потом я выяснил в чем дело. А дело было в том для проверки я писал скрипты вида: <? Echo “OK” ?> или <? Phpinfo(); ?>, а не <?php echo “OK” ?>. Поэтому не забудьте проверить, что у нас включен short tag:

short_open_tag=On

Заодно можете проверить настройки отображения ошибок и предупреждений:

error_reporting = E_ALL &amp; ~E_NOTICE

будут показаны все ошибки и предупреждения, полезно при отладке скриптов.

3. Установка MySQL

Тут тоже все очень просто. Запускаем инсталлятор. Выбираем Typical (Обычная) установка. Далее выбираем Skip на окошке с регистрацией, далее ставим галочку Configure Mysql server now. Выбираем стандартные настройки. Далее ставим галочку Install as windows service и галочку Launch MySQL server automatically. Далее вводим root пароль и жмем Execut.

Пропишем для MySql кодировку utf8 в файле my.ini (my.cnf для linux):

default-character-set=utf8
init-connect='SET NAMES UTF8'
collation_server = utf8_general_ci

Вот и все. Так же вы можете скачать phpmyadmin и распаковать его в директорию htdocs чтобы в дальнейшем вызывать его для работы с базой данных.

PS: Warning!

В Linux очень распространенная проблема это кодировка latin1 (1252) даже после прописывания UTF8 в файле конфигурации. Как проверить кодировку в mysql?  Очень просто (спасибо форуму ubuntu), – в Linux откройте терминал, запустите команду

mysql -u root -p

В Windows можно набрать тоже самое в коммандной строке после команды cmd, или лучше использовать например программу FAR. После ввода пароля вы попадете в командный интепретатор mysql. Введите следующую команду:

mysql&gt; show variables like 'char%';

в результате получим примерно такой ответ:

character_set_client   latin1
character_set_connection latin1
character_set_database    latin1
character_set_filesystem   binary
character_set_results    latin1
character_set_server     latin1
character_set_system    utf8
character_sets_dir       /usr/share/mysql/charsets/

Чтобы сервер без всяких костылей был постоянно с нужной нам кодировкой utf8, пропишем в  /etc/mysql/my.cnf (my.ini в Windows) в секцию [mysqld] бутерброд:

skip-character-set-client-handshake
default-character-set=utf8
init-connect='SET NAMES utf8'
default-collation=utf8_general_ci

Перезагрузим сервер MySql в Linux таким образом (В Windows надо рестартануть службу mysql):

/etc/init.d/mysql restart

Проверим еще раз кодировки:

character_set_client      utf8
character_set_connection   utf8
character_set_database      utf8
character_set_filesystem  binary
character_set_results        utf8
character_set_server         utf8
character_set_system       utf8
character_sets_dir          /usr/share/mysql/charsets/

Кажется, это то что нам нужно    :)

Написать комментарий

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*

*