Как сделать сервер php

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

Этот web-сервер был разработан для помощи в разработке. Он также может быть полезным в тестовых целях или для демонстрации приложения, запускаемого в полностью контролируемом окружении. Он не выполняет функции полноценного web-сервера и не должен использоваться во общедоступных сетях.

Если запрос блокирующий, то PHP приложения будут приостановлены.

URI запросы обслуживаются из текущей директории, в которой был запущен PHP, если не используется опция -t для явного указания корневого документа. Если URI запроса не указывает на определенный файл, то будет возвращен либо index.php либо index.html в указанной директории. Если оба файла отсутствуют, то возвращается 404 код ответа.

Стандартные MIME-типы возвращаются для файлов со следующими расширениями: .3gp, .apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .jpg, .gz, .gzip, .htm, .html, .ics, .jpe, .jpg, .jpg, .js, .kml, .kmz, .m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg, .ogv, .pdf, .pdf, .jpg, .pps, .pptx, .qt, .svg, .swf, .tar, .text, .tif, .txt, .wav, .webm, .wmv, .xls, .xlsx, .xml, .xsl, .xsd, и .zip.

Этичный хакинг и тестирование на проникновение, информационная безопасность

Оглавление

Если вас интересует установка Apache, PHP, MySQL и phpMyAdmin в Windows, то смотрите эту инструкцию.

Веб-сервер на компьютере

Веб-сервер на своём компьютере это очень удобный способ работы с веб-приложениями в любых целях:

  • тестирование новых CMS и других программ
  • написание и отладка PHP скриптов
  • организация своего собственного рабочего окружения (разные полезные программы запущенные на веб-сервере — органайзеры, агрегаторы)
  • организация ресурсов локальной сети (файловые обменники, чаты, потоковое видео и другие сервисы для всех устройств в квартире)
  • создание лаборатории (обучение тестированию на проникновение со специальными уязвимыми веб-приложениями)

Из чего состоит веб-сервер

В большинстве случаев сервер включает в себя четыре основные компонента:

  • Apache — это сам веб-сервер, который обрабатывает пришедшие от пользователей запросы и показывает страницы сайтов. Без дополнительных модулей Apache преимущественно предназначен для показа статичных страниц, в которых не происходит изменений на стороне сервера
  • PHP — это среда для работы PHP скриптов. PHP скрипты позволяют делать очень функциональные веб-сайты, динамичные веб-приложения, сохранять данные в базу данных и запрашивать данные оттуда
  • MariaDB — это система управления базами данных. Чтобы было проще понять — это и есть база данных, в которой хранится вся информация. До недавнего времени самой, пожалуй, популярной СУБД была MySQL. Что касается MariaDB, то она основана на MySQL, но с некоторыми доработками. Если вам интересно, в чём отличие, то смотрите подробности здесь. Если для приложения в требованиях стоит MySQL, то MariaDB также подойдёт, так как они совместимы друг с другом
  • phpMyAdmin — это пример веб-приложения, которое работает на PHP. С помощью phpMyAdmin можно просматривать базы данных, создавать новые базы данных и таблицы, наполнять их и удалять, делать резервные копии баз данных и восстанавливать из бэкапов. phpMyAdmin очень популярно, поэтому многие считают его частью веб-сервера

Установку сервера я покажу на примере Windows 10.

Установите скаченный vc_redist — к нему больше не будет возвращаться.


Установка веб-сервера в Windows

Создадим структуру каталогов нашего сервера. Главная идея – разделить исполнимые файлы от файлов данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.

В корне диска C:\ создайте каталог Server. В этом каталоге создайте два подкаталога: bin (для исполнимых файлов) и data.

Перейдите в каталог C:\Server\data\ и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).

В папке C:\Server\data\DB\ создайте подпапку data.

Карта важных папок, которые упоминаются в данной инструкции:

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

Для установки правильной корневой папки сервера строку

Для начала рекомендую включить только mod_rewrite (по ссылке целый учебник по этому расширению!), для этого строку

Найдите идущие подряд строки

и замените их на

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

Чуть ниже найдите строки (комментарии приведены для ориентировки):

И замените на (меняется только последняя строка):

