Подготовка папок

Я очень не люблю, чтобы у меня все валялось, где попало, так что для начала создадим папки, где у нас будут располагаться программы и сайты.
Создадим на диске «C:\» (или где вам удобней) папку «Server»:
C:\Server\
В ней создадим 2 папки:
C:\Server\web – это папка в которой у нас будут лежать программы
C:\Server\domains – а в этой папке будут лежать наши сайты
Итак, в папке \web\ мы создадим 3 папки для apache, php, mysql:
C:\Server\web\apache\
C:\Server\web\php\
C:\Server\web\mysql\
Далее перейдем в папку domains и создадим папку \localhost\
C:\Server\domains\localhost\
Внутри папки у нас будет 2 подпапки: public_html – для файлов сайта; logs – для текстовых файлов, в которых записывается «кто» получал доступ к сайту и какие ошибки в работе сайта появлялись.
C:\Server\domains\localhost\public_html\
C:\Server\domains\localhost\logs\
На этом структура папок заканчивается, переходим к настройке Apache.

Настройка Apache

Для установки Apache нам понадобиться сам Apache (Кэп). Так как у нас Windows 8.1 x64, то устанавливать будем Apache x64.
Для скачивания перейдем по ссылке:
www.apachelounge.com/download/win64
и скачиваем «httpd-2.4.6-win64.zip». Так же нам понадобиться для нормальной работы «Распространяемый пакет Microsoft Visual C++ 2010 (x64)». Для этого скачаем его по этой ссылке:
www.microsoft.com/ru-ru/download/details.aspx?id=14632
и устанавливаем.
После того как скачался наш архив с Apache, откроем его. Открыв архив, мы увидим папку «Apache24», зайдем в нее. Появиться множество папок и файлов программы, все распаковываем в заготовленную ранее папку:
C:\Server\web\apache\
Должно получиться так:
C:\Server\web\apache\bin\
C:\Server\web\apache\cgi-bin\
C:\Server\web\apache\conf\
C:\Server\web\apache\error\
C:\Server\web\apache\htdocs\
C:\Server\web\apache\icons\
C:\Server\web\apache\include\
C:\Server\web\apache\lib\
C:\Server\web\apache\logs\
C:\Server\web\apache\manual\
C:\Server\web\apache\modules\
Папки, такие как \cgi-bin\, \htdocs\, \icons\ и \manual\ нам не нужны – можете их удалить.
Перейдем в папку:
C:\Server\web\apache\conf\
И откроем файл конфигурации Apache – «httpd.conf» любым текстовым редактором. В этом файле каждая строка содержит директивы для настройки Apache, а строки, начинающиеся со знака # (решетка) – комментарий и пояснение. Приступим к настройке:

Файл конфигурации Apache

# директива Apache
ServerRoot “C:/Server/web/apache”
# Слушаем на локальном IP порт (80 по стандарту)
Listen 127.0.0.1:80
# далее подключим библиотеки расширений для Apache
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module "C:/Server/web/php/php5apache2_4.dll"
# указываем Apache, что файлы с расширением php, нужно воспринимать как php-скрипты
AddHandler application/x-httpd-php .php
# укажем расположение файла настроек php
PHPIniDir “C:/Server/web/php”
# изменим имя сервера
ServerName 127.0.0.1:80
# изменим доступ к директории

Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all


# директория с нашими сайтами
DocumentRoot “C:/Server/domains”
# индексные файлы, по приоритету.

DirectoryIndex index.php index.html index.htm index.shtml

# папка для log-файлов
ErrorLog “C:/Server/domains/logs/error.log”
CustomLog “C:/Server/domains/logs/access.log”
# добавим alias для phpMyAdmin, и поправим alias для cgi

Alias /pma “C:/Server/domains/phpMyAdmin”
ScriptAlias /cgi-bin/ “C:/Server/web/apache/cgi-bin/”

# правим путь для cgi

AllowOverride None
Options None
Require all granted

# типы файлов


AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# Другие конфиги:



BrowserMatch "MSIE 10.0;" bad_DNT


RequestHeader unset DNT env=bad_DNT

На этом заканчивается настройка httpd.conf.
В конфигурационном файле Apache httpd.conf были подключены дополнительные конфиги:
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf
Откроем файл «C:\Server\web\apache\conf\extra\httpd-mpm.conf» и быстро пробежимся по нему.
# указываем, где у нас будет храниться pid-файл:

PidFile “C:/Server/web/apache/logs/httpd.pid”

Остальные параметры оставляем без изменений. Откроем файл «httpd-autoindex.conf», изменим там только строки с путем:
Alias /icons/ "c:/Server/web/apache/icons/"

Options Indexes MultiViews
AllowOverride None
Require all granted

Файл хостов Apache

# на примере доменная localhost

DocumentRoot "C:/Server/domains/localhost/public_html"
ServerName localhost
ErrorLog "C:/Server/domains/localhost/logs/error.log"
CustomLog "C:/Server/domains/localhost/logs/access.log" common


# добавим для будущего phpMyAdmin (не забываем создать папку)

DocumentRoot "C:/Server/domains/phpmyadmin/public_html"
ServerName localhost
ErrorLog "C:/Server/domains/phpmyadmin/logs/error.log"
CustomLog "C:/Server/domains/phpmyadmin/logs/access.log" common

На этом редактирование файла заканчивается. Далее в оставшихся файлах правим только пути:
Файл «httpd-manual.conf»:
AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/Server/web/apache/manual$1"

В файле «httpd-default.conf» никаких изменений не производиться. На этом настройка конфигурации Apache завершается.

Настройка PHP

Раз у нас Windows 8.1 x64 и Apache x64 установлен и настроен, то и php должно быть x64.
Идем на сайт:

и скачиваем архив php последней версии. Нам нужен php как модуль, т.е. для этого скачиваем Thread Safe. После того как архив скачался, открываем его и переносим содержимое в папку «C:\Server\web\php\». Создадим две пустые папки «tmp» и «upload». Далее в этой папке ищем файл «php.ini-development» и переименовываем его в «php.ini». Открываем файл в текстовом редакторе и изменяем директивы (комментирования строк в файле начинается с точки с запятой).

Настройка php.ini

