1. Запускаете установщик
2. Принимаете лицензионное соглашение
3. В строке "Network Domain" пишите "localhost", в строке "Server Name" - "localhost", в строке "Administrator's Email Address" - ваш адрес электронной почты (он будет выводиться в браузер при некоторых ошибках сервера как e-mail администратора), ниже выбираете опцию "for All Users, on Port 80, as a Service - Recommended" (Apache будет запускаться как сервис).
4. В следующем окне выбирайте тип установки - "Typical".
5. Далее указывайте куда установить Apache. Я рекомендую ставить его в "C:ServerApache".
6. Нажимаем Install и ждем окончания установки.
Настройка:
- Файл "httpd.conf":
Основной файл конфигурации этого сервера - "httpd.conf". Лежит он в каталоге "conf" в root-директории Apache. Вот над ним вам и придеться издеваться. Скажу сразу, если вы не понимаете английского, удалите из этого файла все комментарии и пояснения, оставьте только сами директивы (и закоментированные тоже); таким образом вы сможете быстрее находить нужную директиву, не роясь среди множества непонятных вам пояснений. Синтаксис файла очень простой: "директива значение", все строки не соответствующие этому виду можно удалить.
Символ комментария в "http.conf" - "#" (решетка). Т. е. все символы, идущие в строке после "#" не воспринимаются сервером. Так вы можете добавлять собственные комментарии. Убирая этот символ перед закомментированными строками вы делаете их доступными для чтения сервером.
- Общие настройки
Вам нужно будет сделать правку файла "httpd.conf". У некоторых директив изменить значение, другие раскомментировать, третьи добавить. Далее я приведу список директив и их значений, которые должны присутствовать в файле конфигурации Apache.
- Каталог с файлами сервера (не путать с "DocumentRoot"):
ServerRoot "C:/Server/Apache/Apache2"
- Привязываем Apache к конкретному порту:
Listen 80
- Имя сервера (на работу это не влияет):
ServerName localhost:80
- Администратор сервера. Содержит ваш адрес электронной почты, который будет отображаться при некоторых ошибках сервера:
ServerAdmin your@email.name
- Вам необходимо создать папки, где будут храниться ваши сайты. По умолчанию Apache устанавливает "DocumentRoot" - "%ServerRoot%/htdocs" (т. е. если вы установили Apache в папку "C:ServerApache", то "DocumentRoot" будет выглядеть так: "C:/Server/Apache/Apache2/htdocs"). Вы должны изменить значение "DocumentRoot" на "C:/Sites/home/localhost/www":
DocumentRoot "C:/Sites/home/localhost/www"
Строго следуйте моим инструкциям, чтобы быть уверенными, что все это у вас потом заработает. Создайте на диске "C:" папку "Sites". В ней создайте каталог "home", уже в нем - "localhost", "mysite". В каждую из этих папок ("localhost", "mysite") положите каталоги "www" (для хранения html документов), "cgi" (для хранения cgi-скриптов), пустые файлы access.log (журнал доступа к серверу) и error.log (журнал ошибок сервера). Т. о. структура каталогов, в которых будут храниться ваши сайты должна выглядеть так:
Установка и настройка Apache
- Далее замените блок "<Directory "C:/Server/Apache/Apache2/htdocs">" на следующее:
<Directory "C:/Sites">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Этими директивами вы разрешите просмотр содержимого каталога в браузере при отсутствии индексных файлов, включите поддержку SSI, разрешите использовать файлы .htaccess для настройки каталогов и разрешите доступ для всех к сайту.
- Задание индексного файла для директории (этот файл сервер будет отображать при обращении к каталогу без указания имени файла):
DirectoryIndex index.php index.html index.html.var
Настройки CGI
- Задание псевдонима для каталога с cgi-скриптами "C:Siteshomelocalhostcgi". При указании пути вида http://localhost/cgi/ или http://localhost/cgi-bin/, Apache будет обращаться к каталогу "C:Siteshomelocalhostcgi":
ScriptAlias /cgi/ "C:/Sites/home/localhost/cgi/"
ScriptAlias /cgi-bin/ "C:/Sites/home/localhost/cgi/"
Каталог "C:Siteshomelocalhostcgi" также будет доступен вашим виртуальным хостам при обращении вида "http://имя_виртуального_хоста/cgi-bin/cgi-скрипт.bat". Напрмер, если вы введете в браузере http://localhost/cgi-bin/cgitest.bat, то будет выполнен код, находящийся в файле "C:Siteshomelocalhostcgicgitest.bat", который также доступен по адресу http://localhost/cgi/cgitest.bat. У виртуальных хостов есть свой каталог для cgi-скриптов, доступный по адресу "http://имя_виртуального_хоста/cgi/cgi-скрипт.bat". Каталоги "cgi" не доступны для просмотра в браузере, и при прямом обращении к ним вы получите сообщение об ошибке "403".
- Указываем Apache, что файлы с расширением "cgi", "bat", "exe" нужно воспринимать как cgi-скрипты:
AddHandler cgi-script .cgi .bat .exe
- Блок "<Directory "C:/Server/Apache/Apache2/cgi-bin">" замените на:
<Directory "C:/Sites/home/localhost/cgi">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Языковые настройки
- Остальные строки вида "AddLanguage lang .lang" можете закомментировать (если конечно вам не нужна поддержка этих языков):
AddLanguage en .en
AddLanguage ru .ru
- Устанавливаем языковой приоритет:
LanguagePriority en ru
- Настройка кодировок:
AddDefaultCharset WINDOWS-1251
AddCharset WINDOWS-1251 .cp-1251 .win-1251
Настройки PHP
- Подключение PHP:
AddType application/x-httpd-php php phtml
ScriptAlias /_php_/ "C:/Server/PHP/"
Action application/x-httpd-php "/_php_/php.exe"
Настройки SSI
Включение SSI:
AddType text/html .shtml
AddHandler server-parsed .shtml .html .htm
Теперь основные дерективы заданы. Для вступления изменений в силу - перезапустите Apache.
Виртуальные хосты
Итак, вы создали каталог "localhost" для хранения и тестирования документов вашего сайта. Но если у вас не один сайт? Можно конечно создать каталоги для других сайтов внутри "localhost" и обращаться к ним "http://localhost/site", но это не совсем удобно. Тем более, что Apache дает возможность решить эту проблему с помощью виртуальных хостов. Есть два вида виртуальных хостов: отдельные для каждого IP адреса и использующие один IP (name-based хосты). Я объясню как настроить последние.
Вы уже создали ранее папки localhost" и "mysite" в директории "home". Это и есть корни ваших виртуальных хостов. В них должны быть папки "www" и "cgi", файлы access.log и error.log. Т. е. все так же как и с каталогом "localhost". Все ваши виртуальные хосты будут использовать IP "127.0.0.1".
- Добавьте в файл "httpd.conf" следующее:
NameVirtualHost 127.0.0.1
#localhost
<VirtualHost localhost>
ServerAdmin me@localhost
ServerName localhost
DocumentRoot "C:/Sites/home/localhost/www"
ScriptAlias /cgi/ "C:/Sites/home/localhost/cgi/"
ErrorLog C:/Sites/home/localhost/error.log
CustomLog C:/Sites/home/localhost/access.log common
</VirtualHost>
#locahost
<VirtualHost localhost>
ServerAdmin me@localhost
ServerName localhost
DocumentRoot "C:/Sites/home/localhost/www"
ScriptAlias /cgi/ "C:/Sites/home/localhost/cgi/"
ErrorLog C:/Sites/home/localhost/error.log
CustomLog C:/Sites/home/localhost/access.log common
</VirtualHost>
#mysite
<VirtualHost mysite>
ServerAdmin me@mysite
ServerName mysite
DocumentRoot "C:/Sites/home/mysite/www"
ScriptAlias /cgi/ "C:/Sites/home/mysite/cgi/"
ErrorLog C:/Sites/home/mysite/error.log
CustomLog C:/Sites/home/mysite/access.log common
</VirtualHost>
Можно добавить в блоки "<VirtualHost>" и другие параметры, однако лучше управлять виртуальными хостами с помощью .htaccess. Также стоит отметить, что все параметры, не указанные в блоках "<VirtualHost>" или в .htaccess, наследуются от главного хоста (т. е. от "localhost").
Вы настроили Apache для работы с виртуальными хостами. Имена, естесственно, можно изменить, но при этом будте внимательны с путями!
- Теперь определимся с тем, как Windows узнает о существовании виртуальных хостов? Для этого придется отредактировать файл "hosts" (не путать с файлом "hosts.sam"), хранящийся в папке "%WINDOWS%System32driversetc". Выглядеть он должен примерно так:
127.0.0.1 localhost
127.0.0.1 la2base
127.0.0.1 mysite
Теперь, при обращении -- загрузится содержимое "C://Sites//home//localhost//www".
Для вступления изменений в силу - перезапустите Apache.
Скачать Apache
Установка и настройка PHP
Установка PHP
1. Запускаете инсталлятор
2. Принимаете лицензионное соглашение
3. В следующем окне выбирайте директорию установки, мы выбирим C:ServerPHP
4. Выбираем наш apache2
5. Затем, указываем директорию конфигурации нашего веб сервера
6. Следующее окно - выбираете нужные вам модули
7. Чтобы начать установку нажимаете "Install"
Теперь самое важное. После завершения установки - распаковываете архив (тот, который вы скачивали вместе с инсталлятором) с расширениями в папку с установленным PHP. На вопрос о замене файлов, ответьте "Заменить все". Теперь у вас установлена полная версия PHP.
Настройка PHP
- Файл "php.ini"
Конфигурационный файл PHP - "php.ini". Обнаружить его можно здесь: "%WINDOWS%php.ini". Бэк-ап лежит в папке "PHPBACKUP". С этим файлом стоит поступить так же, как и с "httpd.conf", т. е. удалить из него все комментарии и пояснения. Синтаксис файла: "директива = значение".
Знак комментария в php.ini - ";" (точка с запятой). Все, что находится в строке после ";" не воспринимается PHP.
- Общие настройки
Так же как и в случае с "httpd.conf", вам нужно будет сделать правку файла "php.ini".
- Директива, разрешающая заключать PHP-код в короткие тэги:
short_open_tag = On
Т. е. вот в такие "<? ?>", вместо таких "<?php ?>" или "<script>".
- Вывод ошибок в браузер. Для облегчения отладки сценариев:
display_errors = On
- Показывать все ошибки, кроме замечаний:
error_reporting = E_ALL & ~E_NOTICE
- Запись ошибок в файл журнала. Для локального тестирования лучше отключить:
log_errors = Off
- Порядок, в котором PHP будет регистрировать перменные (E - встроенные переменные, G - GET переменные, P - POST переменные, C - Cookies, S - сессии). Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными. Задайте следующий порядок:
variables_order = "EGPCS"
- Возможность обращения к переменным, поступающим через GET/POST/Cookie/сессии, как к обычным переменным (например, "$переменная"). Не рекомендуется включать эту опцию, но включайте, иначе вы сможете обращаться к этим переменным только через суперглобальные массивы (например, "$_POST['переменная']):
register_globals = On
- Отключение автоматической обработки кавычек, поступающих через POST/GET/Cookie:
magic_quotes_gpc = Off
Загрузка файлов
- Разрешает загрузку файлов:
file_uploads = On
- Каталог для временных закачанных файлов (не забудте создать этот каталог!):
upload_tmp_dir = C:Tempuploadtemp
- Максимальный размер закачиваемого файла:
upload_max_filesize = 5M
Динамически загружаемые расширения
- Путь к папке с расширениями PHP:
extension_dir = extensions
- или абсолютный:
extension_dir = C:ServerPHPextensions
- Подключение динамических библиотек. Включайте только те, которые вам нужны. Для подключения того или иного расширения просто раскомментируйте нужную строку. Например, для подключения графической библиотеки GD, раскомментируйте следующую строку:
extension=php_gd2.dll
Настройка SMTP-сервера
- Используемый SMTP-сервер:
SMTP = localhost
- Порт:
smtp_port = 25
- Адрес, который будет указываться в поле "From" в элетронных письмах:
sendmail_from = your@email.name
Настройка MySQL
- В каких-то версиях PHP, поддержка MySQL встроена в ядро, и следовательно, никаких дополнительных расширений для работы с этой БД подключать не надо, а в каких-то нет. Так что, если в архиве с расширениями, который вы скачали, нет библиотеки "php_mysql.dll", то ваша версия PHP поддерживает MySQL, если же эта библиотека присутствует, то вам нужно ее подключить:
extension=php_mysql.dll
- Указание порта:
mysql.default_port = 3306
- и хоста MySQL по умолчанию:
mysql.default_host = localhost
Настройка сессий
- Хранить данные сессий в файлах:
session.save_handler = files
- Папка для хранения файлов сессий (не забудте создать этот каталог!):
session.save_path = C:/Temp/session
- Использовать cookie в сессиях:
session.use_cookies = 1
- Исользовать в качестве имени сессии и сессионной cookie ID сессии:
session.name = PHPSESSID
- Запрет на инициализацию сессии при начале соединения:
session.auto_start = 0
- Время жизни сессионных cookie ("0" - до закрытия окна браузера):
session.cookie_lifetime = 0
- ID сессии будут добавляться ко всем ссылкам на странице автоматически (если у пользователя отключены cookie):
session.use_trans_sid = 1
Настройка PHP завершена. Перезапустите Apache для вступления в силу сделанных изменений.
Скачать PHP
Установка MySQL
1. Запускаете программу инсталляции
2. Выбираете тип установки - "Custom"
3. Отмечаете все компоненты, указываете папку для установки - "C:ServerMySQL"
4. В следующем окне нажимаете "Install"
5. После установки отмечаете опцию "Skip Sign-Up"
6. Установка закончена. Далее вам будет предложено сконфигурировать MySQL.
Настройка MySQL
Настроить MySQL вы можете сразу же после установки, отметив опцию "Configure the MySQL server now". Откроется окно мастера конфигурации.
- По порядку отмечаете опции:
Detailed Configuration
Developer Machine
Multifunctional Database
Decision Support (DSS)/OLAP
Enable TCP/IP Networking
Port Number: 3306
Manual Selected Default Character Set / Collation: cp1251
Install As Windows Service
Launch the MySQL Server automatically
Modify Security Settings
- Вводите и подтверждаете root-пароль.
Настройка MySQL сервера закончена.
В дальнейшем вы можете изменить настройки либо воспользовавшись ярлыком "MySQL Server Instance Config Wizard" в меню "Пуск", либо с помощью правки файла my.ini из каталога MySQL, либо запустив "MySQL Server Instance Config Wizard" из подкаталога "bin" (файл "MySQLInstanceConfig.exe").
Скачать MySQL
Установка и настройка SMTP
Установка
Установка программы SPECTral Personal SMTP Server очень проста. Запустите установщик и следуйте инструкциям.
Настройка
Все настройки приводятся для программы SPECTral Personal SMTP Server, версии 0.4.2. Конфиг-файл лежит в каталоге с программой и называется "spsmtp.ini". Этот файл гораздо меньше "httpd.conf" и "php.ini", и содержит только сами директивы, управляющие работой сервера, без каких либо комментариев и пояснений.
Но я объясню как настраивать SPECTral Personal SMTP Server через стандартный графический интерфейс.
- Откройте меню настроек через главное окно программы, или нажав "Ctrl+Alt+O".
- Вкладка "Запуск и интерфейс", отметьте все пункты из этого списка, остальное отключите (далее поступайте так же):
Запускать вместе с Windows
Только для меня
Запускать свернутым
Сворачивать программу при щелчке на "X"
Язык интерфейса: Russian
- Вкладка "Отчеты":
Очищать отчет после (строк): 100
- Вкладка "Сервер":
Порт сервера: 25
Ограничить размер письма (МБайт): 5
Отключить аутентификацию (НЕ РЕКОМЕНДУЕТСЯ!)
- На вкладке "Сервер/Фильтр подключений":
Принимать только разрешенные подключения
Разрешенные: 127.0.0.1
- Вкладка "Отправка":
Сохранять успешно отправленные
Использовать A-доставку при неуспешной MX
Пытаться начать отправку при получении
Всплывающая подсказка с результатами
Показывать процесс отправки в отдельном окне
- Вкладка "Дополнительно":
Автоматически перезапускать после критического сбоя
Настройка закончена. Сервер будет перезапущен автоматически.