Этой настройкой мы включили поддержку файла .htaccess. Он нужен для работы mod_rewrite и других возможностей. С помощью файла .htaccess можно запрещать доступ к конкретной папке и менять некоторые настройки сервера на уровне папок.

Сохраните файл конфигурации.

Теперь откройте командную строку Windows, для этого нажмите клавиши Win+x и выберите там Windows PowerShell (администратор):


В открывшееся окно скопируйте команды для установки и запуска Apache (после введения каждой команды нажмите ENTER):



Веб-сервер работает, но в папке с документами нет ни одного файла.

Добавьте в папку C:\Server\data\htdocs\ HTML файлы, например файл hello.htm со следующим содержимым:




Установка MariaDB в Windows

Далее мы настроим и запустим MariaDB. Начните с того, что содержимое архива mariadb-xx.x.x-winx64.zip распакуйте в папку C:\Server\bin\. Новую папку переименуйте в mariadb. Получится, что MariaDB размещена на диске в папке C:\Server\bin\mariadb\.

В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:

Сохраните и закройте этот файл.

Для установки и запуска службы выполните команды:

Установка PHP в Windows

Для установки и подключения PHP к Apache в Windows, в папке c:\Server\bin\ создайте подпапку PHP и скопируйте в неё содержимое архива php-x.x.xx-Win32-VC15-x64.zip.

В каталоге C:\Server\bin\PHP\ найдите файл php.ini-development и переименуйте его в php.ini, затем откройте его текстовым редактором.

В этом файле найдите строку

и замените её на:

Теперь найдите строки, которые начинаются на ;extension=:

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

Также раскомментируйте строки (кроме одной):

Сохраните и закройте этот файл.

Сохраните и закройте файл.

После этого в командной строке перезапустите Apache:

Для проверки, что PHP работает в Windows, в каталоге c:\Server\data\htdocs\ создадим файл с названием i.php

В этот файл скопируйте:


Установка phpMyAdmin в Windows

В каталог c:\Server\data\htdocs\ скопируйте содержимое архива phpMyAdmin-x.x.x-all-languages.zip. Переименуйте полученную папку в phpMyAdmin, получится, что phpMyAdmin у нас размещён в каталоге C:\Server\data\htdocs\phpMyAdmin\.

В этой папке создайте текстовым редактором файл config.inc.php и скопируйте в этот файл:

Сохраните и закройте этот файл.



Там будет написано:

Как обезопасить веб-сервер на Windows

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

Запрет доступа из вне к MariaDB/MySQL

Стандартный веб-сервер, в том числе тот, который мы только что установили, имеет две сетевые службы:

Так вот, для MariaDB мы в файле настройки прописали:

Это означает, что она прослушивает только IP адрес 127.0.0.1, который относится к Loopback. Это, в свою очередь, означает, что никто из вне (вне компьютера, на котором работает веб-сервер), не сможет подключиться к MariaDB/MySQL. При этом сайты и другие приложения будут работать с базами данных как ни в чём не бывало — они как раз и используют такие соединения к адресу 127.0.0.1.

То есть MariaDB уже защищена.

Запрет доступа из вне к Apache

Что касается веб-сервера, то здесь настройка зависит от ваших нужд — для чего именно нужен сервер?

И замените его на

Чтобы изменения вступили в силу, перезапустите сервер:

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

  • Также есть второй способ, более простой чем первый:

В папке C:\Server\data\htdocs\ (это наша корневая папка веб-документов), создайте файл .htaccess, и в него впишите:


Вы можете отредактировать приведённую выше строку под ваши нужды, например, можно убрать диапазоны 10.0.0.0/8 и 172.16.0.0/12, если они не используются в вашей локальной сети. IP адреса из 10.0.0.0/8 могут использоваться Интернет-провайдером для NAT, а 172.16.0.0/12 могут использоваться для локальных сетей на уровне города (такие есть/были у некоторых провайдеров). Следовательно, если вы оставите диапазоны 10.0.0.0/8 и 172.16.0.0/12, то при стечении ряда обстоятельств (кабель Интернет-провайдера напрямую подключён к компьютеру без роутера, а Интернет-провайдер использует диапазоны 10.0.0.0/8 и 172.16.0.0/12) пользователи этих локальных сетей смогут подключиться к вашему серверу при этих настройках.