short_open_tag = On
zlib.output_compression = On
post_max_size = 64M
include_path = ".;С:\Server\web\php\includes"
extension_dir = "C:/Server/web/php/ext"
upload_tmp_dir = "C:/Server/web/php/upload"
upload_max_filesize = 64M
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
; в секции указываем временную зону нашего сервера (http://php.net/date.timezone)
date.timezone = "Asia/Yekaterinburg"
session.save_path = "С:/Server/web/php/tmp/"


На этом настройка php заканчивается.

Настройка MySQL

Ставим MySQL x64 как сокет под windows. Скачиваем архив с последней версией MySQL x64:
dev.mysql.com/downloads/mysql
В низу страницы находим Windows (x86, 64-bit), ZIP Archive и жмем на кнопку «Download». Вам перекинет на страницу регистрации на сайте. Нажимаем внизу страницы «No thanks, just start my download», запуститься скачивание архива MySQL. После того как скачался архив откроем его и перенесем все содержимое папки в «C:\Server\web\mysql\»
Теперь открываем файл настроек MySQL – «C:\Server\web\mysql\my-default.ini». Удаляем все его содержимое и вносим туда свои данные.
port=3306
host=127.0.0.1
port=3306
bind-address=127.0.0.1
enable-named-pipe
basedir="C:/Server/web/mysql/"
datadir="C:/Server/web/mysql/data/"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Вот и всё. В конфигурационном файле мы указали, что скрипты могут обращаться к серверу и по локальному IP, и по сокет-соединению.
Осталось дело за малым. Добавим в системную переменную «PATH» пути к Apache и MySQL, для этого:
  1. Перетащите курсор мыши в правый нижний угол экрана
  2. Щелкните на значке «Поиск» и введите: панель управления
  3. Выберите System (Система)-> Advanced (Дополнительные параметры системы)
  4. Выберите Environment Variables (Переменные среды), в меню System Variables (Системные переменные), найдите переменную PATH и щелкните на ней.
  5. Пропишите пути к Apache и MySQL:
;C:\Server\web\apache\bin;C:\Server\web\mysql\bin
Далее установим службы Apache и MySQL. Для этого воспользуемся сочетанием клавиш «Win+X», появиться выпадающее меню в левом нижнем углу. Выберем «Командная строка (администратор)».
В командной строке вводим, для установки Apache:
httpd –k install
для установки MySQL:
mysqld.exe --install MySQL --defaults-file=”C:\Server\web\mysql\my-default.ini”
Установим пароль для MySQL-пользователя. Для этого запустим службу MySQL командой:
NET start MySQL
После того как служба запустилась, установим пароль:
mysqladmin –u root password ВашПароль
В файл «httpd-vhosts.conf» мы прописали два сайта, для того чтобы браузер мог их увидеть, названия сайтов нужно добавить в файла «hosts». Перейдем в папку:
C:\Windows\System32\Drivers\etc\
откроем файл «hosts» любым текстовым редактором (запустить от имени администратора) и в конец файла добавим:
127.0.0.1 localhost
127.0.0.1 phpmyadmin
Сохраняем файл.
Для удобства запуска и остановки служб Apache и MySQL создадим файлы start-server.bat и stop-server.bat.
Для этого перейдем в папку «C:\Server\» и создадим два этих файла.
Содержание «start-server.bat»:
@echo off
NET start Apache2.4
NET start MySQL
Содержание «stop-server.bat»:
@echo off
NET stop Apache2.4
NET stop MySQL
Настройка Apache, PHP и MySQL на этом закончена. Для того чтобы протестировать сервер, давайте в папке «C:\Server\domains\localhost\public_html» создадим файл «index.php» с содержимым:

Далее запустим наш сервер, для этого запустите «start-server.bat» от имени администратора. После того как сервер запустился, откройте браузер и введите в адресной строке «localhost».
Должна отобразиться страница с информацией о PHP.

А сегодня мы будем запускать web-сервер Apache 2.2.2, и посмотрим на его основные настройки.
Для начела, проверим, как у нас прошла установка: Откройте браузер и введите http://localhost -Вы увидете страничку приветствия: It Works! Значит у нас установка прошла нормально.

Далее щелкаем на значке пера в панели задач правой кнопкой мышки и выбираем "Open Services". В открывшемся окне управления служб выбираем строку "Apache2.2" и делаем на ней двойной щелчок, после чего во вкладке "General" ("Общие") выбираем ручной запуск сервиса - "Startup type: Manual" ("Тип запуска: вручную"). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

В корне диска С: необходимо создать каталог "apache" - в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок "error.log" (создается программой при первом запуске, автоматически), глобальный файл доступа "access.log" (создается автоматически). В каталоге "apache" создаем еще одну пустую папку - "localhost", в которой, в свою очередь, создаем папку "www", именно в последней и будет надодится проект нашего сайта в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

Правка файла httpd.conf
1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ "#") данную строку:

LoadModule rewrite_module modules/mod_rewrite.so


2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:

#LoadModule php5_module "C:/php/php5apache2_2.dll"


3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:

#PHPIniDir "C:/php"


раскоментируем после установки php

4. Найдите строку:

DocumentRoot "C:/server/htdocs"

Назначьте корневую директорию управления сайтами (немного раньше вы ее уже создали):

DocumentRoot "C:/apache"

5. Найдите данный блок:


Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all


И замените его на нижеследующий:


Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all

6. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:


#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn"t give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

7. Найдите блок:


DirectoryIndex index.html

Замените его на:


DirectoryIndex index.html index.htm index.shtml index.php

8. Найдите строку:

ErrorLog "logs/error.log"


Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):

ErrorLog "C:/apache/error.log"

9. Найдите строку:

CustomLog "logs/access.log" common


Замените на:

CustomLog "C:/apache/access.log" common

10. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке, необходимо найти и раскомментировать:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

11. Добавьте ниже, в тот же блок, две строки:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

12. И, наконец, найдите и раскомментируйте строки:

Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf

Сохраните изменения и закройте файл "httpd.conf"

Теперь откройте файл "C:\server\conf\extra\httpd-vhosts.conf" и произведите в нем следующие изменения.

Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:

NameVirtualHost *:80


DocumentRoot "C:/apache/localhost/www"
ServerName localhost
ErrorLog "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" common

Сохраните изменения и закройте файл "httpd-vhosts.conf"

Движемся дальше - устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: "Start" ("Пуск") → "Control Panel" ("Панель управления") → "Administrative Tools" ("Администрирование") → "Services" ("Службы"), в открывшемся окне управления служб выбираем строку "Apache2.2" и делаем на ней двойной щелчок, после чего во вкладке "General" ("Общие") выбираем ручной запуск сервиса - "Startup type: Manual" ("Тип запуска: вручную"). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

Пример создания виртуального хоста

При необходимости установки собственных виртуальных хостов сделайте следующее:

Откройте файл "httpd-vhosts.conf", и создайте в нём блок, примерно, следующего содержания:

# Папка, в которой будет корень вашего хоста.
DocumentRoot "C:/apache/dom.ru/www"
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName dom.ru
# Алиас (добавочное имя) домена.
ServerAlias www.dom.ru
# Файл, в который будут записываться ошибки.
ErrorLog "C:/apache/dom.ru/error.log"
# Файл журнала доступа к хосту.
CustomLog "C:/apache/dom.ru/access.log" common

Затем в каталоге "apache", создайте папку "dom.ru", в которой, в свою очередь, создайте папку "www".
Следующий шаг создания виртуального хоста - это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 dom.ru
127.0.0.1 www.dom.ru
Теперь перезапустите сервер Apache, откройте браузер, введите в адресной строке "dom.ru" или "www.dom.ru" и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста ("www.dom.ru", если таковой существует), только закомментировав либо удалив строку: "127.0.0.1 www.dom.ru", в вышеупомянутом файле "hosts".
Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/
Установка и настройка веб-сервера Apache - завершена.

Веб-сервер Apache - это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.

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

Настройка Apache на Windows

На самом деле, базовая настройка веб-сервера крайне проста - необходимо только правильно указать путь до папки, в которой помещены веб-сайты - этого будет достаточно для запуска веб-сервера.

Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24 . Поэтому если папку Apache24 из вы разархивируете в корень диска C , то вы можете вообще без настройки запустить веб-сервер следующей командой:

C:\Apache24\bin\httpd.exe -k start

