Установка Apache, MySQL, PHP и phpMyAdmin В этой статье будет рассмотрено создание простейшего локального хостинга, для работы с сайтами под управлением Joomla 2.5 в домашних условиях. Описывается процесс установки на компьютер под управлением Windows 7 32-битной архитектуры. Для организации локального хостинга нам потребуются следующие программы и компоненты: веб-сервер Apache, система управления базами данных MySQL, поддержка языка программирования PHP и веб-интерфейс для администрирования MySQL - phpMyAdmin. Сначала займёмся установкой, а затем настройкой этих программ и компонентов. phpMyAdmin установим после всех настроек. Установка Apache Скачиваем дистрибутив Apache без поддержки SSL по следующей ссылке. На момент написания статьи последний стабильный релиз Apache был 2.2.21. Запускаем установку. В окне приветствия кликаем по кнопке «Next». В следующем окне установщика Apache читаем лицензионное соглашение и подтверждаем своё согласие. В противном случае установка Apache будет прервана. По кнопке «Next» переходим к следующему шагу. Читаем информацию, с которой разработчик предлагает ознакомиться в первую очередь, и нажимаем «Next». В следующем окне установки Apache заполняем поля, как показано на картинке. В поле «Administrator's Email Address» указываем адрес своей электронной почты – в дальнейшем это пригодится. Нажимаем «Next» и в появившемся окне устанавливаем переключатель в положение «Custom». Переходим к следующему шагу установки. По умолчанию Apache устанавливается в папку C:\Program Files\Apache Software Foundation\Apache 2.2. Создадим на диске С директорию www и укажем её, как установочную папку для Apache. Нажимаем «Next», а в следующем окне «Install». По окончании установки Apache нажимаем «Finish». Теперь в трее у нас появился значок управления сервером Apache. Кликнув на нём левой кнопкой мыши можно запустить, остановить или перезапустить (рестартануть) веб-сервер. Кликнув на нём правой кнопкой мыши можно открыть монитор Apache или перейти к системным службам Windows. Проверим, работает ли наш веб-сервер Apache. Для этого в адресной строке браузера наберем http://localhost Если видим страницу с надписью «It works!», значит Apache установка сделана правильно и Apache работает. Установка PHP Скачиваем файловый архив PHP по следующей ссылке. На момент написания статьи стабильная версия PHP была 5.3.8. Распаковываем скачанный архив с помощью архиватора в папку С:\РНР. Переименовываем файл php.ini-development в php.ini. Добавляем путь к каталогу PHP в «Переменные среды» Windows. Для этого, например, делаем клик правой кнопкой мыши на значке «Мой компьютер», выбираем «Свойства» и переходим по ссылке «Дополнительные параметры» или, например, нажимаем сочетание клавиш Win+Break. На вкладке «Дополнительно» жмём кнопку «Переменные среды...». В нижнем окне «Системные переменные» находим переменную PATH, выделяем её и нажимаем кнопку «Изменить». Ставим курсор в поле «Значение переменной», на клавиатуре нажимаем клавишу END. Ставим ; (это разделитель значений) и пишем путь к каталогу PHP: C:\php Нажимая на «ОК» закрываем все окна дополнительных настроек системы. Яндекс.ДиректВсе объявления Удобный и бесплатный PDFMaster PDFMaster хорошая и бесплатная программа для PDF и других форматов pdfmaster.ru 18+ Создаём в директории C:\php три дополнительные поддиректории: tmp - для хранения временных файлов сессий includes - для хранения подключаемых классов upload - для хранения временных загружаемых файлов. На этом установка PHP завершена. Установка MySQL Скачиваем дистрибутив MySQL с сайта разработчика и запускаем установку. На момент написания статьи был доступен релиз MySQL 5.5.19. В окне приветствия нажимаем «Next» и переходим к окну лицензионного соглашения. Подтверждаем лицензионное соглашение и по кнопке «Next» переходим к выбору типа установки. Нажимаем кнопку «Custom», тем самым выбирая детальную установку. На следующем шаге можно ничего не менять. Нажимаем кнопку «Next», а затем «Install». Во время установки появится окно, в котором рекламируется подписка на коммерческую поддержку MySQL, последовательно нажимаем «Next» в обоих окнах. Кому интересна эта информация, тот может ознакомиться с ней более подробно, нажав на кнопку «More...». По окончании установки появится сообщение с предложением запуска мастера настройки экземпляра MySQL сервера. Оставляем галочку и нажимаем кнопку «Finish». В окне приветствия мастера конфигурации кликаем на «Next» и в появившемся окне ставим переключатель в положение «Detailed Configuration», выбирая детальный тип настройки MySQL. На следующем шаге выбираем тип сервера. Ставим переключатель в положение «Developer Machine». Делается это для того, чтобы минимизировать память, выделяемую для MySQL сервера. Ведь на домашнем компьютере будут работать и другие приложения. Нажимаем «Next» и на следующем шаге выбираем «Multifunctional Database». Как следует из описания, это даёт возможность использовать: и таблицы типа InnoDB, и таблицы MyISAM. Далее указывается папка размещения таблиц InnoDB. Лучше оставить путь по умолчанию. В противном случае в процессе установки можно столкнуться с ошибкой 1067. Это не смертельно, но неприятно. Решается она путём корректного ввода информации в переменные basedir и datadir файла my.ini. Далее выбирается количество подключений к серверу MySQL. Можно выбрать первый пункт – «Decision Support (DSS)/OLAP», который разрешает двадцать подключений к серверу баз данных и этого достаточно для домашней машины. Но можно указать количество подключений к серверу вручную, выбрав пункт «Manual Setting». На следующем этапе производятся сетевые настройки MySQL. Опция «Enable TCP/IP Networking» включает поддержку стека протоколов TCP/IP. Номер порта можно оставить стандартным – 3306. Опция «Add firewall exception for this port» отвечает за добавление исключения для этого порта в стандартном фаерволе операционной системы. Одно уточнение. Если уж добавляете исключение в фаерволе, то не забудьте проверить, что подключения разрешены только из локальной сети. Опция «Enable Strict Mode» отвечает за строгое соответствие стандартам SQL. Включаем эту опцию, если она выключена и переходим к следующему шагу. В нём определяется кодировка таблиц баз данных. Выставляем переключатель в положение ручного выбора («Manual Selected Default Character Set / Collation») и в выпадающем списке выбираем utf8. Нажимаем «Next» и переходим к настройке системных опций MySQL. Установим MySQL-сервер как службу Windows, отметив первую опцию. «Service Name» (Имя службы) оставим по умолчанию. Отметим опцию «Launch the MySQL Server automatically», чтобы сервер стартовал автоматически. Если на домашнем компьютере есть проблема со свободной оперативной памятью, то галочку лучше снять. Это можно сделать и позже, в процессе работы. Нужно будет зайти в управление службами и для службы MySQL установить тип запуска «Вручную». Последняя опция – «Include Bin Directory in Windows PATH» добавляет путь к каталогу двоичных (бинарных) файлов в переменную PATH операционной системы. Мы делали вручную тоже самое для PHP. Переходим к следующему этапу – настройке безопасности. Выбираем «Modify Security Settings» и вводим для администратора баз данных пользователя root пароль и его подтверждение в соответствующие поля ввода. Запоминаем пароль – он нам будет нужен при установке Joomla 2.5. Не отмечаем опцию «Enable root access from remote machines». Анонимного пользователя не создаём! Нажимаем «Next» и переходим к последнему окну настройки. Нажимаем «Execute», а затем «Finish». Установка завершена и теперь самое время заняться настройкой того, что установили. Настройка Apache, MySQL, PHP Apache Открываем в текстовом редакторе конфигурационный файл вэб-сервера Apache. Он называется httpd.conf и находится в корневой папке сервера, в поддиректории conf. В нашем примере C:\www\conf\httpd.conf Найдём и раскомментируем (удалим символ # в начале строки) следующую строку: LoadModule rewrite_module modules/mod_rewrite.so В этой строке мы разрешаем загрузку модуля mod_rewrite. Обратите внимание на то, что в качестве разделителя файлов и директорий выступает слеш (/), как в Unix системах, а не бэкслеш (\), как в Windows. Спускаемся до конца списка загружаемых модулей (LoadModule) и ниже последней записи добавляем следующие строки: LoadModule php5_module "C:/php/php5apache2_2.dll" AddType application/x-httpd-php .php PHPIniDir "c:/php/" Этим мы подключаем поддержку PHP в Apache. Найдём и раскомментируем строку, задающее имя нашего вэб-сервера ServerName localhost:80 Проверяем наличие строки, задающее корневую директорию сайтов DocumentRoot " C:/www/htdocs " Находим следующий блок: Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all И заменяем его на нижеследующий: Options Indexes Includes FollowSymLinks AllowOverride All Order allow,deny Allow from all Опция Index разрешает просмотр каталога, если отсутствует индексный файл, опция Includes включает поддержку SSI, а опция FollowSymLinks позволяет использовать символические ссылки на файлы и каталоги. Директива AllowOverride All позволяет изменять опции доступа посредством файла .htaccess. Находим следующий блок: DirectoryIndex index.html И заменяем его на: DirectoryIndex index.html index.htm index.shtml index.phtml index.php Находим, начинающийся с блок и в самом конце его раскомментируем следующие две строки: AddType text/html .shtml AddOutputFilter INCLUDES .shtml И добавим ещё две следующие строки AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Это нужно для работы SSI (включения на стороне сервера) Сохраняем и закрываем файл httpd.conf. Теперь проверим корректность конфигурации: Пуск -> Все программы -> Apache HTTP Server 2.2 -> Configure Apache Server -> Test Configuration. Если настроили не правильно, то в появившемся окне командной строки мы увидим сообщение об ошибке и номер строки, в которой эта ошибка допущена. Если всё правильно, то мелькнёт окно командной строки с надписью «Syntax OK». Ещё раз убедимся, что всё работает, набрав http://localhost в адресной строке браузера и перейдём к настройке PHP. PHP В текстовом редакторе откроем настроечный файл PHP – php.ini. В нашем случае он расположен в папке C:\php. Найдём и раскомментируем (удалим символ ; в начале строки) строку short_open_tag = On Это позволяет заключать код в короткие тэги. Следующая строка отключает сообщения об ошибках: display_errors = Off После установки Joomla сообщения об ошибках при желании можно будет включить для отладки. Из соображений безопасности отключаем register_globals register_globals = Off Отключаем magic_quotes_runtime magic_quotes_runtime = Off В секции Paths and Directories найдём и раскомментируем строку для Windows include_path = ".;c:\php\includes" Заметьте, что только в этой строке в качестве разделителя используется бэкслеш! Значение директивы extension_dir (путь к папке с расширениями) устанавливаем как extension_dir = "C:/php/ext" Разрешим загрузку файлов file_uploads = On Найдём строку upload_tmp_dir и укажем директорию для хранения временных загружаемых файлов upload_tmp_dir = "C:/php/upload" Установим максимальный размер, загружаемого файла upload_max_filesize = 8M Укажем путь к папке для хранения временных файлов сессий session.save_path = "C:/php/tmp" Выключим session.auto_start session.auto_start = 0 Раскомментируем расширений: следующие строки для подключения нескольких библиотек extension=php_bz2.dll extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll Первая библиотека позволяет PHP распаковывать и создавать архивы bzip2, следующая библиотека позволяет автоматизировать передачу файлов или последовательность таких передач по различным интернет протоколам. Библиотека gd2 позволяет работать с графикой, а mbstring содержит функции для работы с различными кодировками. Последние две библиотеки нужны для взаимодействия с системой управления базами данных MySQL. Сохраняем файл php.ini. Проверим, как настроена связка PHP и Apache. Для этого в текстовом редакторе создадим файл следующего содержания: <?php phpinfo(); ?> Сохраним его как index.php и скопируем в корневую директорию сайтов: C:\www\htdocs. После этого перестартуем Apache для того чтобы он перечитал изменённый файл php.ini, а затем наберём в адресной строке браузера: http://localhost/index.php. Если видим фиолетовые таблицы с информацией PHP, то значит всё настроено правильно. Переходим к настройке MySQL. MySQL Для этого нам нужно будет внести небольшую правку в файле my.ini, который находится в корне директории установки MySQL. По умолчанию это: C:\Program files\MySQL\MySQL Server 5.5. Чтобы внести изменения в файл my.ini нужно открыть его с правами «Администратора». Идём в «Пуск» -> «Все программы» -> «Стандартные». Делаем щелчок правой кнопкой мыши на пункте «Блокнот» и появившемся контекстном меню выбираем «Запуск от имени администратора». Теперь в «Блокноте» открываем файл my.ini и в секции [mysqld] после строки port=3306 добавляем строку: init-connect="SET NAMES utf8" Сохраняем изменённый файл my.ini, а затем переходим в «Управление компьютером» -> «Службы» и перезапускаем службу MySQL. Всё, локальный хостинг организован и можно приступать к установке Joomla! 2.5, но для удобства управления базами данных MySQL установим phpMyAdmin. Установка и настройка phpMyAdmin Установка phpMyAdmin написана по материалам сайта php-myadmin.ru. Рекомендую этот сайт всем, кто хочет разобраться во всех тонкостях работы с phpMyAdmin. Скачиваем файловый архив phpMyAdmin-3.4.9-all-languages.7z по следующей ссылке. На момент написания статьи был доступен релиз 3.4.9. Останавливаем Apache. Создаём директорию C:\www\htdocs\phpmyadmin и распаковываем в неё наш архив. Учтите, что файлы и папки архива могут быть объединены в папку phpMyAdmin-3.4.9-all-languages. Нужно чтобы в директории C:\www\htdocs\phpmyadmin находилось содержимое папки phpMyAdmin3.4.9-all-languages, а не сама эта папка. Затем в директории C:\www\htdocs\phpmyadmin (это наша корневая директория phpMyAdmin) создаём файл с именем config.inc.php и в зависимости от своих предпочтений заполняем его следующим содержанием: <?php $i = 0; $i++; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'пароль'; ?> или <?php $cfg['blowfish_secret'] = '31h15u8gr7wq99.24633480'; $i=0; $i++; $cfg['Servers'][$i]['auth_type'] = 'cookie'; ?> В первом случае вход в phpMyAdmin будет «автоматическим», т. е. не нужно вводить логин и пароль. В последней строке нужно заменить слово пароль на свой пароль, который был указан при установке MySQL. У этого случая есть, на мой взгляд, существенный недостаток – пароль пользователя root хранится в открытом виде. Во втором случае нужно будет авторизовываться каждый раз, когда нужно воспользоваться phpMyAdmin. Мне ближе этот случай. В строке $cfg['blowfish_secret'] должна быть записана идентификационная фраза длинной до 46 символов. Запускаем Apache, в адресной строке браузера (куки должны быть включены) набираем http://localhost/phpmyadmin и попадаем на страницу авторизации. Проходим авторизацию и попадаем в главное окно phpMyAdmin. В главном окне мы увидим сообщение о том, что дополнительные возможности не настроены в полной мере. Включим дополнительные возможности, так как они позволяют работать с закладками, историями вводимых команд, дизайнером связанных таблиц, pdfсхем. Для этого воспользуемся готовым sql запросом, в результате работы которого будет создана база данных «phpmyadmin» в которую будут импортированы нужные таблицы. Кликаем на вкладке «Импорт», на открывшейся странице, в секции «Импортируемый файл» нажмите кнопку «Обзор...», выбираем файл create_tables.sql, который находится в папке scripts, в директории phpmyadmin, и нажимаем кнопку «OK» расположенную в нижней части страницы. Если всё прошло успешно, получаем сообщение: «Импорт успешно завершен, запросов выполнено: 12. (create_tables.sql)». После этого создаём специального пользователя с именем pma. Имя пользователя не обязательно должно быть pma – это имя используется для примера. Переходим на вкладку «Привилегии» и кликаем по ссылке «Добавить нового пользователя». Заполняем появившуюся форму: Нажимаем кнопку «Создать пользователя». Нажимаем на ссылку «Показать все», тем самым обновляя список пользователей. В строке пользователя pma кликаем по ссылке «Редактирование привилегий». В открывшемся окне в секции «Привилегии уровня базы данных» из выпадающего списка выбираем базу «phpmyadmin». Откроется новая страница, и в секции «Привилегии уровня базы данных», в группе «Данные», ставим галочки рядом с опциями: SELECT, INSERT, UPDATE, DELETE и нажимаем «OK». Получаем сообщение о том, что были изменены привилегии для пользователя 'pma'@'localhost'. Закрываем phpMyAdmin и редактируем файл config.inc.php. В результате редактирования получим следующее: <?php$cfg['blowfish_secret'] = '31h15u8gr7wq99.24633480'; $i=0;$i++;$cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; ?> Удалим кэш браузера и зайдём в phpMyAdmin. Предупреждение о дополнительных возможностях отсутствует – значит всё настроено верно и функционирует в полной мере. На этом настройка phpMyAdmin закончена. Можно переходить к установке Joomla 2.5