Поэтому также попробуйте

Если всё работает и проблем нет, то остановитесь именно на втором варианте.

Установка пароля на MariaDB/MySQL

По умолчанию у пользователя root пустой пароль. Поскольку мы отключили доступ к серверу MariaDB/MySQL из вне, то это не так опасно. Тем не менее, остаётся угроза, что злоумышленник найдёт уязвимость в веб-приложении и сможет выполнить подключение через него. Поэтому при желании для дополнительного усиления сервера можно установить пароль для пользователя root в MariaDB/MySQL.

Для этого откройте командную строку, в неё введите:

Замените новый_пароль на ваш пароль.

Заключение

В этой инструкции мы научились устанавливать и настраивать веб-сервер на Windows, ознакомились с основными принципами его работы. Также мы узнали что нужно сделать, чтобы сделать веб-сервер более безопасным для основной системы.

Связанные статьи:

факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!


Рекомендуется Вам:

15 комментариев to Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows. Настройка безопасности локального веб-сервера

Здравствуйте, Алексей. Простите за оффтоп, пишу в самую свежую на данный момент Вашу статью.

История такая… Решил я установить кали линукс на флешку по инструкции с вашего сайта, но сдуру делал все не на ВМ, а на своем реальном компе. Как итог - ничерта не работает, а к тому же виндовс чудом загрузившийся с одного из двух дисков не распознает второй HDD от слова совсем. В биосе диск тоже не видно. Спасите. Я вас очень прошу, времени мало. Напишите мне на емейл или прямо здесь, если не обидитесь за грязь в комментариях к другой теме .простите, пожалуйста, но очень нужна ваша помощь! Как быть теперь?


Alexey :

Странно, что БИОС не видит диск - может диск просто умер от старости? Даже если предположить, что вы отформатировали его в ext4, а затем установили на него ОС, то БИОС должен видеть этот диск. Попробуйте пошевилить штекеры, подключить диск к другому проводу.

Если компьютер увидит диск и если вы действительно установили на него ОС, то можно попытаться спасти некоторые файлв с помощью PhotoRec и TestDisk.

наверное дурацкий вопрос… а как создать файл .htaccess винда не хочет записывать файл начинающийся с точки, считает что это расширение, а имя пустое


Alexey :