И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:

Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор) .

Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf .

Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев - они начинаются с решётки (# ) - комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.

Этот файл содержит не все возможные директивы - многие из них здесь отсутствуют, поскольку не требуются для большинства задач. Даже в этой заметки мы рассмотрим не все доступные в файле настройки - если описание чего-то пропущено, значит просто не нужно это трогать.

Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.

Думаю, вы уже обратили внимание, что веб-сервер отличается от других программ для Windows. Если вы знакомы с Linux или другими аналогичными операционными системами, вам должна быть знакома работа в консоли и редактирование текстовых файлов. Пути до файлов тоже записываются не совсем обычно для Windows. Сейчас главное уяснить два правила:

  • используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные - у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
  • всегда используйте прямые слеши, а не обратные (т.е., "c:/apache" вместо "c:\apache").

Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.

Первой идёт директива ServerRoot - это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.

Значение по умолчанию устанавливается двумя директивами:

Define SRVROOT "c:/Apache24" ServerRoot "${SRVROOT}"

Первая директива присваивает значение переменной SRVROOT , которое по умолчанию "c:/Apache24" . Вторая директива присваивает значение переменной ${SRVROOT} настройке ServerRoot .

ServerRoot — это та папка, в которой находятся все файлы веб-сервера - поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:

Define SRVROOT "c:/Server/bin/Apache24" ServerRoot "${SRVROOT}"

Либо если вы не планируете снова использовать переменную ${SRVROOT} (а она по умолчанию используется далее!), то можно сократить запись из двух строк до одной строки:

ServerRoot "c:/Server/bin/Apache24"

Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:

Listen 80

Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:

Listen 12.34.56.78:80

Можно указать несколько портов:

Listen 80 Listen 8000

Или несколько IP и портов:

Listen 192.170.2.1:80 Listen 192.170.2.5:8000

Вы можете использовать любые сочетания, главное правило - порт на указанном интерфейсе (IP) не должен быть занят другой программой.

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

На самом деле, всё действительно необходимое уже включено - и для работы большинства веб-сайтов менять ничего не нужно - особенно на локальном веб-сервере. Но есть одно исключение - модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:

#LoadModule rewrite_module modules/mod_rewrite.so

и раскомментировать её, т.е. заменить на:

LoadModule rewrite_module modules/mod_rewrite.so

Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.

Директива ServerName - это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку

#ServerName www.example.com:80

ServerName localhost

Конструкция

AllowOverride none Require all denied

запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).

DocumentRoot "${SRVROOT}/htdocs"

DocumentRoot - это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.

Конструкция нам уже встречалась. Но здесь указывается конкретная папка, для который делаются настройки. Эти настройки перезаписывают общие, которые указаны ранее.

Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!

Обратите внимание, что для установки настроек вновь используется переменная ${SRVROOT} , значение которой было присвоено в самом начале. Если использовать синтаксис с ${SRVROOT} , то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:

DocumentRoot "c:/Server/data/htdocs/" Options Indexes FollowSymLinks AllowOverride None Require all granted

Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks . Первая (Indexes ) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.

Вторая опция (FollowSymLinks ) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.

Директива AllowOverride установлена на None , это означает запрет использовать файлы .htaccess . На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite , ограничения доступа), поэтому я заменяю её значение на All , получается так:

AllowOverride All

А директива Require all granted открывает посетителям доступ для веб-документов.

Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:

DirectoryIndex index.html

Там всего один файл – index.html . Можно дописать любое количество своих собственных. Я меняю:

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

Другие настройки обычно не требуется менять для локального веб-сервера.

или устанавливаем связку серверов самостоятельно

Проверено на Windows Vista SP1, Vista Ultimate, Windows 7

Ваши действия:

  1. Скачайте бесплатно с официальных сайтов следующие дистрибутивы:

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

    1. Откройте двойным щелчком файл php.ini из папки C:\server\php\ .
    2. В разделе "Paths and Directories" должна присутствовать строка extension_dir ="C:\server\php\ext" .
    3. В разделе "Dynamic Extensions" найдите; Be sure to appropriately set the extension_dir directive. , внизу этой строчки поместите:
      extension=php_gd2.dll
      extension=php_mbstring.dll
      extension=php_mysql.dll
      extension=php_mysqli.dll
      extension=php_pdo.dll
      extension=php_pdo_mysql.dll
      extension=php_sqlite.dll
    4. Где-то в конце файла найдите строчку; End: и удалите все, что за ней следует.

    Сохраните измененный файл там же.

    Завершив редактирование файлов, создайте папку www в папке server и папку cgi-bin в папке www . Перезапустите компьютер. В результате в трее, в статусе сервера появился зеленый треугольник вместо красного квадрата, если нет и выведено окно с предупреждением об ошибке, значит изменение файла httpd.conf было неточным и вам прийдется внимательно все проверить, наклоны слэшей, кавычки и так далее.

    www — корневая директория (root directory) локального сервера, именно здесь следует сохранять все документы (папки, страницы, изображения, скрипты и другие файлы) вашего сайта.

    Тестируем PHP интерпретатор

    Создайте новый файл в редакторе (Notepad2 или Notepad+) и напишите код:

    echo phpinfo ();
    ?>

    Сохраните файл в директории C:\server\www\ как index.php . В браузере наберите http://127.0.0.1 или http://localhost/ ⇒ должна быть показана таблица:


    У меня все получилось! Если у вас есть какие-либо вопросы или пожелания, пишите в блог.

    Мы имеем локальный сервер в связке с интерпретатором и теперь можно изучать PHP.

    Тестируем соединение с сервером баз данных MySQL

    Небольшой скрипт:

    $dblocation = "127.0.0.1" ;
    $dbname = "test" ;
    $dbuser = "root" ;
    $dbpasswd = "" ; /* Укажите пароль который вы вводили при
    установке MySQL */
    $dbcnx = @ mysql_connect ($dblocation , $dbuser , $dbpasswd );
    if (! $dbcnx )
    {
    echo "Не доступен сервер mySQL" ;
    exit();
    }
    if (!@
    mysql_select_db ($dbname , $dbcnx ))
    {
    echo "Не доступна база данных" ;
    exit();
    }
    $ver = mysql_query ("SELECT VERSION()" );
    if(! $ver )
    {
    echo "Ошибка в запросе" ;
    exit();
    }
    echo mysql_result ($ver , 0 );
    ?>

    Сохраняем скрипт в папке C:\server\www\ как mysql.php и набераем в браузере http://localhost/mysql.php ⇒ будет показан серийный номер MySQL сервера :

    5.5.12
    1. Скачайте бесплатно дистрибутив менеджера по управлению базами данных с официального сайта php-myadmin.ru , последнюю стабильную версию, файлом с расширением all-languages.zip .
    2. Распакуйте архив в папку phpmyadmin , и поместите её в папку www .
    3. Скачайте config.inc.php , извлеките из архива и скопируйте его в папку phpmyadmin .
    4. Откройте config.inc.php , найдите строчку $cfg["Servers"][$i]["password"] = "pass"; ⇒ вместо pass укажите корневой пароль (root) , который вы использовали при установке сервера MySQL ⇒ сохраните файл.
    5. В браузере наберите http://localhost/phpmyadmin/ ⇒ будет показана титульная страница менеджера:

    Установив вышеперечисленные компоненты, мы получили полноценный локальный web-сервер и всё необходимое для организации дальнейшей работы.

    Были использованы материалы с сайтов: dev.mysql.com | php.net | php-myadmin.ru

Сам себе хостмастер или установка Apache на платформе Windows

Эта статья – пошаговая инструкция по созданию локального web-сервера. В ней описана установка web-сервера Apache 2.4 на платформе ОС Windows. Тестирование установки выполнялось на Windows XP SP3.

Состав web-сервера:

  • Apache 2.4 (версия 2.4.10);
  • PHP 5.4 (версия 5.4.34);
  • MySQL 5.5 (версия 5.5.23).

Эта рабочая среда подойдет:

  • опытным вебмастерам для тестирования своих проектов;
  • начинающим вебмастерам для создания своих первых сайтов.

