Установка Apache 2.4 без инсталлятора, binaries VC14
Вводная часть
Напоминаю, в этой серии статей я собираю локальный сервер (WAMP) под управлением Windows, на пример Windows 7.
Давайте еще раз проясним ситуацию с версиями и дистрибутивами Apache, а также вспомним источники скачивания.
- https://www.apachelounge.com/download/
- http://httpd.apache.org/docs/current/platform/windows.html#down
В этой статье мы устанавливаем apache без инсталлятора, httpd-2.4.20-win32-VC14 windows 7 32 битной архитектуры.
Требования к программному обеспечению компьютера для установки Apache
Для установки Установка Apache 2.4 binaries VC14 без инсталлятора понадобится следующее программное обеспечение компьютера: Windows 7 SP1, 8 / 8.1, 10, Windows Server 2016, 2008 R2 SP1, 2012 / R2, Windows Vista SP2.
Установка Apache 2.4 без инсталлятора, по шагам
- Скачиваем ZIP архив Apache нужной архитектуры (ссылки выше).
- Распаковываем архив.
В архиве Apache есть папка Apache24. Разархивируйте zip архив, так, чтобы папка Apache24 была на системном диске: с: /Apache24. В этом случае корневым каталогом для веб-страниц локального сайта будет каталог: c:/Apache24/htdocs.
Если распаковывать Apache в другой каталог, нужно открыть файл: Apache24/config/httpd.conf и изменить 37 строку: ServerRoot «c:/Apache24» и указать нужный patch до папки Apache24.
Кроме этого придется менять patch в других файлах сервера, поэтому остановимся на варианте распаковки по умолчанию: c:/Apache24.
Запуск Apache
После не хитрой и не сложной распаковки запускаем Apache из командной строки. Командную строку запускаем из меню «Пуск»→Стандартные программы. Обязательно открываем командную строку от имени администратора. В командной строке пишем:
c:/Apache24/bin/httpd.exe –k install
Жмем:
Эта команда установит Apache, как службу Windows.
Запуск
Чтобы запустить Apache, идем в папку c:/Apache24/bin/ и видим файл запуска сервера Apache. Отправляем его в меню «Пуск» или сразу запускаем. После запуска, в трее появляется значок запуска Apache 2.4.
На фото вы видите, значок Apache в трее, как в прошлой статье: Установка Apache MSI: пошаговая установка Apache. Можно запускать apache из трея. Установка Apache 2.4 без инсталлятора завершена.
Выводы
Собирая WAMP вручную, помним следующее:
- Apache устанавливаем в папку c:/www или c:/Apache24
- PHP устанавливаем в папку c:/php
- MySQL устанавливаем в папку: c:/Program files/MySQL/MySQL Server5.5
Ошибки установки Apache 2.4 binaries VC14
В процессе установки Apache можете получить ошибку: Отсутствует VCRUNTIME140.dll. Чтобы её исправить, ставим: Visual C++ Microsoft, в него входит VCRUNTIME140.dll. Замечу, что отдельно можно найти и скачать этот файл, но запустить его отдельно не получится. Поэтому, скачиваем Visual C++ (https://www.microsoft.com/ru-ru/download/confirmation.aspx?id=48145) и устанавливаем его. Всё, ошибка отсутствия VCRUNTIME140.dll решена.
www.wordpress-abc.ru
Новое на сайте
13 май
почтовый сервер на основе Postfix с пользователями в MySQL и Dovecot как MDA
как установить почтовый сервер Postfix (MTA) для произвольного числа доменов и Dovecot 2.x в качестве MDA, использовать MySQL и PostfixAdmin, задействовать квоты, обеспечить защиту от спама и вирусов используя цифровую подпись DKIM, dspam и ClavaAV
подробнее…
18 апр
До опредленного времени, нежелательные сайты в офисе блокировались «прозрачным» SQUID-ом. Однако SQUID3 не может работать с SSL соединениями в режиме transparent и, соответственно, не может блокировать социалки, доступные по https. iptables нам поможет!
подробнее…
22 сент
настройка прозрачного squid3 с пулами задержки или как навести порядок в офисе
Работа в типичном офисе и социальные сети не совместимы. Любой администратор рано или поздно решает задачу — как запретить развлекательный контент и социальные сети в офисе и ограничить скорость Интернета. В этих начинаниях нам поможет Squid3.
подробнее…
18 мар
конечно можно настроить sftp или даже ftp на худой конец и деплоить каждый чих в своем приложении/сайте прямо из вашей любимой IDE, однако удобнее использовать опцию shared folders, которая идёт с VirtualBox прямо «из коробки».
подробнее…
17 фев
монтируем новый жёсткий диск в Debian или решаем проблемы со свободным местом
Знакомая ситуация — заканчивается место на жёстком диске на виртуальном сервере разработки Debian (VirualBox). Разберёмся, как подключить новый жесткий диск, создать на нём ext4 раздел и смонтировать его через fstab по UUID.
подробнее…
06 янв
быстрый старт bower + grunt или дань моде
Часто приходится настраивать связку bower+grunt. Bower — незаменимый менеджер пакетов. Grunt — замечательное средство для автоматизации рутинны со статикой проекта. Ах да, для установки всего этого безобразия нам ещё потребуется Node.js
подробнее…
09 сент
настройка почтового сервера как резервного (backup MX) или пересылка почты для домена клиента
Нобходимо настроить наш сервер как резервный Backup MX для отдельных клиентов. Ситуацию усложняет необходимость иметь несколько активных ящиков на нашем сервере, вне зависимости есть они или нету на основном почтовом сервере. Зачем же это было нужно?
подробнее…
22 май
настройка квоты домена в MDA Dovecot используя dict + mysql
Дело вкуса, но жизнь требует возможности настройки квот на уровне домена по той или иной причине. Как же настроить квоты для доменов в Dovecot, если используется mysql и dict соответственно. Ответ прост — никак. Детали — под катом.
подробнее…
16 май
настройка «greylisting» для postfix (postgrey) или борьба со спамом продолжается
Еще один инструмент для борьбы со спамом – грейлистинг. Суть – временно отклонять почту от новых отправителей со словами «зайдите завтра». Добропорядочный сервер обязательно «зайдет». Типичный спаммер – нет. Итак, Postgray для Postfix.
подробнее…
15 май
настройка Fail2Ban для защиты служб сервера от атак извне или как сделать логи аккуратными
Благая цель – избавить сервер от лишней работы (нагрузки) и блокировать попытки перебора паролей и хакерских атак – крайне благородна. Настроим инструмент fail2ban для мониторинга лог-файлов служб на сервере и блокирования вредителей по IP…
подробнее…
E-mail:Skype: dmitry_rendov
Тел.:
включите javascript чтобы видеть номер
Все обновления в Twitter twitter.com/DmitryRendov
Какие версии PHP установлены в распостраненных дистрибутивах Linux по-умолчанию?
Хостеры обычно предлагают такие OS для установки на VPS или дедики:
Версия OS | Версия PHP по умолчанию |
Debian 7 | PHP 5.4 |
Debian 8 | PHP 5.6 |
Centos 6 | PHP 5.3 |
Centos 7 | PHP 5.4 |
Ubuntu 14.04 | PHP 5.5 |
Ubuntu 16.04 | PHP 7.0 |
Конечно, встречаются и другие варианты, либо наоборот, может не быть что-то из этого списка. Но новейшие версии — Debian 8, Centos 7 и Ubuntu 16.04 будут практически у любого хостера. Из этих трех похвастать установленным PHP 7 может только последняя. Но у нее есть другие проблемы — она относительно новая и в ней можно огребать какие-то непонятные глюки и баги. По моему опыту Ubuntu на серверах можно использовать LTS версии ( как раз четные 04) только года через 2 после выпуска. Как минимум это проще, чем потом долго искать и выявлять проблемы, которых в принципе не должно быть. У меня неоднократно таковые возникали с производительностью некоторого софта в новейших версиях Ubuntu.
О версиях Ubuntu
О версиях Ubuntu
Если кто не в курсе — означает год и месяц выпуска. Традиционно они выпускаются в октябре и апреле, поэтому минорная версия может быть только x.04 или x.10. При этом x.10 никогда не бывает LTS — Long Term Support и никогда такие версии не используются на серверах. По сути, версии x.10 все промежуточные. Но таковыми же можно считать и версии нечетных годов — у них короткий срок поддержки. Если использование на десктопах с натяжкой может быть оправдано (в целях экспериментов или при необходимости использования новейшего софта, драйверов), то на серверах эти версии не стоит юзать ни в коем случае. Почему? Элементарно не сможете обновлять софт через год. А вот у LTS версий, и тем более серверных — срок поддержки очень долгий — 5 лет. Так, 16.04 будет поддерживаться до 2021-го года. 14.04 — до 2019, т.е еще два года. Ну и, соответственно, 12.04 до сих пор актуальна, у нее срок поддержки истекает буквально через неделю.
1: Настройка MPM-модуля
Ubuntu наследует сценарии включения и отключения модулей Apache от своего родительского дистрибутива Debian. На начальном этапе мы воспользуемся этим набором инструментов, чтобы отключить модуль Pre-fork и включить модуль Event.
Сейчас вы остановите сервер Apache HTTP, отключите модуль PHP 7.2, связанный с модулем Pre-fork, а затем отключите Pre-fork, чтобы сразу после этого включить модуль Event.
Остановите сервер:
Теперь вы можете отключить связанный с модулем Pre-fork модуль PHP 7.2:
Затем отключите сам MPM-модуль Pre-fork:
Включите MPM-модуль Event:
Готово, мы переключили MPM с pre-fork на event и удалили соединение между PHP и Apache HTTP. На следующем этапе мы установим модуль php-fpm, а также связанные с ним библиотеки и прокси-модули, а затем настроим Apache HTTP так, чтобы он снова мог взаимодействовать с PHP.
Установка и запуск PHP программ на хостинге
Для начала, нам нужен хостинг. Самый лучший хостинг, на котором работает, в том числе и codeby.net здесь
Обратите внимание, чтобы был введён промокод: c79d4aad
Тогда вы получите все бонусы: бесплатный месяц, бесплатный домен, скидку при оплате на год и т. д.
Итак, хостинг у нас уже есть. Теперь нам нужно закачать файлы на него. Это можно сделать, например, через FTP. Я долго пользовался FTP и, честно говоря, я не в восторге от этой давно устаревшей технологии. Соединение FTP можно настроить, например, в файловом менеджере вроде Double Commander (или Total Commander). Есть специализированные программы для связи по этому протоколу. Я не буду на этом подробно останавливаться. Информации достаточно. Только подсказка, где найти корневой каталог сайтов. Например, в моём случае это здесь:
/codeby.net/blogs/htdocs/www/
Т.е. корневой каталог сайтов размещён по адресу:
ваш_домен/htdocs/www/
Если вы скопируете PHP файл progaramm.php в этот каталог, то она будет доступна по адресу
http://ваш_домен/progaramm.php
Вместо FTP я рекомендую красивый и продвинутый файловый менеджер. Этот файловый менеджер является одной из особенностью данного хорошего хостинга. Там всё просто и наглядно.
Для создания новой базы данных перейдите сюда.
Разве что ещё одна полезная ссылка — регистрация доменов. Домены в некоторых (не во всех) доменных зонах можно получить бесплатно, если оплатить хостинг на год — имейте это ввиду.
В остальном установка скриптов PHP на сервере проходит точно также, как и на хостинге. Если ещё остались вопросы — задавайте, будем вместе разбираться.
Таблица совместимости версии Apache и ОС Microsoft Windows
Apache |
пакет Microsoft Visual C++ |
Операционная система |
---|---|---|
httpd-2.2.x-x86 |
VC9 |
Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8/8.1 |
httpd-2.2.x-x64 |
Windows XP x64, Windows Server 2003 x64, Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2012 x64, Windows 8/8.1 x64 |
|
httpd-2.4.x-x86 |
VC9 |
Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8/8.1 |
httpd-2.4.x-x64 |
Windows XP x64, Windows Server 2003 x64, Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2012 x64, Windows 8/8.1 x64 |
|
httpd-2.4.x-x86 |
VC11 |
Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8/8.1 |
httpd-2.4.x-x86 |
Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2012 x64, Windows 8/8.1 x64 |
По итогам изучения данного материала мы рассмотрели веб ресурсы, которые предоставляют нам необходимые дистрибутивы. Получив их, приступим к установке и запуску веб-сервера Apache на локальном компьютере.
Проверяем работает ли PHP
После успешного запуска веб-сервера, необходимо проверить, что PHP работает. Для этого создаем в корневой директории управления сайтами «C:\Apache24\htdocs\» файл c именем «phpinfo.php», открываем его в текстовом редакторе и добавляем следующие строки:
<?php phpinfo(); ?>
phpinfo — это системная PHP-функция, выводящая различную информацию об интерпретаторе: настройки, текущие значения системных переменных и т.д.
Открываем в браузере страницу http://localhost/phpinfo.php. Если все настроено правильно, то странице Вы увидите таблицу с версией PHP и значением переменных.
Настройка PHP 7
Настройка PHP происходит в файле php.ini. В zip-архивах, предназначенных для ручной установки и для обновлений, php.ini нет (это сделано специально, чтобы при обновлении случайно не удалить ваш файл с настройками). Зато есть два других, которые называются php.ini-development и php.ini-production. Любой из них, при ручной установке, можно переименовать в php.ini и настраивать дальше. На локалхосте мы будем использовать php.ini-development.
Открываем файл php.ini любым текстовым редактором, ищем строчку
;extension_dir = "ext"
и заменяем её на
extension_dir = "C:ServerbinPHPext"
Теперь найдите группу строк:
;extension=bz2 ;extension=curl ;extension=fileinfo ;extension=gd2 ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;extension=interbase ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc ;extension=pdo_pgsql ;extension=pdo_sqlite ;extension=pgsql ;extension=shmop
и замените её на:
extension=bz2 extension=curl extension=fileinfo extension=gd2 extension=gettext extension=gmp extension=intl extension=imap ;extension=interbase extension=ldap extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc extension=openssl ;extension=pdo_firebird extension=pdo_mysql ;extension=pdo_oci extension=pdo_odbc extension=pdo_pgsql extension=pdo_sqlite extension=pgsql extension=shmop
теперь раскомментируйте эту группу строк:
;extension=soap ;extension=sockets ;extension=sodium ;extension=sqlite3 ;extension=tidy ;extension=xmlrpc ;extension=xsl
должно получиться:
extension=soap extension=sockets extension=sodium extension=sqlite3 extension=tidy extension=xmlrpc extension=xsl
Этими действиями мы включили расширения. Они могут понадобиться в разных ситуациях для разных скриптов. Сохраняем файл и перезапускаем Apache.
c:ServerbinApache24binhttpd.exe -k restart
Настоятельно рекомендуется добавить путь до PHP в переменную окружения PATH в Windows.
Также рекомендуется ознакомиться со статьями Что делать если PHP скрипту не хватает времени и памяти. Почему большой файл не загружается на сайт или в phpMyAdmin и Как увеличить память и время для PHP скриптов.
Материалы по дополнительной настройке, в том числе подключение поддержки PERL, Ruby, Python в Apache (только для тех, кому это нужно):
- Как тестировать отправку писем в PHP на Windows
- Настройка веб-сервера Apache для запуска программ Ruby на Windows
- Настройка веб-сервера Apache для запуска программ Perl на Windows
- Как настроить веб-сервер Apache на запуск Python в Windows
Настройка apache
Для настройки веб-сервера необходимо подключить к нему нашу новую версию php и настроить виртуальные домены. В нашем примере мы настроим один виртуальный домен для php 5.4.16, второй — 5.2.17.
Подключение новой версии PHP к httpd
Устанавливаем mod_fcgid для httpd:
yum install mod_fcgid
Создаем каталог /usr/lib/cgi-bin:
mkdir /usr/lib/cgi-bin
… в него поместим скрипт, который будет запускаться при обработке php-скриптов:
vi /usr/lib/cgi-bin/php5-2-17-cgi
#!/bin/sh
PHPRC=»/opt/php-5.2.17/»
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php-5.2.17/bin/php-cgi
Разрешаем запуск его на исполнение:
chmod +x /usr/lib/cgi-bin/php5-2-17-cgi
Создаем конфигурационный файл для httpd:
vi /etc/httpd/php5-2-17.conf
<Directory /usr/lib/cgi-bin/>
LogLevel warn
Options -Indexes +FollowSymLinks +ExecCGI
Require all granted
</Directory>
<FilesMatch «\.php»>
SetHandler application/x-httpd-php5
</FilesMatch>
ScriptAlias /php5-2-17-cgi /usr/lib/cgi-bin/php5-2-17-cgi
Action application/x-httpd-php5 /php5-2-17-cgi
AddHandler application/x-httpd-php5 .php
Настройка виртуальных доменов
Создаем первый виртуальный домен:
vi /etc/httpd/conf.d/test-php5-4-16.conf
<VirtualHost *:80>
ServerName test-php5-4-16.local
DocumentRoot /var/www/test-php
<Directory /var/www/test-php>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
Создаем второй виртуальный домен:
vi /etc/httpd/conf.d/test-php5-2-17.conf
<VirtualHost *:80>
Include php5-2-17.conf
ServerName test-php5-2-17.local
DocumentRoot /var/www/test-php
<Directory /var/www/test-php>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
* обратите внимание, что для первого хоста мы используем php, который используется в нашей системе по умолчанию. Для второго домена мы подключаем конфигурационный файл php5-2-17.conf
Также мы будем использовать одну и туже директорию для DocumentRoot — для тестовых задач этого достаточно.
Проверяем конфигурацию Apache:
apachectl configtest
… если видим:
Syntax OK
Перезапускаем сервис:
systemctl restart httpd
Создание тестового сайта и проверка настроек
Создаем каталог для нашего тестового сайта:
mkdir /var/www/php-test
Создаем сайт, содержимое которого — один единственный скрипт:
vi /var/www/php-test/index.php
<?php
phpinfo();
?>
На рабочем компьютере открываем файл hosts:
- Для Linux: /etc/hosts
- Для Windows: \Windows\System32\drivers\etc\hosts
Укажем, что тестовые домены — это наш веб-сервер:
192.168.0.15 test-php5-4-16.local
192.168.0.15 test-php5-2-17.local
* где 192.168.0.15 — IP-адрес моего сервера; test-php5-4-16.local — домен для проверки версии php 5.4.16; test-php5-2-17.local — домен для проверки версии php 5.2.17.
Открываем браузер и заходим на два наших домена:
- http://test-php5-4-16.local/
- http://test-php5-2-17.local/
Мы должны увидеть сводку php с разными версиями:
Как установить phpMyAdmin в Windows
Сайт для скачивания phpMyAdmin: phpmyadmin.net.
Прямая ссылка на самую последнюю версию: phpMyAdmin-latest-all-languages.zip.
В каталог c:Serverdatahtdocs копируем содержимое только что скаченного архива. Переименовываем эту папку в phpmyadmin.
В каталоге c:Serverdatahtdocsphpmyadmin создаём файл config.inc.php и копируем туда:
/* Servers configuration */ $i = 0; /* Server: localhost */ $i++; $cfg = ''; $cfg = 'localhost'; $cfg = ''; $cfg = ''; $cfg = 'tcp'; $cfg = 'mysqli'; $cfg = 'cookie'; $cfg = 'root'; $cfg = ''; $cfg = true; $cfg = true; /* End of servers configuration */ $cfg = 'kjLGJ8g;Hj3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; $cfg = 'ru'; $cfg = 1; $cfg = ''; $cfg = '';
В браузере набираем http://localhost/phpmyadmin/
В качестве имя пользователя вводим root. Поле пароля оставляем пустым.
Вот и всё — теперь у вас есть свой персональный локальный веб-сервер на своём домашнем компьютере.
Если вдруг у вас что-то не получилось, то скорее всего вы пропустили какой-то шаг или сделали его неправильно — попробуйте всё сделать в точности по инструкции. Если проблема осталась, то ознакомьтесь со справочным материалом «Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin» и если даже он не помог, то напишите о своей ошибке в комментарии.
Большое количество материалов по Apache на русском языке специально для Windows вы найдёте на этой странице.
Примеры материалов, которые могут вам пригодиться в первую очередь:
WAMP и XAMPP не Работают на Windows 10?
Если вы сделали «чистую» установку Windows 10 у вас вовсе может отсутствовать Служба Веб-Приложений (анг. Word Wide Web Publishing Servic). В таком случае, после установки WAMP / XAMPP, веб-сервер должен работать нормально без всяких неполадок.
Если этого не произойдет, попробуйте установить Visual C++ Redistributable, после чего произведите переустановку WAMP / XAMPP.
Как только стало доступно официальное обновление с Windows 7 до Windows 10, я не преминул воспользоваться данной возможностью. Обновление прошло на ура, все было отлично, но когда я попробовал запустить свой XAMPP уже под новой ОС, меня ждало разочарование: веб-сервер Apache не запускался. Замечу, что проблемы с XAMPP / WAMP стали уже неприятной традицией при каждом обновлении Windows. Я нашел два пути решения данной проблемы.
Вариант №1: Как запустить Apache на Windows 10
Как мне удалось разузнать, во всем был виновным порт 80, занятый «Службой Веб-приложений». Остановка данной службы, и перезапуск XAMPP решило проблему. Ниже я привожу, как найти данную службу и остановить ее работу.
- Нажимаем кнопку «Пуск» и набираем слово «Службы» (или services.msc).
- В появившемся окошке опускаемся вниз, где находим строчку «Служба Веб-публикаций».
- Жмем правой кнопкой мыши по службе и выбираем опцию «Остановить».
После этого перезапускаем XAMPP / WAMP и у вас должен заработать Apache.
Вариант №2: Как запустить Apache на Windows 10
После «чистой» установки Windows 10, как уже писалось выше, у вас и вовсе может отсутствовать «Служба Веб-приложений». Если при таком раскладе, у вас все равно не работает WAMP / XAMPP, опробуйте следующее решение. Необходимо поменять порт, который будет обслуживать WAMP. Вот как это сделать.
- откройте WAMP / XAMPP.
- Зайдите в настройки Apache, где выберите пункт http.conf
- В открывшемся текстовом документе найдите строчку Listen 80.
- Измените число 80 на любое подходящее вам, к примеру – 8090.
- Перезапустите WAMP / XAMPP.
Все должно заработать. Однако, теперь вам придется постоянно использовать данный номер порта, при доступе к серверу. Например, если ранее вы просто писали https://localhost/ то теперь вам необходимо будет дописывать https://localhost:8090/
Notice: Undefined variable…
На новом, только что установленном, PHP можно часто видеть сообщения вида:
Notice: Undefined variable: msg in C:/Main/addrec.php on line 7
Это не ошибка — это рекомендации по кодированию, сообщающие о неинициализированных переменных. Следует отключить вывод подобных рекомендаций в файле php.ini. Найдите директиву error_reporting и установите ее значение:
error_reporting = E_ALL & ~E_NOTICE
Не подключается MySQL
Иногда возникают проблемы с установкой MySQL. Следует проконтролировать запускается ли MySQL в качестве сервиса каждый раз при старте системы. Для этого откройте консоль сервисов:
Пуск | Настройка | Панель управления | Администрирование | Службы
найдите там MySQL – запустите. Чтобы сервер стартовал при каждой загрузке системы нажмите правую кнопку мыши на сервисе и выберите “Свойства” – в открывшемся выпадающем списке “Тип запуска” выберите пункт “Авто”.
Если при запуске Apache и при обращении ко скриптам выдается сообщение о невозможности загрузки библиотеки php_mysql.dll.
PHP startup: Unable to load dynamic library c:/php/ext/php_mysql.dll
– не найден указанный модуль
То еще раз сверьтесь с инструкциями из раздела, где описывается подключение к PHP библиотеки для работы с MySQL. Используете ли Вы “правильную” версию файла php_mysql.dll (именно для той версии PHP, которая установлена в системе)?
Версии файла php_mysql.dll различаются для разных версий PHP, хотя и имеют одно и тоже название.
Скопирована ли библиотека libmysql.dll из каталога с установленным PHP в системный каталог C:/Windows/System32?
Неизвестные ошибки
Если все же настроить связку Apache, PHP и MySQL не получается, то причины могут быть в следующем:
- Использование русских буквы в именах директорий прописываемых в настроечных файлах httpd.conf и php.ini.
- Использование пробелов в именах файлов и директории в настроечных файлах. Если в именах файлов и директорий есть пробелы, то их нужно обрамлять кавычками.
- Использование разделителей каталогов формате Windows (обратный слеш): c:apache/bin. Для надежной работы следует использовать разделители в формате UNIX (прямой слеш), например: c:/apache/bin.
- Существование нескольких настроечных файлов php.ini на машине, либо отсутствие такого файла. Нужный файл php.ini должен лежать в директории Windows. Проведите поиск по дискам компьютера, найдите все лишние версии файлов и удалите их.
Познакомимся с аббревиатурой VC9 и VC11 (распространяемый пакет Visual C++)
Перед тем как приступить к поиску и скачиванию необходимых версий дистрибутивов, давайте познакомимся с аббревиатурой VC9 и VC11 (распространяемый пакет Visual C++), с которой мы столкнемся при выборе версии Apache.
Распространяемые пакеты Visual C++ устанавливают компоненты среды выполнения, необходимые для выполнения приложений C++, которые разработаны с помощью Visual Studio
Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом
Microsoft Visual Studio
Скаченные по описанию данного материала дистрибутивы Apache и PHP не содержат в себе инсталлятора.
Еще раз продублирую фразу: «не содержат в себе инсталлятора» и объясню. Мы не будем скачивать файл установки, запустив который, мы по шагам выполним ряд действий: примем лицензионное соглашение, выберем путь для установки, выберем дополнительные настройки, нажимая при этом в окне установки на кнопку «Далее». Такой установки не будет.
Вместо этого, мы скачаем архив с директориями и файлами, которые разработаны с помощью Visual Studio как приложение и уже скомпилированы. Соответственно, как видно из определения, пакет Visual С++ нам необходим для выполнения скомпилированного приложения. Таким образом для работы сервера Apache, необходимо будет скачать и установить на локальный компьютер нужный нам пакет Visual C++.
В конце материала содержится таблица, в которой описано, на какой ОС Windows, с использованием какого пакета Visual C++, будет корректно работать определенная версия Apache.
VC9 — распространяемый пакет Microsoft Visual C++ (Visual Studio 2008).
VC11 — распространяемый пакет Microsoft Visual C++ (Visual Studio 2012).
Установка Apache и PHP7 на Windows
Данная инструкция служит дополнением к инструкции по установке Apache 2.4VC11 и PHP 5.6 и описывает лишь отличительные моменты, которые касаются установки Apache24 и PHP7 на Windows. Описание установки СУБД MySQL остается прежним и не повторяется в этой инструкции.
Прежде чем продолжить чтение, обратите внимание на то, действительно ли вам необходимо устанавливать и настраивать всё это под Windows?Может быть Вам стоит обратить внимание на быстрый способ развернуть более качественное окружение для разработки под Windows, основанное на виртуализации Vagrant и не тратить свое время и нервы на настройку того же самого напрямую в Windows? В любом случае, прочтите статью про Vagrant. Возможно она сэкономит вам не только время, но и здоровье
Данная инструкция рассчитана на разработчиков с базовыми знаниями Apache и PHP. В данной инструкции будут описана только разница в установке Apache и PHP с основной инструкцией по установке PHP 5.6. Если Вы не в курсе, что такое WEB-сервер, http-протокол и интерпретатор PHP, то Вы всегда можете узнать об этом более подробно, прочитав документацию.
Итак, поехали!
Установка PHP 7
Установка и настройка всего остального не изменилась. Обратитесь пожалуйста к статье по установке PHP 5.6 для получения подробной информации.
Скачиваем PHP
PHP Hypertext Preprocessor — это скриптовый язык, который может быть встроен в HTML. Синтаксис языка в большинстве заимствован из C, Java и Perl c добавлением нескольких специфичных для PHP особенностей. Цель языка — позволить web-разработчикам легко создавать динамически генерируемые страницы.
Переходим по ссылки windows.php.net/download
На момент написания данного материала доступны след версии:
- PHP 5.6 (5.6.x)
- PHP 5.5 (5.5.xx)
- PHP 5.4 (5.4.xx)
Существует сразу несколько версий zip-архивов с требуемым нам содержимым для разных версий PHP.
Приведу небольшое описание различий между ними.
Для описания одного из них возьмем за основу VC11 x64 Thread Safe — версии PHP 5.5 (5.5.22). В Я буду использовать именно эту версию.
VC11 — пакет Visual C++ (распространяемый пакет Microsoft Visual C++).
x64 — разрядность ОС.
Thread Safe (потоко-безопасная версия) и Non Thread Safe (потоко-небезопасная версия). Принципиальное отличие данных версий в том, что Thread Safe в большинстве случаях требуется под использованием ОС Windows.
Для быстрого поиска на странице необходимого дистрибутива, можно использовать выпадающий список.
По ссылки Zip, скачиваем выбранную версию PHP, при этом не забываем про разрядность Вашего компьютера.
Для более детального выбора версии PHP на странице windows.php.net в левой колонке размещен блок Archives, в котором есть ссылка archives. Перейдите по данной ссылки.
Так как ранее мы рассмотривали веб-сервер, который мы разработан с помощью Microsoft Visual Studio и требует установки пакета Visual C++, то из всего этого множества дистрибутивов нас интересуют файлы следующего формата — php-5.(X).(XX)-Win32-VC(X)-x(XX).zip
Выбираем необходимую версию PHP
Ставим MySQL 5
С http://dev.mysql.com/downloads/ качаем дистрибутив mysql-essential-5.0.19-win32.msi и запускаем его. Нажимаем «Далее»
D:\Site\SQL
root
Осталось сконфигурировать PHP под него. Открываем файл настройки PHP, т.е. php.ini, он находится в директории …\WINDOWS\. Найдите там строку
Apache
extension=php_mysql.dll
1 | extension=php_mysql.dll |
раскомментируйте её.
Теперь найдите строку extension_dir =»./» и поменяйте её значение на местоположение папки ext в директории с установленным PHP
Apache
extension_dir =»D:/Site/PHP/ext»
1 | extension_dir=»D:/Site/PHP/ext» |
Перезапустите Апач. Теперь MySQL установлен. Для проверки создайте в серверной папке www файл sqltest.php со следующим кодом
<?php
$dblocation = «127.0.0.1»;
$dbname = «test»;
$dbuser = «root»;
$dbpasswd = «»;
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo «<p>К сожалению, не доступен сервер mySQL</p>»;
exit();
}
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo «<p>К сожалению, не доступна база данных</p>»;
exit();
}
$ver = mysql_query(«SELECT VERSION()»);
if(!$ver)
{
echo «<p>Ошибка в запросе</p>»;
exit();
}
echo mysql_result($ver, 0);
?>
1 |
<?php $dblocation=»127.0.0.1″; $dbname=»test»; $dbuser=»root»; $dbpasswd=»»; $dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd); if(!$dbcnx) { echo»<p>К сожалению, не доступен сервер mySQL</p>»; exit(); } if(!@mysql_select_db($dbname,$dbcnx)) { echo»<p>К сожалению, не доступна база данных</p>»; exit(); } $ver=mysql_query(«SELECT VERSION()»); if(!$ver) { echo»<p>Ошибка в запросе</p>»; exit(); } echomysql_result($ver,); ?> |
При правильной установке страница выдаст версию MySQL.
Настройка на новую файловую структуру
Теперь можно отразить фактическую файловую структуру Web-сервера в параметрах конфигурационного файла «D:\www\conf\httpd.conf»:
- ServerRoot «C:/Program Files/Apache24» # путь к базовой папке Web-сервера
- PidFile «D:/www/logs/httpd.pid» # идентификатор процесса Web-сервера
- DocumentRoot «D:/www/htdocs» # здесь размещается Web-сайт
- # свойства папки с Web-сайтом…
- ErrorLog «D:/www/logs/error.log» # журнал ошибок Web-сервера
- CustomLog «D:/www/logs/access.log» common # журнал работы Web-сервера
- ScriptAlias /cgi-bin/ «D:/www/cgi-bin/» # папка серверных CGI-сценариев
- # свойства папки серверных сценариев…
- TypesConfig D:/www/conf/mime.types # описания MIME-типов
- Include «D:/www/conf/extra/httpd-manual.conf» # настройка для сопроводительной документации
Обратите внимание, что в п. 2 нужно добавить в конфигурационный файл строку с параметром PidFile, т
к. в эталонном конфигурационном файле этот параметр отсутствует. Остальные параметры в конфигурационном файле уже присутстсвуют — нужно отыскать строки, содержащие их, и заменить исходные пути к папкам на новые.
- AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ «C:/Program Files/Apache24/manual$1«
- …