Проблема в том, что стандартный проводник добавляет к такому файлу расширение .txt. Самый простой способ — использовать что угодно, кроме стандартного проводника. Например, я делал в Double Commander (бесплатный двухпанельный файловый менеджер, полный аналог платного Total Commander'а).

Народ, у меня такой вопрос. А можно папку Server не на диске С, а на диске E или другом диске создать?


Alexey :

Никаких ограничений, где будет эта папка, нет. Самое главное — чтобы этот диск был доступен (например, если вы выбрали в качестве папки для сайтов USB флешку или сетевой диск) при запуске веб-сервера, иначе сервер не запустится из-за ошибки.

Главное — правильно прописать конфигурационные файлы под новые пути — это вызывает ошибки у многих, хотя достаточно правильно настроить всего две директивы:

Смотрите как они настраиваются в этой статье и делайте по аналогии.

К моменту запуска папка с сайтами должна быть создана — иначе веб-сервер не запустится из-за ошибки.

Добрый день! на этом шаге появляется системная ошибка 1067. Не понимаю, где моя ошибка?

Для установки и запуска службы выполните команды:

net start mysql


Alexey :

Приветствую! Приведите содержимое файла C:\Server\data\DB\data\*.err (файл находоится в папке C:\Server\data\DB\data\, имя его зависит от имени компьютера, имеет файловое расширение .err).

У меня также не стартует mariadb, со словами "Не удалось запустить службу "MySQL". Системная ошибка. Системная ошибка 1067. Процесс был неожиданно завершен."

В логе написано:


Alexey :

99.99% что вы не сделали это:

Переместите папку C:\Server\bin\mariadb\data\ в папку C:\Server\data\DB\.

Или сделали это как-то неправильно…

Суть ошибки — просто нет таблицы, которая обязательно нужна для работы. Но эта таблица точно есть — если не забыть сделать перенос, как написано выше.

Большое спасибо! Дело было именно в этом. Вот что значит невнимательность. Привык к MYSQL.

localhost запускается , но файлы внутри htdocs не видит? в чем дело?


Alexey :

Расширение mysqli не найденою.Пожалуйста, проверьте ваши настройки PHP. Смотрите our documentation для дополнительной информации.

Настройка веб-сервера для локального веб-сайта в Ubuntu является не простой задачей, но как это делать должен знать любой профессиональный веб-разработчик.

LAMP – что это

LAMP – это сочетание технологий Linux, Apache, MySQL, PHP, которые используются программистами для запуска интернет ресурсов, как личной разработки, так и проектов, функционирующих на известных CMS.

Как установить APACHE

Apache представляет собой веб-сервер с открытым исходным кодом . Его функционирование может быть описано следующим образом: На любой из поступающих запросов, данный сервер выдает ответ соответствующий запросу.


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

Установка Apache производится посредством команды через терминал:

sudo apt-get install apache2

Если вы совсем новичок в Linux/Ubuntu, вы можете пройти курс Linux/GIT и вы получите базовые знания по командам Linux, а также научитесь работать с контролем версий кода GIT и сервисом BitBucket.

По завершению установки, следует проверить правильность функционирования веб-сервера. Сделать это можно при помощи введения ip адреса сервера в любом из существующих браузеров. В случае, если пользователь производил установку Apache локально, к примеру, на домашний ПК, ему следует ввести в браузере следующие цифры: 127.0.0.1. После этого должна будет отобразиться страница приветствия Apache.


Как установить PHP

Пользователь, который хочет, установить PHP на свой сервер, должен ввести следующую команду:

sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql

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

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

Кстати, если вы плохо знакомы с языком программирования PHP, посмотрите эти уроки PHP для начинающих с нуля - это самые основы PHP программирования.

Как установить MYSQL

MySQL представляет собой базу данных, предусмотренную для хранения информации веб-ресурса. SQL является языком запросов, которые производятся непосредственно к БД MySQL.

Чтобы произвести установку MySQL пользователю необходимо ввести следующую команду:

sudo apt-get install mysql-server mysql-client

В ходе установки БД нужно будет придумать логин и ввести пароль, для локального пользователя можно задать логин root в БД MySQL. После, потребуется повторное введение данного пароля, поэтому придуманный пароль лучше записать на листок бумаги или в блокнот.


Чтобы пользователю было комфортней работать с БД MySQL следует произвести установку графического веб-клиента - PhpMyAdmin. Для этого вводят следующую команду:

sudo apt-get install phpmyadmin

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


По завершению установки и отладки phpmyadmin следует произвести проверку функциональности. Сделать это можно при помощи введения ip адреса веб-сервера, но при этом необходимо и в конце дописать phpmyadmin через слеш.

Если вы все сделали правильно, вы должны увидеть страницу авторизации phpmyadmin:


Заполните форму авторизации и введите логин и пароль, которые вы задавали на предыдущем этапе.

Кстати, если вы хотите научиться работать с базой данных MySQL (MariaDB), составлять SQL-запросы - посмотрите уроки MySQL для начинающих в курсе программирования PHP/MySQL.

Как настроить конфиг APACHE

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

На первом этапе отладки конфига пользователь должен создать каталог для своего интернет проекта на сервере. Сделать это можно перейдя в основной каталог apache:

Затем, создайте каталог для вашего сайта командой:

sudo mkdir superdomain

Чтобы пользователь мог корректировать каталог, следует поменять имя владельца каталога с пользователя root на свое имя пользователя или, предпочтительно, на имя пользователя для apache.

Выполнить это можно посредством введения в терминале следующих команд:

Затем введите команду:

sudo chown -R user:user superdomain

Теперь перейдите в ваш каталог superdomain:

После ввода команды выше, вы откроете текстовый редактор nano. Давайте напишем простой PHP-скрипт:

Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, после этого нажмите на клавишу enter.

Далее рассмотрим, как отладить конфиг apache2. Произвести настройку можно посредством введения команды:

и вставить текст следующего содержания:

На следующем этапе пользователю необходимо выполнить нажатие сочетание клавиш ctr+x и букву y, а после нажать enter.

После этого следует перейти в каталог apache, посредством введения следующей команды:

и ввести еще одну команду:

В случае правильного введения команд на экране отобразится следующее:

Чтобы запустить новый конфиг apache на веб-ресурсе необходимо ввести команду:

service apache2 reload

Свидетельством правильного запуска команды станет полное отсутствие ошибок.

На последнем этапе запуска веб-ресурса на своем локальном домене пользователю необходимо в документе hosts ввести ip-адрес сервера и указать имя своего локального домена:

Сам файл hosts в Linux находится в

в Windows вы его сможете найти по такому адресу:

В результате на экране должно будет отобразиться результат выполнения файла index.php.

Выводы

Умение устанавливать и настраивать веб-сервер для сайта вам очень пригодится как в операционной системе Ubuntu, так и в Windows.

О том как устанавливать и настраивать локальный сервер для сайта всего несколькими кликами мыши в Windows 10, вы можете посмотреть видеоуроки PHP в курсе PHP/MySQL.

Как сделать домашний хостинг за 15 минут с нуля. Установка и настройка локального сервера. Apache + PHP + MySql + windows 7-2008r2

Как сделать домашний хостинг за 15 минут с нуля. Установка и настройка локального сервера. Apache + PHP + MySql + windows 7-2008r2

Всем привет сегодня расскажу как сделать домашний хостинг за 15 минут с нуля. Установка и настройка локального сервера. Apache + PHP + MySql + windows 7/Windows server 2008r2.

Список программ.

Все программы бесплатны и скачаны с официальных сайтов:

Не скачивайте сверхновые программы с пометкой Альфа (Alpha), Бета (Beta) и т.д. - это не стабильные версии которые могут содержать ошибки. Скачивайте только стабильные (Stable) версии.

программы для работы с базой данных MySql:

Принцип работы сервера:

Сервер - это компьютер на котором лежат файлы сайта. На нем запущена и постоянно работает специальная программа Apache. Если через браузер обратиться к этому серверу (послать запрос на 80 порт), Apache выдаст обратно HTML и графические файлы лежащие на сервере. Браузер получив обратно эту информацию сформирует из них на экране привычную нам страницу сайта.
Это принцип.

Для надежности и большей совместимости реальные сервера у хостинговых компаний обычно делают на связках Unix + Apache (самая распространенная в мире связка) или на Windows Server 200X + Internet Information Server (IIS). Для экспериментов и тестирования сайтов вполне подойдет Windows 7, Vista или XP + Apache.

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

Настроить видимость в интернете, т.е. сделать свой реальный хостинг можно, но опасно, ибо велик шанс, что будет много "дыр" для взлома.
* посчитайте сколько стоит за год выделенный IP адрес
* посчитайте сколько стоит за год электричество для постоянно работающего компьютера
* посчитайте стоимость замены выходящего из строя железа (год в включеном состоянии не каждая железка выдержит)
* уверены, что интернет у Вас никогда не пропадает и скорости отдачи хватит для всех посетителей?
* как будете делать резервные копии сервера, где хранить? При сбое или взломе как быстро Вы сможете все восстановить?
Ответив на вопросы выше подумайте, может надежнее, проще и дешевле купить хостинг и не мучиться.

1) Cоздаем папки

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