Дистрибутивы Apache 2.4 и PHP 5.4 скомпилированы в VC9 (Visual Studio 2008).

Версия Apache 2.4 VC9 работает, практически, со всеми актуальными версиями Windows (7/8/Vista/XP SP3).

Для работы приложений VC9, прежде всего, необходимо обновить библиотеки Visual C++.

Установка пакета обновлений библиотек Visual C++

Скачиваем дистрибутив обновлений vcredist_x86.exe с сайта Microsoft, запускаем файл и выполняем обновление.

Установка и настройка сервера Apache 2.4

На сайте apache.org нет версии Apache 2.4 для Windows. Поэтому дистрибутив возьмем на apachelounge.com. В момент написания статьи последний релиз – Apache 2.4.10.

В разделе Additional + VC9 можно выбрать два варианта дистрибутива – с поддержкой и без поддержки ssl. Мы останавливаемся на втором варианте и скачиваем архив httpd-2.4.10-win32-VC9.zip .

В дистрибутиве Apache нет файла инсталляции. Поэтому установка будет выполняться вручную.

Создаем папку и распаковываем архив httpd-2.4.10-win32-VC9.zip.

В файле конфигурации httpd.conf по умолчанию установлены маршруты C:\Apache24. Поэтому, правок в файле конфигурации будет гораздо меньше, если распаковать архив в эту папку.

Мы распакуем дистрибутив в папку C:\TestServer .

Вносим правки в файл конфигурации C:\TestServer \Apache24\conf\httpd.conf. При написании путей вместо символа «\» (обратная косая черта) следует использовать символ «/» (прямая косая черта). Так прописываются пути в операционных системах Linux и Unix. А ведь первоначально Apache разрабатывался именно для этих операционных систем.

Выполняем групповую замену текста C:/Apache24 на C:/TestServer /Apache24.

Устанавливаем значение параметра ServerName. ServerName localhost:80

Устанавливаем значение параметра ServerAdmin (e-mail администратора). ServerAdmin

Устанавливаем значение параметра DocumentRoot (расположение документов сайта). DocumentRoot C:/TestServer /Apache24/htdocs

Возможно, вы захотите хранить документы сайта отдельно от сервера. Например, в папке C:\MySites. Тогда этот параметр можно изменить. DocumentRoot C:/MySites

Исполняемые файлы Apache находятся в папке C:\TestServer \Apache24\bin. Добавляем это значение в переменную среды PATH Windows. PATH = C:\TestServer \Apache24\bin;

Устанавливаем Apache как службу. httpd.exe -k install

Если включен брандмауэр Windows, то при установке службы появится сообщение о блокировке программы от внешних подключений. Для работы службы необходимо дать разрешение на разблокирование.

Запускаем сервер Apache. httpd.exe -k start

Проверяем работоспособность сервера. В командной строке браузера набираем адрес: http://localhost. Если установка Apache прошла успешно – на экране отобразится текст It works!. В противном случае мы увидим пустой экран.

В случае если сервер не запустился, следует проверить, не занят ли порт 80, который использует Apache по умолчанию.

Делается это с помощью команды netstat –anb

Чаще всего этот порт используют Skype или Firefox. В этом случае следует либо освободить порт, либо перевести Apache на порт 8080.

Для этого в файле httpd.conf изменяем значений параметров ServerName и Listen. ServerName localhost:8080 Listen 8080

После этого перезапускаем службу командой httpd.exe -k restart

и опять пытаемся зайти по адресу http://localhost

Для удобства работы с сервером Apache можно установить в меню автозагрузки Windows ярлык, указывающий на C:\TestServer \Apache24\bin\ ApacheMonitor.exe

Установка PHP 5.4

Заходим на сайт разработчика http://windows.php.net/download/. Находим дистрибутив PHP 5.4 в секции VC9 x86 Thread Safe и загружаем архив php-5.4.34-Win32-VC9-x86.zip.

Создаем папку на локальном компьютере, пусть это будет C:\TestServer \PHP54, и распаковываем архив.

Возвращаемся на сайт с дистрибутивом Apache. В разделе Additional + VC9 находим архив php5apache2_4.dll-php-5.4-win32.zip с PHP-модулями Apache и скачиваем его.

В архиве находим папку с самой последней версией модуля php5apache2_4.dll и помещаем его в папку C:\TestServer \PHP54.

В файл конфигурации httpd.conf добавляем строки:

LoadModule php5_module «C:/TestServer /PHP54/php5apache2_4.dll» AddHandler application/x-httpd-php .php # configure the path to php.ini PHPIniDir «C:/TestServer /PHP54/php«

В папке C:\TestServer \Apache54\htdocs создаем файл test.php. echo «Hello Apache!»; ?>

Перезапускаем Apache.

В адресной строке браузера набираем http://localhost/test.php. Если на экране появится текст Hello Apache!, то установка PHP завершилась успешно.

Настройка php.ini

Для работы с БД MySQL нам необходимо настроить php.ini – файл конфигурации PHP.

В папке C:\TestServer \PHP54 находятся два шаблона: php.ini-development и php.ini-production.

Переименовываем шаблон php.ini-production в php.ini.

Библиотеки для работы с БД MySQL находятся в папке C:\TestServer \PHP54\ext. Этот путь должен быть прописан в директиве extension_dir файла конфигурации php.ini.

Находим этот параметр, удаляем символ комментария в начале строки (это точка с запятой) и прописываем путь. extension_dir = «C:/TestServer /PHP54/ext«

Для работы с БД MySQL в PHP существуют две библиотеки: php_mysqli.dll – более новая и именно ее рекомендуется использовать в работе; php_mysql.dll – старая, но ее используют на большинстве сайтов.

В файле php.ini лучше прописать обе библиотеки. extension=php_mysql.dll extension=php_mysqli.dll

После завершения правок обязательно перезапускаем сервер Apache.

Установка и настройка MySQL

Заходим на страницу http://www.mysql.ru/download/. Выбираем версию для Win32 или Win64. Мы будем загружать установочный пакет mysql-5.5.23-win32.msi.

Запускаем файл mysql-5.5.23-win32.msi.

Соглашаемся на лицензионные условия, выбираем тип установку Typical.

Переходим к настройке MySQL сервера.

Выбираем Detailed Configuration – детализированную настройку конфигурации.

Выбираем тип сервера с минимальными требованиями к памяти – Developer Machine.

Теперь нужно решить, с какими базами данных (InnoDB, MyISAM) будет работать наш сервер.

Multifunctional Database – поддерживаются InnoDB и MyISAM. Transactional Database Only - поддерживается InnoDB. Non-Transactional database Only - поддерживается myISAM.

При выборе поддержки InnoDB, следующий шаг – выбор места хранения таблиц InnoDB.

Максимальное число одновременных подключений лучше выбрать Manual Setting (ручная установка) и согласиться со значением по умолчанию (15).

На этом шаге параметром Enable TCP/IP Networking включается поддержка TCP-соединений, выбирается порт, по которому будут осуществляться эти соединения. Также устанавливается параметр Enable Strict Mode – режим строгого соответствия стандарту MySQL.

Теперь необходимо выбрать кодировку по умолчанию. Лучший вариант - кодировка UTF-8. Поэтому выбираем Best Support For Multilingualism.

Для того чтобы MySQL запускался как служба Windows - устанавливаем Install as Windows Service. Если необходим автозапуск этой службы - устанавливаем Launch the MySQL Server automatically.

Теперь устанавливаем пароль администратора и выключаем опцию Modify Security Settings.

После нажатия кнопок Next и Execute установку MySQL можно считать законченной.

