Установка и настройка Apache, PHP, MySQL и SMTP под Windows, Нужно для Психопата и Amxbans. |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Установка и настройка Apache, PHP, MySQL и SMTP под Windows, Нужно для Психопата и Amxbans. |
Читеp |
11.3.2011, 21:26
Сообщение
|
|
1. Дистрибутивы
Apache качаем >3десь< PHP качаем >3десь< MySQL качаем >3десь< SMTP качаем >3десь< 2. Установка Установка Apache Запускаете установщик: Жмете "Next": Принимаете лицензионное соглашение: Жмете "Next": В строке "Network Domain" пишите "localhost" (здесь и далее - без кавычек), в строке "Server Name" - "localhost", в строке "Administrator's Email Address" - ваш адрес электронной почты (он будет выводиться в браузер при некоторых ошибках сервера как e-mail администратора); ниже выбираете опцию "for All Users, on Port 80, as a Service - Recommended" (Apache будет запускаться как сервис): В следующем окне выбирайте тип установки - "Typical": Далее указывайте куда установить Apache; я рекомендую ставить его в "C:\Server\Apache", т. к. далее во всех разъяснениях будут использоваться пути, котрые я указал: В следующем окне нажимаете "Install": Когда установка закончится - нажимайте "Finish": В системном трее должен появиться значок монитора сервера с зеленым треугольником (Apache запущен): Установка PHP Запускаете инсталлятор: Жмете "Next": Принимаете лицензионное соглашение: Путь для установки - "C:\Server\PHP": Выбираете "Do not setup a web server": В следующем окне выбирайте для установки следующие компоненты - "Script Executable", "Extensions", "Extras": Чтобы начать установку нажимаете "Install": Все!, PHP установлен: Установка MySQL Запускаете программу инсталляции: Принимаете лицензионное соглашение: Выбираете тип установки - "Custom": Отмечаете все компоненты, указываете папку для установки - "C:\Server\MySQL": В следующем окне нажимаете "Install": Установка закончена. Далее вам будет предложено сконфигурировать MySQL. Откажитесь: Установка SMPT Распакуйте архив с программой в папку С:/Server/SMPT и запустите =) 3. Настройка Настройка Apache Файл "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:\Server\Apache", то "DocumentRoot" будет выглядеть так: "C:/Server/Apache/Apache2/htdocs"). Вы должны изменить значение "DocumentRoot" на "C:/Sites/home/localhost/www". Код DocumentRoot "C:/Sites/home/localhost/www" Строго следуйте моим инструкциям, чтобы быть уверенными, что все это у вас потом заработает. Создайте на диске "C:" папку "Sites". В ней создайте каталог "home", уже в нем - "localhost", "neebet", "mysite". В каждую из этих папок ("localhost", "neebet", "mysite") положите каталоги "www" (для хранения html документов), "cgi" (для хранения cgi-скриптов), пустые файлы access.log (журнал доступа к серверу) и error.log (журнал ошибок сервера). Т. о. структура каталогов, в которых будут храниться ваши сайты должна выглядеть так: Зачем это нужно, поймете потом, а сейчас просто сделайте как я говорю. Далее замените блок "<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:\Sites\home\localhost\cgi". При указании пути вида http://localhost/cgi/ или http://localhost/cgi-bin/, Apache будет обращаться к каталогу "C:\Sites\home\localhost\cgi": Код ScriptAlias /cgi/ "C:/Sites/home/localhost/cgi/" ScriptAlias /cgi-bin/ "C:/Sites/home/localhost/cgi/" Каталог "C:\Sites\home\localhost\cgi" также будет доступен вашим виртуальным хостам при обращении вида "http://имя_виртуального_хоста/cgi-bin/cgi-скрипт.bat". Напрмер, если вы введете в браузере http://neebet/cgi-bin/cgitest.bat, то будет выполнен код, находящийся в файле "C:\Sites\home\localhost\cgi\cgitest.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 хосты). Я объясню как настроить последние. Вы уже создали ранее папки "neebet" и "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> #neebet <VirtualHost neebet> ServerAdmin me@neebet ServerName neebet DocumentRoot "C:/Sites/home/neebet/www" ScriptAlias /cgi/ "C:/Sites/home/neebet/cgi/" ErrorLog C:/Sites/home/neebet/error.log CustomLog C:/Sites/home/neebet/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%\System32\drivers\etc". Выглядит он примерно так: Код # (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999 # # Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows. # # Этот файл содержит сопоставления IP-адресов именам узлов. # Каждый элемент должен располагаться в отдельной строке. IP-адрес должен # находиться в первом столбце, за ним должно следовать соответствующее имя. # IP-адрес и имя узла должны разделяться хотя бы одним пробелом. # # Кроме того, в некоторых строках могут быть вставлены комментарии # (такие, как эта строка), они должны следовать за именем узла и отделяться # от него символом '#'. # # Например: # # 102.54.94.97 rhino.acme.com # исходный сервер # 38.25.63.10 x.acme.com # узел клиента x 127.0.0.1 localhost 127.0.0.1 neebet 127.0.0.1 mysite Теперь, при обращении http://neebet загрузится содержимое "C:\Sites\home\neebet\www". Для вступления изменений в силу - перезапустите Apache. Настройка PHP Файл "php.ini" Конфигурационный файл PHP - "php.ini". Обнаружить его можно здесь: "%WINDOWS%\php.ini". Бэк-ап лежит в папке "PHP\BACKUP". С этим файлом стоит поступить так же, как и с "httpd.conf", т. е. удалить из него все комментарии и пояснения. Синтаксис файла: "директива = значение". Выглядеть это может по разному: Код директива = значение; пояснение директива = ;директива = значение ;директива = Знак комментария в php.ini - ";" (точка с запятой). Все, что находится в строке после ";" не воспринимается PHP. Общие настройки Так же как и в случае с "httpd.conf", вам нужно будет сделать правку файла "php.ini". Директива, разрешающая заключать PHP-код в короткие тэги: Т. е. вот в такие "<? ?>", вместо таких "<?php ?>" или "<script>". Код short_open_tag = On Вывод ошибок в браузер. Для облегчения отладки сценариев: Код 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:\Temp\uploadtemp Максимальный размер закачиваемого файла: Код upload_max_filesize = 5M Динамически загружаемые расширения Путь к папке с расширениями PHP: Код extension_dir = extensions или абсолютный: Код extension_dir = C:\Server\PHP\extensions Подключение динамических библиотек. Включайте только те, которые вам нужны. Для подключения того или иного расширения просто раскомментируйте нужную строку. Например, для подключения графической библиотеки 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 для вступления в силу сделанных изменений. Настройка 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"). Настройка SMPT Все настройки приводятся для программы 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 Пытаться начать отправку при получении Всплывающая подсказка с результатами Показывать процесс отправки в отдельном окне Вкладка "Дополнительно": Код Автоматически перезапускать после критического сбоя Настройка закончена. Сервер будет перезапущен автоматически. Русские переводы файлов php.rar ( 9,24 килобайт ) Кол-во скачиваний: 49 httpd.rar ( 13,52 килобайт ) Кол-во скачиваний: 46 Это Копипаст (Тыц) При написании статьи автор юзал: Apache 2.0.53, PHP 4.3.4, MySQL 4.1.11, SPECTral Personal SMTP Server 0.4.2
Отредактировал: Читеp, - 1.4.2011, 16:29
|
Поблагодарили 2 раз
|
|
theaqua |
11.3.2011, 22:32
Сообщение
|
|||
|
Уходи, пожалуйста.
|
|||
|
||||
STILL47DEATH |
11.3.2011, 23:25
Сообщение
|
|
Не, ну ты конечно молодец, но как-то не идёт данная статья этому форуму. Про установку вебчасти и её комплектующих можно найти инфу на более специализированных сайтах.
|
|
|
maktvist |
12.3.2011, 10:10
Сообщение
|
|
не проще ли скачать Vertrigo? там все это есть...
|
|
|
Mr.Dmitry |
12.3.2011, 14:28
Сообщение
|
|
Статью почистил, удалил весь лишний бред. Статья пусть живет, лично я не против
|
Поблагодарили 1 раз
|
|
Читеp |
15.3.2011, 18:27
Сообщение
|
|
|
|
|
cs-portal |
5.5.2011, 20:13
Сообщение
|
vertrigo/denwer/lighttpd/ и другие все фигня.
а вот за smtp отдельное спасибо. |
|
|
|
NexTTT |
8.6.2011, 23:54
Сообщение
|
|
Народ, а кто знает почему smtp допустим не шлет письма на почтовые адреса системы mail.ru?
на гмэйл все шлет на яндекс тоже вроде. ошибка вот такая E> Данные не приняты, возможно письмо содержит вирус или имеет слишком большой размер (1@gmail.com->2@inbox.ru) (1:51:59 09.06.2011) E>Ответ сервера: (DNS:10.81.3.19-->MX:mxs.mail.ru): E>421 Please try again later E> Не отправлено письмо (1@gmail.com->2@inbox.ru) (1:51:59 09.06.2011)
Отредактировал: NexTTT, - 8.6.2011, 23:58
|
|
|
zed212 |
24.12.2013, 2:19
Сообщение
|
Не друг я магу сказать что стотья не правильная, я вот с почтой мучяюсь очень долго и всё не как не мог понять почему допустим на хостингах анонимные php скрипты отправки писем работают и количество просто там анти спам банит если к примеру сильно спамишь, и вот я думал почему на хостингах к примеру hostinger.com.ua анонимные php скрипты отправки писем работают а на локалки нет, какой у них там sendmail? и всё-таки sendmail или smtp, прнятно что на любом хостинге он привязон к главарю атачю, в чём же дела не понимал я, пока на одном сайте форуме мне один человек ни на писал, то что в серваке php а также Apache если всё устанавливать ручками, то в них и идёт вся галавная боль в ini которая ведёт на прастую заглушку каторая кидает письма в жёский как бы ты не настраивал атач php результат будет ноливой правда про настройку smtp не буду говарить потому как меня инересует вопрос анонимная отправка писем с этих серваков локальных но тоже думаю и про smtp результат будит ноливой, потомучто не в одном из этих серваков нету главного демона это smtp.dll и sendmail.dll которые и дают отпрваку виндавсу на реальную почту, а форматы ini это голова обёбка которая ведёт на заглушку!!!
|
|
|
|
Justmw |
24.12.2013, 2:56
Сообщение
|
Не друг я магу сказать что стотья не правильная, я вот с почтой мучяюсь очень долго и всё не как не мог понять почему допустим на хостингах анонимные php скрипты отправки писем работают и количество просто там анти спам банит если к примеру сильно спамишь, и вот я думал почему на хостингах к примеру hostinger.com.ua анонимные php скрипты отправки писем работают а на локалки нет, какой у них там sendmail? и всё-таки sendmail или smtp, прнятно что на любом хостинге он привязон к главарю атачю, в чём же дела не понимал я, пока на одном сайте форуме мне один человек ни на писал, то что в серваке php а также Apache если всё устанавливать ручками, то в них и идёт вся галавная боль в ini которая ведёт на прастую заглушку каторая кидает письма в жёский как бы ты не настраивал атач php результат будет ноливой правда про настройку smtp не буду говарить потому как меня инересует вопрос анонимная отправка писем с этих серваков локальных но тоже думаю и про smtp результат будит ноливой, потомучто не в одном из этих серваков нету главного демона это smtp.dll и sendmail.dll которые и дают отпрваку виндавсу на реальную почту, а форматы ini это голова обёбка которая ведёт на заглушку!!! Ему очень интересно твоё мнение, почти через 3 года после создания темы, ага. |
|
|
|
BADam |
19.8.2014, 6:25
Сообщение
|
|
Пора бы обновить статью!
|
|
|
voed |
19.8.2014, 13:26
Сообщение
|
|
|
admir |
21.8.2014, 1:25
Сообщение
|
Поблагодарили 2 раз
|
|