Общая папка для всех виртуальных сайтов:
c:/work/
Название может быть любое, не обязательно work.
Место положение любое, не обязательно диск c:

папка
c:/work/_/sendmail/
не обязательна. Нужна для работы "заглушки" отправки e-mail.

2) Устанавливаем Apache

Apache - это программа, которая принимает запросы от браузера (Internet Explorer, FireFox, Opera . ) и выдает ему обратно HTML, картинки, результаты работы скриптов и т.д. (выдает страницы сайта). Запущена она один раз и работает постоянно. Значок запущенной программы будет внизу, справа экрана.

----------
Чтобы Apache принимал запросы только с локального компьютера, указываем его неизменный IP адрес и порт: 127.0.0.1:80
Т.е. скачать или запустить что-то на вашем хостинге можете только Вы.

Заменяем
Listen 80
на
Listen 127.0.0.1:80

----------
Для того, что бы можно было использовать файлы .htaccess
После кода:

Изменяем
AllowOverride None
на
AllowOverride All

----------
При указании в адресной строке браузера папки на сервере, сервер автоматически будет искать и запускать указанные здесь файлы

Заменяем
DirectoryIndex index.html
на
DirectoryIndex index.html index.htm index.php

----------
Указываем путь файла ошибок в удобное нам место:
ErrorLog "c:/work/_/apache_error.log"