Для проверки работоспособности MySQL нажимаем кнопку Пуск Windows, находим утилиту работы с MySQL (MySql Server 5.5 MySQL Server Command Line) и запускаем ее.

После ввода пароля администратора мы попадаем в командную строку MySQL.

Вводим команду show databases;

Если мы увидим список баз данных – это будет означать, что сервер работает правильно.

Выходим из режима командной строки: exit;

На этом установка сервера завершена. Удачной работы!

WindowsTune.ru

WAMP и XAMPP не Работают на Windows 10?

– Октябрь 10, 2015Рубрики: Разное

Если вы сделали «чистую» установку 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).
  • В появившемся окошке опускаемся вниз, где находим строчку «Служба Веб-публикаций».
  • Жмем правой кнопкой мыши по службе и выбираем опцию «Остановить».

Как запустить Apache на Windows 10: Останавливаем «Службу Веб-приложений»

После этого перезапускаем XAMPP / WAMP и у вас должен заработать Apache.

Читайте также: Горячие Клавиши Windows 10 – Справочник Главных Сочетаний

Вариант №2: Как запустить Apache на Windows 10

После «чистой» установки Windows 10, как уже писалось выше, у вас и вовсе может отсутствовать «Служба Веб-приложений». Если при таком раскладе, у вас все равно не работает WAMP / XAMPP, опробуйте следующее решение. Необходимо поменять порт, который будет обслуживать WAMP. Вот как это сделать.

  • откройте WAMP / XAMPP.
  • Зайдите в настройки Apache, где выберите пункт http.conf
  • В открывшемся текстовом документе найдите строчку Listen 80.
  • Измените число 80 на любое подходящее вам, к примеру – 8090.
  • Перезапустите WAMP / XAMPP.

Все должно заработать. Однако, теперь вам придется постоянно использовать данный номер порта, при доступе к серверу. Например, если ранее вы просто писали http://localhost/ то теперь вам необходимо будет дописывать http://localhost:8090/

Если вы узнали другое решение данной проблемы, пишите в комментариях о своем опыте.

itdistrict.ru

Установка Apache на Windows 7

В сети достаточно много статей, где авторы приводят подробные инструкции со скриншотами, благодаря которым ни один пользователь смог выполнить установку сервера Apache для PHP и СУБД MySql. Но большинство из них оставляют за юзером множество вопросов, на которые он долго не может отыскать ответа. Рассмотрим, что такое Apache, MySql, PHP, для чего они нужны и как выполнить инсталляцию этих продуктов.

Немного теории

Apache свободный http-сервер, названный так в честь североамериканского племени индейцев апачей. Он широко используется на всех платформах, включая Windows, и фактически стал стандартом, в разработке веб-приложений и сервисов. Помимо него нам понадобится установка СУБД MySql, которая также является стандартом в своей сфере, и один из распространённых и универсальных скриптовых языков – PHP.

Апач (как его нарекли пользователи) отличается от других серверов тем, что на нем гарантированно будут работать все приложения и сервисы, не требуя при этом от пользователя выполнения дополнительной настройки. По сравнению с аналогами, Апач не отличается высоким быстродействием и низкими показателями потребления ресурсов компьютера, зато на его основе гарантированно будет функционировать любое приложение. Еще сюда можно добавить простоту настройки, работу фактически на всех современных платформах и отличную документацию.

Сейчас и рассмотрим, как осуществляется установка Apache на компьютер под управлением Windows 7 (в более поздних редакциях процесс практически идентичен), дабы сервер был инсталлированным на реальном хостинге.

Инсталляция Апач

  • Заходим на официальный ресурс поддержки Apache и загружаем его последнюю редакцию.

На самом деле разницы между версиями продукта для разработчика практически никакой нет, разве старые Апачи не поддерживаются последними версиями скриптового языка PHP.

  • Запускаем скачанный инсталяционный файл.
  • Первые два поля заполняем, как на скриншоте: вписываем «localhost» в обе строки.
  • Задаем абсолютно любой почтовый ящик.
  • первое отвечает за инсталляцию продукта в качестве службы Windows, которая будет использовать порт под номером 80;
  • второе подключит сервер к порту под номером 8080, после чего придется автоматически запускать его каждый раз.

Разработчики продукта рекомендуют останавливаться на первом варианте, а посему, рассмотрим его немного ниже. Когда выполняется установка Апача, обратите внимание на путь хранения его файлов. Лучше всего выполнять инсталляцию в директорию «public», расположенную в папке «users» на системном разделе вашего винчестера.

После закрытия мастера установки убеждаемся, запущен ли Apache. Для этого опускаемся в трей и проверяем в нем наличие показанной ниже иконки.

Если же он не работает, запускаем командную строку. Делается это посредством ввода «cmd» в текстовую форму командного интерпретатора (Win+R).

В командной строке пишем «net start Apache2.2» для запуска сервера.

Такая запись справедлива только для версии продукта 2.2, в иных версиях числа будут соответствующими.

Останавливается сервер посредством набора команды с такими параметрами: «net stop Apache2.2».

Рассмотрим еще несколько методов запуска, завершения работы и перезагрузки Apache. При регулярной работе использование командной строки для управления работой сервера неэффективно – оно отнимет много времени. Выходом из ситуации будет использование контекстного меню иконки в трее: кликаем по ней правой клавишей мыши и выбираем, какое действие необходимо совершить.

То же самое выполняется посредством управления одноименной службой через соответствующую утилиту, открывающую доступ к службам Windows, или оснастку «Службы». Запускается она через поисковую строку либо «Администрирование» в «Панели управления».

Настраиваем Апач

При выборе первого метода установки сервера можете задать метод его запуска. При регулярном использовании и наличии свободных ресурсов на ПК используйте автозапуск Apache. В ином случае выбирайте его ручной запуск через контекстное меню службы.

После ручного или автоматического запуска сервера открываем удобный браузер и переходим по адресу: http://localhost. Появится пустая страница с таким же адресом.

Дабы приступить к работе делаем следующее.

  • Идем в каталог «htdocs», расположенный в папке с файлами программного продукта.
  • Удаляем с нее html-файл и создаем каталог с именем сайта (mysite).
  • Можете зайти на будущий сайт, введя http://localhost/mysite.
  • Переходим в папку «conf» и открываем файл «httpd.conf» в текстовом редакторе (желательно, с поддержкой синтаксиса).
  • Переходим на строку номер 227 и заменяем «none» на «all». В итоге должно получиться значение «AllowOverride All».

Посмотрите ещё: Каким образом почистить компьютер от мусора Windows 7

Выполнение такого действия разрешит использовать документ «htaccess». Он представляет собой расширенный конфигурационный файл Apache.

  • Ищем строку с текстом «#LoadModule rewrite_module modules/mod_rewrite.so» и удаляем символ «#».

Такое действие активирует модуль, отвечающий за создание и функционирование ЧПУ-ссылок.

  • Сохраняем внесенные изменения и обязательно выполняем рестарт Апач.

Инсталлируем ПХП

  • Заходим на страницу загрузки PHP и скачиваем последнюю стабильную версию скриптового языка.

Внимание! Загружать придется не исполняемый файл формата msi или exe, а biz-архив.

  • Создаем каталог и выполняем в него декомпрессию архива при помощи 7zip или Winrar.
  • Открываем «httpd.conf», если закрыли, и добавляем следующий текст в конец:

«LoadModule php5_module «C:\Users\Public\php\php7Apache2_2.dll»

AddType application/x-httpd-php .php»

Цифры в первой строке и адрес будут изменяться в зависимости от версий используемых продуктов и путей к каталогам и PHP.

  • Опять же сохраняем изменения и выполняем перезапуск Apache.

При появлении информационного диалогового окна, сигнализирующего об ошибке при выполнении операции перезагружаем Windows.

Все параметры конфигурации PHP, когда выполнилась его установка, хранятся в файле «php.ini». Вместо него есть документы, имя которых начинается с «php.ini».

  • Переименовываем любой в «php.ini» для создания файла конфигурации.
  • Затем копируем этот документ в каталог с Windows, например, «С:\ Windows».
  • Выполняем рестарт сервера через контекстное меню его иконки.

На этом установка и настройка PHP завершена. Осталось проверить работоспособность сервера. Идем в «htdocs» и создаем в папке файл с любым именем (лучше латиницей) и расширением php (например, file.php). Открываем его посредством текстового редактора и вводим следующий фрагмент кода:

Теперь открываем или разворачиваем окно браузера и вводим в адресную строку путь к созданному файлу. В нашем случае это: http://localhost/mysite/file.php

Посмотрите ещё: Что делать, если долго загружается компьютер Windows 7

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

Обратите внимание на строку «Loaded configuration file». Там должен быть указан путь к файлу конфигурации «php.ini».

На этом установка Apache с PHP на компьютер с Windows завершена. Если вам потребуется инсталлировать какую-либо CMS, выполняется установка СУБД.

Инсталляция СУБД

  • Загружаем актуальную версию MySql для вашей версии и разрядности Windows.
  • После нажатия на кнопку «Download» кликаем по ссылке, выделенной на скриншоте, чтобы скачать MySql без регистрации.
  • Запускаем инсталлятор, функционирование которого потребует библиотеки.NET Framework редакции 4.5.
  • Принимаем условия использования MySql в Windows.
  • Перемещаем переключатель в положение «Server only».
  • Жмем по кнопке «Execute», дабы запустилась установка MySql после проверки требований.
  • Задаем пароль для MySql, который будет использоваться для предоставления доступа к базе данных.

Установка сервера со скриптовым языком и MySql завершена. Осталось лишь связать два последних компонента, дабы они смогли взаимодействовать.

Для этого открываем уже известный файл конфигурации «php.ini» и удаляем символ «;» в строчках с такими данными:

extension=php_mysql.dll

extension=php_mysqli.dll.

Находим текст «; extension_dir = «ext»» и заменяем его на следующий «extension_dir = «C:\Users\Public\php\ext»», где после знака «равно» задаем путь к каталогу с PHP.

Для проверки работоспособности MySql, создаем файл с расширением php (например, file.php) в директории «htdocs» со следующим содержимым:

mysql_connect();

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

(Visited 6 008 times, 6 visits today)

windowsprofi.ru

Мой опыт настройки Apache x64 под Windows 8.1 x64

Подготовка папок
Я очень не люблю, чтобы у меня все валялось, где попало, так что для начала создадим папки, где у нас будут располагаться программы и сайты. Создадим на диске «C:\» (или где вам удобней) папку «Server»:

В ней создадим 2 папки:

C:\Server\web – это папка в которой у нас будут лежать программы

C:\Server\domains – а в этой папке будут лежать наши сайты Итак, в папке \web\ мы создадим 3 папки для apache, php, mysql:

C:\Server\web\apache\

C:\Server\web\php\ C:\Server\web\mysql\ Далее перейдем в папку domains и создадим папку \localhost\

C:\Server\domains\localhost\

Внутри папки у нас будет 2 подпапки: public_html – для файлов сайта; logs – для текстовых файлов, в которых записывается «кто» получал доступ к сайту и какие ошибки в работе сайта появлялись.

C:\Server\domains\localhost\public_html\

C:\Server\domains\localhost\logs\ На этом структура папок заканчивается, переходим к настройке Apache.

Настройка Apache
Для установки Apache нам понадобиться сам Apache (Кэп). Так как у нас Windows 8.1 x64, то устанавливать будем Apache x64. Для скачивания перейдем по ссылке:

www.apachelounge.com/download/win64

И скачиваем «httpd-2.4.6-win64.zip». Так же нам понадобиться для нормальной работы «Распространяемый пакет Microsoft Visual C++ 2010 (x64)». Для этого скачаем его по этой ссылке:

www.microsoft.com/ru-ru/download/details.aspx?id=14632

И устанавливаем. После того как скачался наш архив с Apache, откроем его. Открыв архив, мы увидим папку «Apache24», зайдем в нее. Появиться множество папок и файлов программы, все распаковываем в заготовленную ранее папку:

C:\Server\web\apache\

Должно получиться так:

C:\Server\web\apache\bin\

C:\Server\web\apache\cgi-bin\ C:\Server\web\apache\conf\ C:\Server\web\apache\error\ C:\Server\web\apache\htdocs\ C:\Server\web\apache\icons\ C:\Server\web\apache\include\ C:\Server\web\apache\lib\ C:\Server\web\apache\logs\ C:\Server\web\apache\manual\ C:\Server\web\apache\modules\ Папки, такие как \cgi-bin\, \htdocs\, \icons\ и \manual\ нам не нужны – можете их удалить. Перейдем в папку:

C:\Server\web\apache\conf\

И откроем файл конфигурации Apache – «httpd.conf» любым текстовым редактором. В этом файле каждая строка содержит директивы для настройки Apache, а строки, начинающиеся со знака # (решетка) – комментарий и пояснение. Приступим к настройке:Файл конфигурации Apache# директива Apache ServerRoot “C:/Server/web/apache” # Слушаем на локальном IP порт (80 по стандарту) Listen 127.0.0.1:80 # далее подключим библиотеки расширений для Apache LoadModule rewrite_module modules/mod_rewrite.so LoadModule php5_module "C:/Server/web/php/php5apache2_4.dll" # указываем Apache, что файлы с расширением php, нужно воспринимать как php-скрипты AddHandler application/x-httpd-php .php # укажем расположение файла настроек php PHPIniDir “C:/Server/web/php” # изменим имя сервера ServerName 127.0.0.1:80 # изменим доступ к директории Options Includes Indexes FollowSymLinks AllowOverride All Allow from all # директория с нашими сайтами DocumentRoot “C:/Server/domains” # индексные файлы, по приоритету. DirectoryIndex index.php index.html index.htm index.shtml

# папка для log-файлов

ErrorLog “C:/Server/domains/logs/error.log” CustomLog “C:/Server/domains/logs/access.log” # добавим alias для phpMyAdmin, и поправим alias для cgi Alias /pma “C:/Server/domains/phpMyAdmin” ScriptAlias /cgi-bin/ “C:/Server/web/apache/cgi-bin/”

# правим путь для cgi

AllowOverride None Options None Require all granted

# типы файлов

… AddType text/html .shtml AddOutputFilter INCLUDES .shtml AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

# Другие конфиги:

Include conf/extra/httpd-mpm.conf Include conf/extra/httpd-autoindex.conf Include conf/extra/httpd-vhosts.conf Include conf/extra/httpd-manual.conf Include conf/extra/httpd-default.conf BrowserMatch "MSIE 10.0;" bad_DNT RequestHeader unset DNT env=bad_DNT На этом заканчивается настройка httpd.conf. В конфигурационном файле Apache httpd.conf были подключены дополнительные конфиги:

Include conf/extra/httpd-mpm.conf

Include conf/extra/httpd-autoindex.conf Include conf/extra/httpd-vhosts.conf Include conf/extra/httpd-manual.conf Include conf/extra/httpd-default.conf Откроем файл «C:\Server\web\apache\conf\extra\httpd-mpm.conf» и быстро пробежимся по нему.