----------
Даем доступ к папке "work" и создаем настройки.
После кода:


AllowOverride None
Options None
Order allow,deny
Allow from all


AllowOverride All
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all

Indexes - возвращает клиенту листинг каталога, если в нем нет индексных файлов
FollowSymLinks - Позволяет использовать символические ссылки (нужно для работы mod_rewrite)
Includes - Разрешает выполнение SSI директив в файлах

----------
Указываем расширения файлов для SSI
После кода :

AddType text/html .shtml .html. .htm
AddOutputFilter INCLUDES .shtml .html .htm

Даем понять Apache, что:
Есть виртуальный хост, т.е. сайт.
Его файлы лежат здесь "DocumentRoot"
Показывать именно этот сайт если запрашивают домен "ServerName" или "ServerAlias"
Логи писать сюда "ErrorLog" и сюда "CustomLog"

Для этого удаляем старые записи

.

и добавляем новые:


DocumentRoot c:/work/bebebe/www
ServerName bebebe
ErrorLog c:/work/bebebe/error.log
CustomLog c:/work/bebebe/access.log common

3) Устанавливаем PHP

PHP - это популярный язык программирования применяемый для создания сайтов.

В установке выбираем все модули, кроме этих:
Oracle (10)
PDO - Oracle10g
PDO - Oracle8i\Oracle9i
PDO - SQLite (External Driver)
Pspell
Sybase
т.к. для них нет файлов-билиотек (.dll) и это приведет к ошибке.

Настройки PHP в файле:
C:\Program Files (x86)\PHP\php.ini

позволит выполнять код PHP в контейнере
по умолчанию кодом PHP считается все в контейнере
short_open_tag = On

максимальное время выполнения программы в секундах
(на реальных хостингах обычно 30)
max_execution_time = 3600

максимальное время получения данных (например загрузки файла) в секундах
(на реальных хостингах обычно 60)
max_input_time = 3600

максимальный объем памяти который может занять Ваш PHP скрипт
(на реальных хостингах обычно 32М)
memory_limit = 256M

выводить на экран ошибки PHP
(на реальных хостингах всегда OFF в целях безопасности)
display_errors = On

выводить на экран ошибки в момент запуска PHP
display_startup_errors = On

если надо подкрасить все ошибки красным разкомментируем эти строки:
error_prepend_string
error_append_string

максимальный объем, который можно передать PHP скрипту методом POST
(на реальных хостингах обычно 4М)
post_max_size = 1000M

максимальный объем файла, который можно передать PHP скрипту
(на реальных хостингах обычно 2М)
upload_max_filesize = 1000M

Заменяем пути папок для временных файлов, сессий и файла ошибок:
upload_tmp_dir="C:\work\_\php_temp"
session.save_path="C:\work\_\php_session"
error_log="C:\work\_\php-errors.log"

Требуется установка времени сервера иначе PHP постоянно будет выдавать предупреждения
изменяем
;date.timezone =
например, на
date.timezone ='Europe/Moscow'

Что бы работала "заглушка" для отправки e-mail после строки
;sendmail_path =
заменяем
sendmail_path = php.exe c:\work\_\sendmail\sendmail.php
тогда при выполнении функции PHP - mail(); письмо будет сохранено в виде файла в папке
c:\work\_\sendmail\
(куда сохранять письма прописано в самом скрипте sendmail.php)