# указываем, где у нас будет храниться pid-файл:

PidFile “C:/Server/web/apache/logs/httpd.pid” Остальные параметры оставляем без изменений. Откроем файл «httpd-autoindex.conf», изменим там только строки с путем:

Alias /icons/ "c:/Server/web/apache/icons/"

Options Indexes MultiViews AllowOverride None Require all granted Далее переходим к файлу «httpd-vhosts.conf», удаляем его содержимое. После того, как мы это сделали, начинаем наполнять его заново:Файл хостов Apache# на примере доменная localhost DocumentRoot "C:/Server/domains/localhost/public_html" ServerName localhost ErrorLog "C:/Server/domains/localhost/logs/error.log" CustomLog "C:/Server/domains/localhost/logs/access.log" common # добавим для будущего phpMyAdmin (не забываем создать папку) DocumentRoot "C:/Server/domains/phpmyadmin/public_html" ServerName localhost ErrorLog "C:/Server/domains/phpmyadmin/logs/error.log" CustomLog "C:/Server/domains/phpmyadmin/logs/access.log" common На этом редактирование файла заканчивается. Далее в оставшихся файлах правим только пути: Файл «httpd-manual.conf»:

AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/Server/web/apache/manual$1"

В файле «httpd-default.conf» никаких изменений не производиться. На этом настройка конфигурации Apache завершается.

Настройка PHP
Раз у нас Windows 8.1 x64 и Apache x64 установлен и настроен, то и php должно быть x64. Идем на сайт:

www.anindya.com/tag/php

И скачиваем архив php последней версии. Нам нужен php как модуль, т.е. для этого скачиваем Thread Safe. После того как архив скачался, открываем его и переносим содержимое в папку «C:\Server\web\php\». Создадим две пустые папки «tmp» и «upload». Далее в этой папке ищем файл «php.ini-development» и переименовываем его в «php.ini». Открываем файл в текстовом редакторе и изменяем директивы (комментирования строк в файле начинается с точки с запятой).Настройка php.inishort_open_tag = On zlib.output_compression = On post_max_size = 64M include_path = ".;С:\Server\web\php\includes" extension_dir = "C:/Server/web/php/ext" upload_tmp_dir = "C:/Server/web/php/upload" upload_max_filesize = 64M extension=php_bz2.dll extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll extension=php_sockets.dll extension=php_sqlite3.dll ; в секции указываем временную зону нашего сервера (http://php.net/date.timezone) date.timezone = "Asia/Yekaterinburg" session.save_path = "С:/Server/web/php/tmp/" На этом настройка php заканчивается.

Настройка MySQL
Ставим MySQL x64 как сокет под windows. Скачиваем архив с последней версией MySQL x64:

dev.mysql.com/downloads/mysql

В низу страницы находим Windows (x86, 64-bit), ZIP Archive и жмем на кнопку «Download». Вам перекинет на страницу регистрации на сайте. Нажимаем внизу страницы «No thanks, just start my download», запуститься скачивание архива MySQL. После того как скачался архив откроем его и перенесем все содержимое папки в «C:\Server\web\mysql\» Теперь открываем файл настроек MySQL – «C:\Server\web\mysql\my-default.ini». Удаляем все его содержимое и вносим туда свои данные.

Port=3306 host=127.0.0.1 port=3306 bind-address=127.0.0.1 enable-named-pipe basedir="C:/Server/web/mysql/" datadir="C:/Server/web/mysql/data/" sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES Вот и всё. В конфигурационном файле мы указали, что скрипты могут обращаться к серверу и по локальному IP, и по сокет-соединению. Осталось дело за малым. Добавим в системную переменную «PATH» пути к Apache и MySQL, для этого:

  1. Перетащите курсор мыши в правый нижний угол экрана
  2. Щелкните на значке «Поиск» и введите: панель управления
  3. Выберите System (Система)-> Advanced (Дополнительные параметры системы)
  4. Выберите Environment Variables (Переменные среды), в меню System Variables (Системные переменные), найдите переменную PATH и щелкните на ней.
  5. Пропишите пути к Apache и MySQL:
;C:\Server\web\apache\bin;C:\Server\web\mysql\bin Далее установим службы Apache и MySQL. Для этого воспользуемся сочетанием клавиш «Win+X», появиться выпадающее меню в левом нижнем углу. Выберем «Командная строка (администратор)». В командной строке вводим, для установки Apache:

httpd –k install

Для установки MySQL:

mysqld.exe --install MySQL --defaults-file=”C:\Server\web\mysql\my-default.ini”

Установим пароль для MySQL-пользователя. Для этого запустим службу MySQL командой:

После того как служба запустилась, установим пароль:

mysqladmin –u root password ВашПароль

В файл «httpd-vhosts.conf» мы прописали два сайта, для того чтобы браузер мог их увидеть, названия сайтов нужно добавить в файла «hosts». Перейдем в папку:

C:\Windows\System32\Drivers\etc\

Откроем файл «hosts» любым текстовым редактором (запустить от имени администратора) и в конец файла добавим:

127.0.0.1 localhost

127.0.0.1 phpmyadmin Сохраняем файл. Для удобства запуска и остановки служб Apache и MySQL создадим файлы start-server.bat и stop-server.bat. Для этого перейдем в папку «C:\Server\» и создадим два этих файла. Содержание «start-server.bat»:

NET start Apache2.4 NET start MySQL Содержание «stop-server.bat»:

NET stop Apache2.4 NET stop MySQL Настройка Apache, PHP и MySQL на этом закончена. Для того чтобы протестировать сервер, давайте в папке «C:\Server\domains\localhost\public_html» создадим файл «index.php» с содержимым: Устанавливаем PhpMyAdmin Скачиваем последнюю версию PhpMyAdmin отсюда:

www.phpmyadmin.net/home_page/index.php

Открываем скаченный архив и переносим содержимое его папки в папку для нашего домена «C:\Server\domains\phpmyadmin\public_html\». Находим файл «config.sample.inc.php», делаем его копию и переименовываем копию в «config.inc.php». Открываем файл текстовым редактором и меняем данные: Сохраняем и закрываем файл. Открываем в браузере сайт «http://phpmyadmin» и наслаждаемся.

Статья получилась объемная, но надеюсь полезная.

Метки:

  • windows 8.1
  • apache
  • mysql
  • phpmyadmin

habrahabr.ru

Как установить Apache 2.4 вместе с PHP 5.6 и MySQL 5.6 на ОС Windows версий 7 - 10

Данный материал станет незаменимой инструкцией для начинающих веб-разработчиков при установке веб-сервера Apache с новыми версиями PHP интерпретатора на свой компьютер с Windows. Обычно, для этой задачи используется более простое решение – установка сборки. Это избавляет от необходимости возиться с настройками. Но именно понимание специфики работы веб-сервера, того, как правильно его установить и настроить – один из обязательных навыков веб-разработчика. Поэтому, будем разбираться.

Следует учесть: приведенные версии VC11 будет очень сложно, а то и вовсе невозможно запустить под Windows XP.

Процесс подготовки.

Для начала нужно удостовериться, что версия Windows на вашем компьютере не старше седьмой. Кроме того, приведенная в данной статье инструкция для Apache 2.4 не сработает для Windows XP.

Первым делом удалите все веб-серверы, которые были установлены прежде. Далее, нужно зайти в службы и удостовериться, что среди них нет Apache или IIS. При наличии любого другого веб-сервера, существует большая вероятность, что параллельно установленный не будет работать.

Если вы используете Skype на данном компьютере, то в его настройках нужно отключиться от 80 порта.

Вам понадобится менеджер файлов или редактор кода, для создания файлов различных разрешений.

Что касается структуры папок – она может быть различной, но именно эта инструкция была разработана под конкретную структуру, которую следует учесть, чтобы все работало на 100%.

Прежде чем приступить к процедуре установки, следует создать отдельную папку USR на диске D. Там нужно завести папки apache, php, tmp, www, log, не указывая номера версий. Используя менеджер файлов или редактор кода, создайте в каталоге www такие файлы:

  • index.html , который содержит: It works!
  • index.php, который содержит:

Если у вас нет ни менеджера файлов, ни редактора кода, их необходимо скачать здесь. Данные инструменты обязательно необходимо иметь на ПК каждому разработчику.

В системной переменной PATH пишем:

;D:\USR\apache;D:\USR\apache\bin;D:\USR\php;

Важно! Нумерация строк в конфигурационных файлах, для различных версий apache и php, может отличаться от приведенной.

Любые команды выполняются только от имени Админа, и редактирование файлов не исключение.

Процесс установки Apache 2.4

По большому счету, процесс разработки на PHP не подразумевает отдельного веб-сервера, так как там имеется встроенный веб-сервер и его, как правило, вполне хватает для разработки 1 проекта. Однако, мы советуем установить и настроить веб-сервер Apache как минимум, чтобы научиться всем тонкостям работы с данным веб-сервером и его конфигурацией. Данный навык наверняка пригодится вам в будущем.

  • Для начала загрузим Apache 2.4 binaries VC11 для своей системы, перейдя на: http://www.apachelounge.com/download/VC11/. Полагаем, у вас стоит 64 разрядная операционная система, где необходим будет файл под названием: httpd-2.4.16-win64-VC11.zip
  • Все дополнительные модули, при необходимости, скачайте там же. Но, чтобы выполнить базовую установку, это необязательно.
  • Из предварительно скачанного архива в D:\USR\apache разархивируйте содержимое папки Apache24 и учтите, что в D:\USR\apache необходимо поместить именно содержание папки Apache24, а не ее саму. Инсталляция не потребуется.
  • В файле D:\USR\apache\conf\httpd.conf следует поменять значение ServerRoot на «d:/USR/apache» в строке 37, а значение DocumentRoot (и Direcroty) на «d:/USR/www» в строке 242 и 243. Раскомментируйте строку 218, после чего ее нужно поменять на ServerName localhost:80.
  • Параметры хранения логов в данном файле нужно найти и поменять следующим образом:
  • Установка сервиса Ahache. Не забывайте, что она выполняется только от имени Админа. Откройте командную строку и вставьте:
    D:\USR\apache\bin\httpd.exe -k install
  • В процессе установки необходимо внимательно отнестись к всплывающим сообщениям об ошибках. При правильном ходе установки их быть не должно. Ситуация, когда по окончанию выполнения строки следующая не появляется снова, указывает на то, что была допущена ошибка. Для того, чтобы избежать ошибок, используйте функции copy/paste.
  • Следующий этап – создание на рабочем столе ярлыка для D:\USR\apache\bin\ApacheMonitor.exe и помещение его на загрузку в автоматическом режиме. Окно автозагрузки вызывается так: в WIN8 нажмите WIN+R, затем введите shell:Startup и нажмите Ok.
  • Запуск Apache Monitor. Ярлык должен высветиться в системном трее. Левой кнопкой мышки кликаем на него и дальше нужно выбрать Apache24 -> Start.
  • Перейдите на http://localhost/ в браузере. Здесь должна высвечиваться надпись It works! Если ее нет, значит, что-то было введено некорректно. Чтобы определить и исправить ошибку нужно почитать логи, погуглить и т.д.

Процесс установки PHP 5.6

  • Для установки PHP 5.6 загрузите VC11 x86 Thread Safe или VC11 x64 Thread Safe последней версии, перейдя на http://windows.php.net/download/. Здесь необходимы именно VC11 и Thread Safe. Уточните, что разрядность идентична той, которая у Apache. Нужный файл, вероятно, будет иметь название, подобное такому: php-5.6.11-Win32-VC11-x86.zip или php-5.6.11-Win32-VC11-x64.zip
  • Дальше вам нужно извлечь содержимое архива в D:\USR\php. Инсталляция не потребуется.
  • В файле D:\USR\apache\conf\httpd.conf пишем:
  • Значение DirectoryIndex необходимо поменять на index.html index.php в строке 276.
  • Дальше выполняем команду Apache24-> Restart в Apache Monitor, чтобы выполнить перезапуск Apache.
  • В браузере набираем http://localhost/index.php, переходим и смотрим, чтобы PHP заработал.
  • Копируем файл D:\USR\php\php.ini-development, который называется D:\USR\php\php.ini
  • Зайдите в поиск, чтобы найти, раскомментировать, а затем сменить параметры так:
  • Задаем в командной строке php-m и смотрим список модулей, которые были подключены.
  • Через Apache Monitor делаем перезапуск Apache.

Виртуальные хосты в Apache

  • В ситуации, когда на одном ПК откладывается несколько проектов, возникает необходимость в виртуальных хостах. Для примера используем два: s1.localhost и s2.localhost. Чтобы не запутаться, заводим папки с идентичными именами, однако в реале это не является обязательным.
  • Помните, что при использовании виртуального хоста параметр DocumentRoot конфигурационного файла Apache становится бессмысленным. Сейчас основной хост сервера, который размещен на http://localhost/ , будет являться главным виртуальным хостом в конфигурационном файле.
  • Сначала добавляем такие строки в файл c:\Windows\System32\drivers\etc\hosts: (опять же, от имени админа)
    127.0.0.1 s1.localhost
    127.0.0.1 s2.localhost
  • На данном этапе, после проделанной работы, не помешает перезагрузка. Если отсутствие прав доступа не позволяет изменить файл, вы можете сделать его копию на рабочем столе и поменять там, после чего верните его обратно.
  • Дальше нужно сделать папки для виртуальных хостов D:\USR\www\s1.localhost и D:\USR\www\s2.localhost, где и будут размещены файлы. Во всех папках нужно создать файлы с index.html, которые будут содержать S1 и S2. Это позволит контролировать исправность работы.
  • Далее нужно сделать отдельные папки для логов: D:\USR\log\s1.localhost и D:\USR\log\s2.localhost - в них будут находиться логи всех сайтов. Логи удобнее хранить в отдельных папках, но можно и в одной общей.
  • В файле D:\USR\apache\conf\httpd.conf раскомментируйте строчку Include conf/extra/httpd-vhosts.conf, чтобы запустить поддержку виртуальных хостов.
  • После этого выполняем редактирование в d:\USR\apache\conf\extra\httpd-vhosts.conf. Каждый виртуальный хост имеет отдельный блок VirtualHost:
  • С этого момента первый виртуальный хост s1.localhost станет главным хостом системы, потому что его блок - первый в конфигурационном файле и доступен, когда вы попадаете на http://localhost/
  • Через Apache Monitor делаем перезапуск Apache и заходим вначале на http://s1.localhost/, а потом на http://s2.localhost/.

Подведем итоги.

Чтобы добавить новый виртуальный хост нужно только завести отдельную папку для его файлов в D:\USR\www, для логов - в D:\USR\log, в файле hosts обозначить его название и добавить блок VirtualHost в файл конфигурации виртуальных хостов.