Если Apache не запустился то закоментируйте следующие библиотеки в php.ini
;extension=php_pdo_pgsql.dll
;extension=php_pgsql.dll
;extension=php_sybase_ct.dll
;extension=php_oci8_11g.dll
;extension=php_oci8.dll
;extension=php_intl.dll
_________________________________________________________________________________

4) Устанавливаем ImageMagick

ImageMagick - программа для работы с изображениями. Схожа со стандартной библиотекой PHP GD2, но более профессиональная и главное выдает картинки с лучшим качеством, что заметно не вооруженным глазом (после обработки GD2 картинки слегка мутноваты и это не лечится).

После установки самой программы, копируем в папку с модулями, модуль для ImageMagick
C:/Program Files (x86)/PHP/ext/php_imagick_dyn-Q16.dll
В конце php.ini добавляем строчку подключения модуля:
extension=php_imagick_dyn-Q16.dll
Может требовать перезагрузки компьютера (перезагрузим позже)

5) Устанавливаем MySQL

MySQL - это база данных. Т.к. далеко не всю информацию удобно хранить в файлах, наличие базы данных очень часто является необходимостью. При установке обязательно поставьте галочку Include Bin Directory in Windows PATH иначе PHP не сможет найти нужные ему файлы mysql.

Кодировки MySQL это отдельный рассказ, т.к. нюансов множество.
При установке MySQL желательно указать именно UTF-8 (инсталлятор так и рекомендует сделать). Это универсальная, многобайтовая кодировка.

Обычно возникает путаница с кодировками: ошибки при записи в базу данных, читаются иероглифы, появляются вопросики вместо букв и т.д. MySql имеет массу настроек кодировок. Важные для PHP:

character_set_client = кодировка данных отправляемых от PHP
character_set_connection = кодировка, в которую преобразуется информация пришедшая от PHP, перед выполнением запроса на сервере
character_set_results = кодировка данных отправляемых к PHP
collation_connection = кодировка в которой производится сопоставление в базе данных. Используется для сортировки и выборки.

В помощь: если база данных в UTF-8, а на сайте работаете в кодировке windows-1251, то после подключения к базе данных надо выполнить запрос:
SET NAMES cp1251
который равносилен этим трём:
SET character_set_client = cp1251
SET character_set_results = cp1251
SET character_set_connection = cp1251

Настройки MySQL лежат в файле:
c:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini

Если сам MySQL использует UTF-8 по умолчанию, то лезть в файл настроек как правило не нужно и все проблемы с кодировками можно решить с помощью MySQL менеджера (например программы HeidiSQL) и запросов SQL.

6) Настройка Windows

Что бы при наборе в браузере определенных сайтов браузер искал их не в интернете, а на локальном компьютере,
в файл:
C:\WINDOWS\system32\drivers\etc\hosts
добавляем:

Запись "127.0.0.1 localhost" нужна для того, что бы можно было подключаться к MySQL из PHP указывая не IP адрес 127.0.0.1, а зарезервированное имя "localhost". Так правильнее и "localhost" часто используется на реальных хостингах.

7) Перезапуск Apache

Для Windows Vista и Windows7:
остановить и снова запустить Apache

Для Windows XP:
сразу перезапустить Apache не получится - сначала надо обязательно перезагрузить компьютер
(перезагрузка закрепляет значения, автоматически сделанные Apache, PHP и MySQL, в переменной Windows - PATH)

______________________________________________________________________________
Настройка программы phpMyAdmin

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

Распаковываем все файлы в какую-нибудь папку на сайте, например в "c:/work/bebebe/www/pma/"
В корне переименовать файл
config.sample.inc.php
в
config.inc.php
и редактируем всего одну строчку (надо указать любой код, например "xxx"):
$cfg['blowfish_secret']='xxx';
После чего запускаем phpMyAdmin, набрав в браузере:
bebebe/pma
Вводим логин и пароль которые указывали при установке MySQL

Остальные настройки менять НЕ нужно и по умолчанию они должны содержать:
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['nopassword'] = true;

Вот так вот просто сделать домашний хостинг за 15 минут с нуля. Установка и настройка локального сервера. Apache + PHP + MySql + windows 7/2008r2. Тоже самое можно сделать с помощью Denwer.

Читайте также: