Веб-сервер XAMPP. Установка и настройка


Содержание материала:

Web-сервер на Windows 7 – обзор и установка XAMPP

Для разработки и тестирования сайтов или веб-приложений обычно используют локальный Web-сервер, а после разработки переносят уже на рабочий сервер. Поэтому сегодня я предлагаю рассмотреть возможность установки локального web-сервера на операционную систему Windows 7, и так как у нас сайт для начинающих разработчиков, мы будем использовать готовую сборку web-сервера на примере XAMPP.

И начнем мы с основ, т.е. узнаем, что же это такое сборка web-сервера, из чего она состоит, зачем она нужна, в частности разберем сборку XAMPP, установим ее и, конечно же, проверим ее работу.

Что такое сборка Web-сервера?

Сборка Web-сервера – это некий комплект приложений необходимых для функционирования сайтов, после развертывания которого, можно сразу переходить к их разработке, не отвлекаясь и не вникая в настройки каждого компонента web-сервера.

В сборку web-сервер обычно входит как минимум 3 компонента: это непосредственно сам HTTP сервер, средство разработки сайтов, т.е. библиотеки языка программирования, интерпретатор и т.д., и система управления базами данных. Для таких сборок используется бесплатное программное обеспечение, поэтому самыми распространенными компонентами являются веб сервер Apache, СУБД MySQL, языки программирования PHP и Perl.

Если говорить о том, для чего вообще нужна такая сборка, так как Вы сами понимаете, что все это в отдельности устанавливается и настраивается, то она нужна в основном для того, чтобы облегчить жизнь начинающим разработчикам, чтобы они могли просто установить одну программу и сразу начать, скажем, учиться программировать (создавать сайты). Для примера в качестве операционной системы нашего локального web сервера мы будем использовать Windows 7, так как именно ОС Windows от компании Microsoft широко используется у нас в России.

Конечно же, после того как разработка сайта или веб приложения окончена, необходимо перенести все на рабочий сервер, который скорей всего будет использовать операционную систему на базе Linux. Например, мы с Вами уже рассматривали возможность установки и настройки полноценного, рабочего web-сервера на CentOS 7.1, где мы как раз по отдельности устанавливали и настраивали каждый из компонентов web-сервера, там мы использовали Apache, PHP и MySQL. Также если кому интересна установка СУБД MySQL на Windows, то это мы подробно рассмотрели вот здесь.

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

В число самых популярных сборок web-сервера входят: Denwer, Open Server, XAMPP, WampServer. Как видно из названия статьи, сегодня мы будем рассматривать XAMPP.

Что такое XAMPP?

XAMPP — это бесплатная, кроссплатформенная сборка веб-сервера, которая включает Apache, MySQL PHP и Perl.

Как не трудно догадаться XAMPP — это аббревиатура:

  • X – означает, сборка есть под все операционные системы (Windows, Linux, OS X);
  • A – Apache;
  • M – MySQL;
  • P – PHP;
  • P – Perl.

В последнюю, на сегодняшний день (Июнь 2015), сборку XAMPP для Windows включено следующее программное обеспечение: Apache 2.4.12, MySQL 5.6.24, PHP 5.6.8, phpMyAdmin 4.3.11, OpenSSL 1.0.1, XAMPP Control Panel 3.2.1, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Server 0.9.41, Tomcat 7.0.56 (with mod_proxy_ajp as connector), Strawberry Perl 7.0.56 Portable.

Где скачать XAMPP?

Загрузить данную сборку можно со страницы загрузки официального сайта — https://www.apachefriends.org/ru/download.html

И так как мы будем устанавливать XAMPP на Windows, то соответственно и скачиваем дистрибутив под эту операционную систему, например, я хочу скачать версию XAMPP с PHP 5.6.8 для этого, и жму соответствующую ссылку.

После чего у нас загрузится дистрибутив размером 107 мегабайт.

Данная сборка поддерживает операционные системы Windows, начиная с Vista.

Установка XAMPP

Приступаем к установке сборки Web-сервера XAMPP, она простая, поэтому проблем возникнуть не должно.

Шаг 1

Запускаем скаченный файл xampp-win32-5.6.8-0-VC11-installer.exe. Первое окно программы установки — это окно приветствия, жмем «Next».

Шаг 2

Далее, выбираем компоненты, которые нужно установить, по умолчанию выбрано все, но если Вы не хотите что-то устанавливать, т.е. Вам это не нужно, то можете снять галочку с соответствующего пункта, например, мне не нужен Perl, жмем «Next».

Шаг 3

Затем выбираем каталог, в который мы будем устанавливать XAMPP, я оставлю по умолчанию, жму «Next».

Шаг 4

На этом шаге мы можем оставить или убрать галочку «Узнать больше о Bitnami для XAMPP», я галочку убрал, жму «Next».

Шаг 5

Все готово к установке, жмем «Next».

После того как установка будет завершена, нам предложат сразу запустить «Control Panel», жмем «Finish».

Вот и все, у нас запустилась панель управления XAMPP.

Запускаем и проверяем работу Apache, PHP и MySQL

Как мы видим, сразу после установки все сервисы не запущены, поэтому мы запускаем их кнопкой «Start».

Зеленым выделены те сервисы, которые в данный момент запущены.

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

Для проверки MySQL и PHP давайте напишем простой скрипт на PHP, который проверит подключение к базе данных MySQL. Для этого создаем в каталоге C:\xampp\htdocs\ папку test, кстати, все, что находится в папке htdocs, можно удалить. В папке test создаем файл index.php со следующим кодом;

Сохраняем и в браузере обращаемся по адресу http://localhost/test/ в ответ мы должны получить версию MySQL.

Если Вы это удивили, значит и Apache и PHP и MySQL запущены и работают.

Теперь немного расскажу о панели управления XAMPP. Запустить ее можно через меню «Пуск->Все программы->XAMPP».

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

На этом предлагаю заканчивать, так как все готово для разработки сайтов на базе Apache, MySQL и PHP, еще раз замечу, что данная сборка подходит исключительно для разработки и тестирования веб приложений, использовать ее в качестве рабочей платформы для сайтов не рекомендуется. Удачи!

Веб-сервер XAMPP. Создаем сайт на локальном компьютере

Когда сайт создается только на HTML, CSS и клиентском JavaScript, в программным веб-сервере нет необходимости. Код этих языков интерпретируется браузером. Однако когда добавляются скрипты на PHP и других языках, код которых выполняется на стороне сервера, то требуются соответствующие языкам интерпретаторы и компиляторы, а также программа-сервер (например, Apache), которая будет получать запросы от клиента-браузера, запускать выполнение кода на стороне сервера, посылать ответ клиенту.

Нередко на компьютеры-сервера ставят не по отдельности веб-сервер, интерпретаторы и СУБД, а готовую сборку ПО, включающую все это вместе и начальные настройки, позволяющие почти сразу приступить к работе. Одной из таких веб-серверных сборок является XAMPP.

В данной статье описывается алгоритм установки XAMPP и развертывание сайта без базы данных на локальном компьютере в Linux Mint 19. Очевидно в Ubuntu и многих других дистрибутивах Linux могут выполняться аналогичные действия.

Заранее подготовим наш сайт. Это должен быть каталог, содержащий как минимум один файл – index.html или index.php. Файл *.php позволит сразу проверить работоспособность интерпретатора PHP. Содержимое файла может быть таким:

В случае *.html блок выполняться не будет.

Каталог сайта можно расположить в любом месте файловой структуры диска.

Теперь приступим к основному действу и скачаем установочный файл с официального сайта XAMPP – https://www.apachefriends.org . Установить его можно только под root’ом либо запустив из терминала, либо открыв каталог как root в графическом режиме. Установщик на своем последнем экране предлагает сразу запустить XAMPP. Снимем этот флажок, чтобы знать, как запускать сервер самостоятельно. Это пригодится впоследствии.

Инсталятор устанавливает XAMPP в каталог /opt/lampp. Среди прочего в этой папке находится файл manager-linux-x64.run. При его выполнении открывается оконный интерфейс для запуска и остановки служб. Выполнить этот файл можно только под root’ом. В случае использования терминала команда выглядит так:

Откроется окно, в котором на вкладке Manage Servers можно запускать и останавливать необходимые сервисы.

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

Можно не пользоваться оконным менеджером, а запускать и останавливать веб-сервер через командную строку:

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

Стартуем Apache Web Server и откроем в браузере страницу по адресу localhost. Должна появиться приветственная страница XAMPP’а. На вкладке «HOW-TO Guides» в статьях «Configure Virtual Hosts» и «Configure Wildcard-Based Subdomians» описаны несколько разные варианты настройки поддоменов. Ниже описан вариант конфигурации файлов под локальный домен.

Каталоги сайтов должны находиться в папке /opt/lampp/htdocs. Однако в Linux вносить правки здесь можно только под рутом, что будет неудобно при редактировании сайта. Поэтому лучше поместить сюда ссылку на каталог с сайтом. Пусть ссылка на каталог носит имя site.

Теперь под рутом нужно внести правки в три файла. В файле /opt/lampp/etc/httpd.conf найти и раскомментировать строку Include etc/extra/httpd-vhosts.conf .

В файл /opt/lampp/etc/extra/httpd-vhosts.conf добавить следующие два блока:

Вместо имени mysite.sv можно придумать любой другой домен.

Третий файл – это /etc/hosts. В него следует добавить такую запись:

Теперь надо запустить или перезапустить Apache. После этого в браузере, набрав адрес mysite.sv, вы должны увидеть начальную страницу вашего сайта.

Если необходимо, чтобы файлы без расширений обрабатывались интерпретатором PHP, то можно в каталоге сайта в файл .htaccess добавить следующее:

Здесь сначала для всех (*) файлов устанавливается тип приложений php, после чего эта установка снимается для файлов, у которых есть расширение. Их тип будет определяться расширением.

XAMPP — как установить и настроить на Mac (Mojave, Sierra)

Автор: Сергей Никонов

XAMPP-VM — это набор программ и компонентов для веб-разработки, который включает в себя веб-сервер Apache, PHP и базу данных MariaDB (MySQL), а также другие компоненты. В этой статье вы узнаете, как установить и настроить XAMPP-VM на Mac OSX (Mojave, Sierra)

Зачем устанавливать XAMPP-VM на Mac?

Видеоурок Установка и настройка XAMPP-VM для Mac OSX Mojave, Sierra

XAMPP-VM. Установка на Mac OSX Mojave

Что такое XAMPP-VM и где хранятся php и другие файлы сайтов?

Исправление ошибки Access forbidden в phpmyadmin для XAMPP-VM

Настройка Apache в MacOS Mojave/Sierra для XAMPP-VM

Сохраните файл, перейдите в основной конфиг Apache и раскомментируйте строчку, которую вы видите ниже:

Редактирование файла hosts в MacOS

Затем введите пароль администратора Mac и напишите:

Для того, чтобы сохранить изменения с помощью редактора nano в MacOS, нажмите на сочетание клавиш «control + x», затем на клавишу «y».

Заключение

Настройка XAMPP-VM для OSX (Mojave, Sierra) является достаточно простой задачей и если у вас не получилось настроить XAMPP-VM для OSX с первого раза — ничего страшного, просто еще внимательно повторите действия из этой статьи.

Успехов в обучении!

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

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

Все материалы с сайта wh-db.com и ru.wh-db.com защищены авторским правом. Копирование, публикация, продажа и распространение материала строго запрещены.

Комментарии

Оставить комментарий

Поиск хостинга

Новые статьи

Обзоры хостинга

Категории

WH-DB.COM — это актуальная база тарифных планов ведущих хостинг провайдеров.

Мы собрали ведущих хостинг провайдеров на нашем сайте в одном месте (GoDaddy, HostMonster, MochaHost, 247 Host, etc). Подобрать подходящий веб-хостинг для вашего проекта — это просто, а возможности поиска позволяют максимально точно подобрать веб-хостинг для вашего сайта.

NGINX + Apache + MariaDB (MySQL) + PHP + PHP-FPM (fastCGI) + FTP + PHPMyAdmin + Memcached + Postfix на Ubuntu

Данная инструкция позволит настроить веб-сервер для решения большей части задач по размещению сайтов, порталов или веб-приложений. Она подходит для серверов на Ubuntu и других систем на основе deb-пакетов. Для RPM Linux читайте похожую инструкцию по настройке полноценного веб-сервера на CentOS.

Настройка операционной системы

apt-get update && apt-get upgrade

apt-get install ntpdate

cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* первая команда для установки пакета синхронизации времени; вторая задает часовой пояс по московскому времени; третья выполняет синхронизацию времени с сервером ru.pool.ntp.org.

Настраиваем cron для автоматической синхронизации времени:

И настраиваем запуск задания ежедневно в 00:00:

0 0 * * * /usr/sbin/ntpdate ru.pool.ntp.org

По умолчанию, в Ubuntu брандмауэр работает в режиме «разрешить все». Но если мы настроили защиту по максимуму, то для веб-сервера открываем следующие порты:

iptables -A INPUT -p tcp —match multiport —dports 20,21,25,80,443,465,587,8080,40900:40999 -j ACCEPT

* 80, 443 и 8080 порты для веб-сервера; 20, 21 порты нужны для работы FTP; 40900-40999 также необходимы для работы FTP (динамические порты для пассивного режима); 25, 465 и 587 порты нужны для работы почтового сервера по SMTP; Подробнее про настройку iptables.

Установка NGINX

apt-get install nginx

Внесем изменение в файл nginx.conf:

http <
.
server_names_hash_bucket_size 64;
.
>

* в данном примере мы сняли комментарий со строчки server_names_hash_bucket_size 64;
* на практике, может встретиться ошибка could not build server_names_hash, you should increase server_names_hash_bucket_size: 32. Она возникает при большом количестве виртуальных серверов или если один из них будет иметь длинное название. Данная строка в конфиге исправит ситуацию.

systemctl enable nginx

systemctl start nginx

* в процессе запуска мы можем увидим ошибку — возможно, в системе работает другой веб-сервер и занимает 80 порт. Как правило, это apache. Чтобы его выключить (на данном этапе он нам не нужен) вводим команду systemctl stop apache2.

Проверим работу веб-сервера. Открываем браузер и вводим в адресной строке http:// . В итоге мы должны увидеть заголовок «Welcome to nginx!»:

Если стартовая страница не загружается, проверяем состояние сервиса:

systemctl status nginx

Установка PHP и PHP-FPM

Устанавливаем PHP и PHP-FPM:

apt-get install php php-fpm

Разрешаем автозапуск php-fpm и запускаем его:

systemctl enable php7.2-fpm

systemctl start php7.2-fpm

* обратите внимание, что мы запустили php-fpm версии 7.2. Но установлена может быть и другая версия — ее можно узнать по версии php командой php -v.

Настройка связки NGINX + PHP

Открываем файл для настройки виртуального домена по умолчанию:

В секции location редактируем параметр index на следующее значение:

location / <
index index.php index.html index.htm;
>

* в данном случае мы сказали серверу сначала искать индексный файл index.php, затем остальные по списку.

А внутри секции server добавим следующее:

\.php$ <
set $root_path /var/www/html;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
>

* где /var/www/html — корневой путь хранения скриптов; /run/php/php7.2-fpm.sock — путь до сокетного файла для взаимодействия с php-fpm. Обратите еще раз внимание, что если в нашей системе будет установлена другая версия php, необходимо внести соответствующую корректировку.

Пример файла default:

server <
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;

location / <
index index.php index.html index.htm;
>

\.php$ <
set $root_path /var/www/html;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
>
>

Проверяем правильность настроек nginx:

И перезагружаем его:

systemctl restart nginx

Открываем конфигурационный файл PHP-FPM:

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

В противном случае меняем его и перезапускаем сервис:

systemctl restart php7.2-fpm

Теперь заходим в каталог хранения настроенного сайта:

Создаем index.php со следующим содержимым:

Открываем браузере и переходим по адресу http:// . Мы должны увидеть сводную информацию по PHP и его настройкам:

* в данном примере используется php версии 7.2.

Установка СУБД

В данной статье мы установим MariaDB. Установка выполняется следующей командой:

apt-get install mariadb-server

Разрешаем автозапуск и запускаем СУБД:

systemctl enable mariadb

systemctl start mariadb

Зададим пароль для учетной записи mysql-root:

mysqladmin -u root password

PHP + MariaDB

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

apt-get install php-mysql php-mysqli

После перезагружаем php-fpm:

systemctl restart php7.2-fpm

И открываем наш сайт в браузере. В phpinfo появится новая секция MySQL:

* несмотря на то, что мы установили mariadb, в заголовке мы видим mysql. Так и должно быть.

Установка phpMyAdmin

Для установки phpMyAdmin вводим следующую команду:

apt-get install phpmyadmin

* в процессе установки система может потребовать ввод пароля для пользователя phpmyadmin. Его нужно ввести дважды.

Теперь создадим для него отдельный виртуальный домен в NGINX:

И добавим в него следующее содержимое:

server <
listen 80;
server_name phpmyadmin.dmosk.local;
set $root_path /usr/share/phpmyadmin;

location / <
index index.php;
>

\.php$ <
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
>
>

* где phpmyadmin.dmosk.local — адрес для виртуального домена, именно этот адрес должен быть введен в адресную строку браузера, чтобы открылся нужный сайт. Поэтому есть нет возможность зарегистрировать домен и имя узла в DNS, можно воспользоваться локальным файлом hosts. /usr/share/phpmyadmin — это каталог, в который по умолчанию устанавливается phpMyAdmin.

После перезапускаем NGINX:

systemctl reload nginx

И открываем в браузере наш домен, в данном примере, http://phpmyadmin.dmosk.local. Откроется форма для авторизации — вводим логин phpmyadmin и пароль, который мы указали при установке phpmyadmin.

Установка Memcached

Для начала, выполняем установку пакетов:

apt-get install memcached php-memcached

После разрешаем автозапуск и запускаем сервис кэширования:

systemctl enable memcached

systemctl start memcached

systemctl restart php7.2-fpm

Для проверки, что модуль memcached появился в PHP, открываем наш сайт в браузере — в phpinfo должна появиться новая секция:

Установка и настройка FTP-сервера

Мы настроим ProFTPd, так как он позволит использовать виртуальных пользователей с uid пользователя www-data.

Для его установки вводим следующую команду:

apt-get install proftpd

Смотрим uid пользователя www-data:

* в Ubuntu это, как правило, 33.

Создаем виртуального пользователя:

ftpasswd —passwd —file=/etc/proftpd/ftpd.passwd —name=ftpwww —u >

* где /etc/proftpd/ftpd.passwd — путь до файла, в котором хранятся пользователи; ftpwww — имя пользователя (логин); uid и gid — идентификаторы пользователя и группы системной учетной записи (www-data); /var/www — домашний каталог пользователя; /usr/sbin/nologin — оболочка, запрещающая локальный вход пользователя в систему.

Открываем основной конфигурационный файл:

Снимаем комментарий или редактируем опцию:

* данная опция говорит о том, что корневой директорией для пользователя будет домашняя директория. Это нужно, чтобы FTP-пользователи не могли выйти за пределы дозволенного и видеть на сервере сайты друг друга.

Создаем дополнительный конфигурационный файл для proftpd:

Со следующим содержимым:

UseIPv6 off
IdentLookups off
PassivePorts 40900 40999

RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c

* где 40900 — 40999 — диапазон динамических портов для пассивного режима.

Разрешаем автозапуск FTP-серверу и запускаем его:

systemctl enable proftpd

systemctl restart proftpd

Пробуем подключиться к серверу, использую любые FTP-клиенты, например, FileZilla, Total Commander или тот же браузер.

Apache

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

Устанавливаем apache и модуль для php:

apt-get install apache2 libapache2-mod-php

Заходим в настройки портов:

И редактируем следующее:

* мы настроили прослушивание на порту 8080, так как на 80 уже работает NGINX. Также мы закомментировали прослушивание по 443, так как и он будет слушаться NGINX.

Теперь открываем настройку следующего модуля:

И добавляем впереди индексных файлов index.php:

DirectoryIndex index.php index.html .

* если не указан конкретный скрипт, сначала веб-сервер пытается найти и запустить index.php, затем index.html и так далее.

Открываем основной конфигурационный файл для apache:

Рядом с опциями Directory дописываем:

AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted

* где Directory указывает на путь, для которого мы хотим задать настройки; AllowOverride — позволит переопределить все настройки с помощью файла .htaccess; Options задает некоторые настройки: Indexes разрешает списки каталогов, ExecCGI разрешает запуск cgi скриптов, Require all granted — предоставляет всем доступ к сайтам в данном каталоге.

SetEnvIf X-Forwarded-Proto https HTTPS=on

* этой настройкой мы при получении заголовка X-Forwarded-Proto со значением https задаем переменную $_SERVER[‘HTTPS’] равную on. Данная настройки критична для функционирования некоторых CMS.

* по умолчанию, apache2 может быть установлен с модулем мультипроцессовой обработки mpm_event. Данный модуль не поддерживает php 7 и выше.

Разрешаем модуль мультипроцессовой обработки mpm_prefork:

Разрешаем модуль php:

* в данном примере установлен php версии 7.2.

Разрешаем модуль setenvif:

Разрешаем автозапуск и запускаем службу:

systemctl enable apache2

systemctl start apache2

Открываем браузер и вводим в адресную строку http:// :8080. Мы должны увидеть привычную страницу:

* в разделе Server API мы должны увидеть Apache.

NGINX + Apache

Ранее мы настроили связку nginx + php-fpm. Теперь настроим nginx + apache. Открываем конфигурационный файл nginx для сайта по умолчанию:

Находим наш настроенный location для php-fpm:

\.php$ <
set $root_path /var/www/html;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
>
.

\.php$ <
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
.

Проверяем и перезапускаем nginx:

systemctl restart nginx

Пробуем открыть в браузере http:// — должна открыться та же страница, что при проверке Apache (с добавлением 8080):

Apache Real IP

Запросы на apache приходят от NGINX, и они воспринимаются первым как от IP-адреса 127.0.0.1. На практике, это может привести к проблемам, так как некоторым сайтам необходимы реальные адреса посетителей. Для решения проблемы будем использовать модуль remoteip.

Создаем конфигурационный файл со следующим содержимым:

RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1/8

systemctl restart apache2

Для проверки настройки открываем браузер и вводим в адресную строку http:// , где откроется наша страница phpinfo. В разделе Apache Environment мы должны увидеть внешний адрес компьютера, с которого обращаемся к серверу в опции REMOTE_ADDR.

Postfix

В качестве агента MTA мы будем использовать удобный в настройке и надежный Postfix.

Установка, настройка и запуск

Устанавливаем пакет postfix:

apt-get install postfix

Вносим некоторые изменения в настройки:

myorigin = $mydomain
smtp_generic_maps = hash:/etc/postfix/generic_map

* mydomain — домен сервера; myorigin — имя домена, которое будет подставляться всем отправляемым сообщениям без явного указания оного; smtp_generic_maps указывает на карту с общими правилами пересылки.

Открываем карту пересылки:

* данной настройкой мы будем подставлять всем отправляемым письмам без поля FROM адрес [email protected].

Включаем автозапуск почтового сервера и запускаем его службу:

systemctl enable postfix

systemctl start postfix

Корректная отправка

Для того, чтобы сервер мог отправлять сообщения на внешние ящики, необходимо корректно настроить в DNS, как минимум, записи A и PTR.

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

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

Тюнинг веб-сервера

Открываем на редактирование следующий файл:

И правим следующее:

post_max_size = 1G
.
upload_max_filesize = 512M
.
short_open_tag = On
.
date.timezone = «Europe/Moscow»

* где post_max_size — максимальный объем отправляемых на сервер данных; upload_max_filesize — максимально допустимый размер одного загружаемого файла; short_open_tag — разрешение использования короткого способа открытия php (
Define root_domain site1.local
Define root_path /var/www/site1.local

ErrorLog $/log/apache/error_log
TransferLog $/log/apache/access_log

php_admin_value upload_tmp_dir $/tmp
php_admin_value doc_root $
php_admin_value open_basedir $:/usr/local/share/smarty:/usr/local/share/pear
php_admin_value session.save_path 0;0660;$/tmp

Создаем каталоги для сайта:

mkdir -p /var/www/$TMP_SITE/

mkdir -p /var/www/$TMP_SITE/log/

Создаем индексный файл со следующим содержимым:

Задаем права на папки:

chown -R www-data:www-data /var/www/$TMP_SITE

chmod -R 775 /var/www/$TMP_SITE

Проверяем корректность настроек конфигурационных файлов:

systemctl reload nginx

systemctl reload apache2

Открываем сайт в браузере по нашему домену site1.local (он должен быть прописан в DNS или можно его задать в локальном файле hosts того компьютера, с которого мы открываем сайт в браузере). Мы должны увидит фразу «Hello from site1».

2. Создание базы данных

Создаем базу данных для сайта командами:

> CREATE DATABASE site1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

> GRANT ALL PRIVILEGES ON site1.* TO [email protected] IDENTIFIED BY ‘password’ WITH GRANT OPTION;

* данными sql-командами мы создаем базу данных site1 и предоставляем к ней доступ для учетной записи dbuser с паролем password. При желании сделать соединение более безопасным, можно убрать WITH GRANT OPTION.

3. Создание пользователя FTP

Для возможности подключения к сайту по FTP, создаем отдельного пользователя:

ftpasswd —passwd —file=/etc/proftpd/ftpd.passwd —name=site1.local —u >

* тут мы создадим пользователя site1.local, который будет иметь доступ к каталогу /var/www/$TMP_SITE.

Windows Часто задаваемые Вопросы

XAMPP для Windows существует в трёх рахных пакетах:

Установщик:
Вероятно самый простой способ установить XAMPP.

ZIP:
Для пуристов: XAMPP как обычный ZIP архив.

7zip:
Для пуристов с небольшой скоростью интернета: XAMPP как 7zip архив.

Заметка: Если вы распакуете файлы, возможно ложное срабатывание антивирусной программы.

Использование установщика:

Панель управления XAMPP для запуска/остановки Apache, MySQL, FileZilla и Mercury или установки этих серверов в качестве сервисов.

Установка из ZIP архива

Распакуйте zip архивы в выбранную вами папку. XAMPP распакуется в суб-каталог «C:\\xampp» под выбранной папкой. Теперь запустите файл «setup_xampp.bat», чтобы настроить конфигурацию XAMPP для вашей системы.

Если вы выберите корневой каталог «C:\\» как папку назначения, вы не должны запускать «setup_xampp.bat».

Также как в версии с установщиком, теперь вы можете использовать контрольную панель XAMPP (XAMPP Control Panel) для дополнительных задач.

Does XAMPP include MySQL or MariaDB?

Since XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. The commands and tools are the same for both.

Как мне запустить XAMPP без установки?

Если вы распакуете XAMPP в папку верхнего уровня как «C:\\» или «D:\\», вы можете запустить большинство серверов как Apache или MySQL сразу без исполнения файла «setup_xampp.bat».

Если вы устанавливаете XAMPP на usb носитель желательно не использовать скрипт установки, или выбрать в скрипте установки относительные пути. Так как на каждом ПК такой носитель может иметь разные буквы привода. Вы можете перейти с абсолютных на относительные пути в любой момент с помощью скрипта установки.

Использование установщика с нашей страницы скачиваний это самый простой способ установить XAMPP. После завершения установки, вы найдёте XAMPP под Пуск | Все программы | XAMPP. Вы можете использовать панель управления XAMPP для запуска или остановки всех серверов и установки или удаления серфисов.

Панель управления XAMPP для запуска/остановки Apache, MySQL, FileZilla и Mercury или установки этих серверов в качестве сервисов.

Как мне запустить и остановить XAMPP?

Универсальный центр управления это «XAMPP Control Panel» (панель управления XAMPP) (благодаря www.nat32.com). Он запускается с помощью:

Также вы можете использовать некоторые batch (*.bat) файлы чтобы запускать/останавливать сервера.

  • Apache & MySQL запуск: \xampp\xampp_start.exe
  • Apache & MySQL остановка: \xampp\xampp_stop.exe
  • Apache запуск: \xampp\apache_start.bat
  • Остановить Apache: \xampp\apache_stop.bat
  • Запустить MySQL: \xampp\mysql_start.bat
  • Остановить MySQL: \xampp\mysql_stop.bat
  • Запустить Mercury Mailserver: \xampp\mercury_start.bat
  • Остановить Mercury Mailserver: \xampp\mercury_stop.bat
  • Запустить сервер FileZilla: \xampp\filezilla_start.bat
  • Остановить сервер FileZilla: \xampp\filezilla_stop.bat

Как я мне проверить что всё сработало?

Введите следующую URL в ваш любимый браузер:

http://localhost/ или http://127.0.0.1/

You should see the XAMPP start page, as shown below.

Как мне установить скрвер как сервис?

Каждый сервер в XAMPP можно установить как сервис Windows. Вы можете сделать это при помощи XAMPP Control Panel (панель управления XAMPP). В таком случае скрипты или контрольная панель обязательно должны быть запущены с привилегиями администратора.

Установка сервиса Apache: \\xampp\\apache\\apache_installservice.bat

Удаление сервиса Apache: \\xampp\\apache\\apache_uninstallservice.bat

Установка сервиса MySQL: \\xampp\\mysql\\mysql_installservice.bat

Удаление сервиса MySQL: \\xampp\\mysql\\mysql_uninstallservice.bat

Установка или удаление сервиса FileZilla: \\xampp\\filezilla_setup.bat

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

Готов ли XAMPP к производственному использованию?

XAMPP не предназначен для производственного использования, а только для сред разработки. XAMPP настроен таким образом чтобы быть как можно более открытым и позволять разработчику всё что он/она захочет. Для сред разработки это прекрасно, но в производственной среде это может быть пагубно.

Вот список отсутствующих мер безопасности в XAMPP:

  1. MySQL администратор (root) не имеет пароля.
  2. MySQL сервер доступен через сеть.
  3. ProFTPD uses the password «lampp» for user «daemon».
  4. Пользователи по умолчанию Mercury и FileZilla известны.

Всё это может быть обширным риском безопасности. Особенно если XAMPP доступен через сеть и людям снаружи LAN. Использование брандмауэра (межсетевой экран) или (NAT) маршрутизатора может помочь. В случае с маршрутизатором или брандмауэром, ваш ПК обычно недоступен через сеть. Решение этих проблем лежит на вас. Как небольшая помощь есть консоль безопасности XAMPP (XAMPP Security console).

Пожалуйста обезопасьте XAMPP прежде чем публиковать что-либо в сети. Использование брандмауэра (межсетевой экран) или маршрутизатора достаточно лиш для низких уровней безопасности. Для немного большей безопасности, вы можете запустить консоль безопасности XAMPP (XAMPP Security console) и установить пароли.

Если вы хотите чтобы ваш XAMPP был доступен через интернет, вам следует посетить следующую URI которая может исправить некоторые проблемы:

С помощью консоли безопасности вы можете установить пароль для MySQL пользователя «root» и phpMyAdmin. Вы также можете включить аутентификацию для демонстративных страниц XAMPP.

Этот инструмент на веб-основе не исправляет какие-либо дополнительные проблемы безопасности! Особенно в случае с FileZilla FTP сервером и Mercury почтовым сервером, их вы должы обезопасить сами.

Как мне удалить XAMPP?

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

Если вы установили XAMPP используя ZIP или 7zip версии, выключите все XAMPP сервера и выйдите из всех панелей. Если вы установили какие-либо сервисы, удалите и отключите их тоже. Теперь просто удалите весь каталог где установлен XAMPP. В данном случае записей в регистре и переменных среды требующих чистку нет.

Что такое «lite» (лёгкая) версия XAMPP?

XAMPP Lite (значит «лёгкий» как в «лёгкий вес») это меньший набор XAMPP компонентов, что рекомендуется для быстрой работы где требуется только PHP и MySQL. Некоторые сервера или инструменты как Mercury Mail и FileZilla FTP отсутствуют в Lite версии.

Где мне следует поместить моё веб содержимое?

Главный каталог для всех WWW документов это \\xampp\\htdocs. Если вы положите файл «test.html» в этот каталог, вы сможете получить доступ к нему по URI «http://localhost/test.html».

И «test.php»? Просто используйте «http://localhost/test.php». Простой тест-скритп может быть:

Новая суб-каталог для вашего веб проекта? Просто создайте новый каталог (пример: «new») внутри каталога «\\xampp\\htdocs» (желательно без пробелов и с использованием только ASCII), создайте файл «test.php» в этом каталоге, вы сможете получить доступ к нему по URI «http://localhost/new/test.php».

Дополнительные особенности

HTML:
Исполняемый файл: \xampp\htdocs
Разрешённые окончания: .html .htm
=> базовый пакет

SSI:
Исполняемый файл: \xampp\htdocs
Разрешённые окончания: .shtml
=> базовый пакет

CGI:
Исполняемый файл: \xampp\htdocs and \xampp\cgi-bin
Разрешённые окончания: .cgi
=> базовый пакет

PHP:
Исполняемый файл: \xampp\htdocs and \xampp\cgi-bin
Разрешённые окончания: .php
=> базовый пакет

Perl:
Исполняемый файл: \xampp\htdocs and \xampp\cgi-bin
Разрешённые окончания: .pl
=> базовый пакет

Apache::ASP Perl:
Исполняемый файл: \xampp\htdocs
Разрешённые окончания: .asp
=> базовый пакет

JSP Java:
Исполняемый файл: \xampp\tomcat\webapps\java (e.g.)
Разрешённые окончания: .jsp
=> Tomcat add-on

Servlets Java:
Исполняемый файл: \xampp\tomcat\webapps\java (e.g.)
Разрешённые окончания: .html (u.a)
=> Tomcat add-on

Как мне переместить установку XAMPP?

Да. После перемещения каталога XAMPP, вы должны выполнить «setup_xampp.bat». Пути в файлах конфигурации будут поправлены при выполнении этого шага.

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

Предупреждение: Файлы конфигурации из ваших скриптов, к примеру PHP приложения, не настроены. Но возможно написать плагин для установщика. С таким плагином установщик может настроить и эти файлы.

Что такое «Automatic start pages» (страницы автоматического запуска) для WWW каталогов?

Стандартное имя файла для функции Apache «DirectoryIndex» это «index.html» или «index.php». Каждый раз когда вы открываете в браузере папку (пример: «http://localhost/xampp/»), и Apache сможет найти такой файл, Apache отобразит этот файл вместо списка содержимого каталога.

Где я могу поменять настройки?

Почти все настройки в XAMPP вы можете поменять при помощи файлов конфигурации. Просто откройте файл в текстовом редакторе и измените что желаете. Только FileZilla и Mercury должны быть настроены при помощи програмного инструмента конфигурации.

Почему XAMPP не может работать на Windows XP SP2?

Microsoft предоставляет более хороший брандмауэр (межсетевой экран) с сервис паком 2 (SP2), который запускается автоматически. Этот брандмауэр теперь блокирует необходимые порты 80 (http) и 443 (https) и Apache не может запустится.

Быстрое решение:

Отключите брандмауэр (межсетевой экран) и попробуйте запустить XAMPP ещё раз. Лучшее решение: указать исключение в центре безопасности.

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

Apache (HTTP): Port 80
Apache (WebDAV): Port 81 Apache (HTTPS): Port 443 MySQL: Port 3306 FileZilla (FTP): Port 21 FileZilla (Admin): Port 14147 Mercury (SMTP): Port 25 Mercury (POP3): Port 110 Mercury (IMAP): Port 143 Mercury (HTTP): Port 2224 Mercury (Finger): Port 79 Mercury (PH): Port 105 Mercury (PopPass): Port 106 Tomcat (AJP/1.3): Port 8009 Tomcat (HTTP): Port 8080

Почету XAMPP не работает на Windows Vista?

Контроль учётных записей пользователей (UAC)

Вы не имеете полных привилегий записи в каталоге «C:\\program files», даже как администратор. Или у вас только ограниченные привилегии (к примеру только для «.\\xampp\\htdocs»). В таком случае вы не можете редактировать файл. Решение: Повысьте свои привилегии в проводнике (правый клик / безопасность) или отключите Контроль учётных записей пользователей (UAC).

Вы установили Apache/MySQL в «C:\\xampp» как Windows сервис. Но вы не можете запускать/останавливать сервисы при помощи панели управления XAMPP (XAMPP Control Panel) или не можете их удалить. Решение: Используйте консоль управления сервисами от Windows или отключите UAC.

Отключение контроля учётных записей пользователей (UAC)

Чтобы отключить UAC, используйте программу «msconfig». В «msconfig» заидите в «Tools» (инструменты), выберите «disable user account control» (отключить контроль учётных записей пользователей) и подтвердите свой выбор. Теперь вы должны перезапустить Windows. Вы можете включить UAC снова.

Как мне проверить контрольную сумму md5?

Чтобы сравнить файлы, часто используются контрольные суммы. Стандарт чтобы создать такую контрольную сумму md5 (Message Digest Algorithm 5).

При помощи контрольной суммы md5 вы можете проверить, соответствует ли оригиналу скачанный вами пакет XAMPP. Естественно вам потребуется программа способная создавать такие контрольные суммы. Для Windows вы можете использовать инструмент от Microsoft:

Также возможно использовать любую другую программу способную создавать md5 контрольные суммы, как GNU md5sum.

Когда вы установили такую программу (пример: fciv.exe), вы можете выполнить следующие шаги:

  • Скачать XAMPP (f.e. xampp-win32-1.8.2-0.exe)
  • Создать контрольную сумму с: fciv.exe xampp-win32-1.8.2-0.exe
  • Теперь вы можете сравнить эту контрольную сумму с той которую можете найти на домашней странице XAMPP для Windows.

Если обе контрольные суммы равны, всё хорошо. Если нет, скачивание обернулось провалом или файл был изменён.

Почему изменения в моём php.ini не вступают в действие?

Если изменеие в «php.ini» не вступило в действие, возможно PHP использует другой файл. Вы можете проверить это при помощи phpinfo(). Последуйте по URI http://localhost/xampp/phpinfo.php и ищите «Loaded Configuration File» (загруженный файл конфигурации). Это значение покажет какой «php.ini» PHP действительно использует.

Примечание: После изменения «php.ini» вы должны перезапустить Apache чтобы Apache/PHP смогли считать новые настройки.

Помогите! В XAMPP есть вирус!

Некоторые анти-вирусные программы по ошибке принимают XAMPP за вирус, обычно отмечая файл xampp-manager.exe. Это ложная тревога, что означает анти-вирус ошибочно принял за вирус то что им не является. Прежле чем мы публикуем каждую новую версию XAMPP мы сканируем его на вирусы. В данный момент мы используем Kapersky Online Virus Scanner. You can also use the online tool Virus Total for scanning XAMPP or send us an email to security (at) apachefriends (dot) org if you find any issue.

Как мне настроить моё анти-вирусное приложение?

Мы включили все зависимости и сервера тревуемые для работы пакета веб приложения, поэтому XAMPP устанавливает большое количество файлов. Если вы устанавливаете XAMPP на Windows машине со включенным анти-вирусом, это может значительно замедлить установку, и ещё есть шанс что один из серверов (веб сервер, сервер баз данных) может быть заблокирован анти-вирусным ПО. Если ваш есть анти-вирус включён, проверьте следующие настройки для запуска XAMPP без проблем с производительностью:

  • Добавьте исключения в брандмауэр (межсетевой экран): для Apache, MySQL или любого другого сервера.
  • Сканирование файлов во время рвботы: Если вы включили в анти-вирусном ПО сканирование всех файлов, работа исполнительных файлов серверов может замедлится.
  • Сканирование трафика для разных URL: Если вы разрабатываете с использованием XAMPP на своей собственной машине, вы можете исключить проверку трафика для «localhost» в настройках вашего анти-вируса.

Почему Apache сервер не запускается на моей системе?

Это проблема может иметь место по одной из нескольких причин:

  • Вы запустили более одного HTTP Server (IIS, Sambar, ZEUS и так далее). Только один сервер может использовать порт 80. Это сообщение об ошибке указывает на проблему:
    (OS 10048). make_sock: could not bind to adress 0.0.0.0:80 no listening sockets available, shutting down
  • У вас есть другое ПО, например интернет телефон «Skype» (скайп) которое тоже блокирует порт 80. Если проблема в «Skype», в Skype вы можете открыть Actions (действия) Options (опции) Connection (соединение) убрать галочку рядом с «use port 80 for an alternate port» (использовать порт 80 для альтернативного порта) и перезапустить Skype. Теперь всё должно работать.
  • У вас есть брандмауэр (межсетевой экран) который блокирует порт Apache. Не каждый брандмауэр совместим с Apache, иногда отключить брандмауэр недостаточно и вам придётся его удалить. Это сообщение об ошибке указывает на брандмауэр:
    (OS 10038)Socket operation on non-socket: make_sock: for address 0.0.0.0:80, apr_socket_opt_set: (SO_KEEPALIVE)

Также если Apache может запустится, но ваш браузер не может соединится с ним это может быть по одной из следующих причин:

  • Некоторые анти-вирусные программы могут вызвать это, таким же образом как может вмешатся брандмауэр (межсетевой экран).
  • У вас XP Professional без сервис пака 1. Вы должны иметь как минимум SP1 для XAMPP.

Совет: If you have problems with used ports, you can try the tool «xampp-portcheck.exe». Maybe it can help.

Почему Apache грузит мой процессор почти на 99%?

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

Child: Encountered too many AcceptEx faults accepting client connections. winnt_mpm: falling back to ‘AcceptFilter none’.

MPM возвращается к более безопасному выполнению, но некоторые клиентские запросы не обрабатывались корректно. Для того чтобы избежать этой ошибки, используйте «AcceptFilter» с включенным фильтром «none» в файле «\\xampp\\apache\\conf\\extra\\httpd-mpm.conf».

Почему картинки и таблицы стилей не отображаются?

Иногда возникают проблемы с отображением картинок и таблиц стилей. Особенно, если эти файлы находятся на сетевом диске. В этом случае вы можете включить (или добавить) одну из следующих строк в файле «\\xampp\\apache\\conf\\httpd.conf»:

EnableSendfile off EnableMMAP off

Эта проблема также может быть вызвана программами регулирования полосы пропускания, например, NetLimiter.

How do I send email with XAMPP?

To configure XAMPP to use the included sendmail.exe binary for email delivery, follow these steps:

  • Edit the XAMPP «php.ini» file. Within this file, find the [mail function] section and replace it with the following directives. Change the XAMPP installation path if needed. sendmail_path = «\»C:\xampp\sendmail\sendmail.exe\» -t»
  • Edit the XAMPP «sendmail.ini» file. Within this file, find the [sendmail] section and replace it with the following directives: smtp_server=smtp.gmail.com smtp_port=465 smtp_ssl=auto error_logfile=error.log [email protected] auth_password=your-gmail-password

Remember to replace the dummy values shown with your actual Gmail address and account password. If you don’t plan to use Gmail’s SMTP server, replace the SMTP host details with appropriate values for your organization or ISP’s SMTP server.

  • Restart the Apache server using the XAMPP control panel.
  • You can now use PHP’s mail() function to send email from your application.

    Как я могу установить пароль root’а в MySQL?

    Configure it with the «XAMPP Shell» (command prompt). Open the shell from the XAMPP control pane and execute this command: mysqladmin.exe -u root password secret This sets the root password to ‘secret’.

    Могу ли я использовать свой собственный MySQL сервер?

    Да. Просто не запускайте MySQL из пакета XAMPP. Обратите внимание, что два сервера не могут быть запущены на том же порту. Если вы установили пароль для «root», пожалуйста, не забудьте отредактировать файл «\\xampp\\phpMyAdmin\\config.inc.php».

    Как ограничить доступ к PhpMyAdmin извне?

    In the basic configuration of XAMPP, phpMyAdmin is accessible only from the same host that XAMPP is running on, at http://127.0.0.1 or http://localhost.

    Прежде чем вы сможете получить доступ к серверу MySQL, PhpMyAdmin запросит у вас имя пользователя и пароль. Не забудьте установить пароль для «root» пользователя в первую очередь.

    How do I enable access to phpMyAdmin from the outside?

    In the basic configuration of XAMPP, phpMyAdmin is accessible only from the same host that XAMPP is running on, at http://127.0.0.1 or http://localhost.

    IMPORTANT: Enabling external access for phpMyAdmin in production environments is a significant security risk. You are strongly advised to only allow access from localhost. A remote attacker could take advantage of any existing vulnerability for executing code or for modifying your data.

    To enable remote access to phpMyAdmin, follow these steps:

    • Edit the apache\conf\extra\httpd-xampp.conf file in your XAMPP installation directory.
    • Within this file, find the lines below.

    Alias /phpmyadmin «C:/xampp/phpMyAdmin/» AllowOverride AuthConfig Require local

    Then replace ‘Require local’ with ‘Require all granted’.

    Alias /phpmyadmin «C:/xampp/phpMyAdmin/» AllowOverride AuthConfig Require all granted

  • Restart the Apache server using the XAMPP control panel.
  • Где поддержка IMAP для PHP?

    По умолчанию, поддержка IMAP для PHP отключена в XAMPP из-за некоторых загадочных ошибок инициализации в некоторых домашних версиях, например, Windows 98. Если вы работаете с системами NT, вы можете открыть файл «\\xampp\\php\\php.ini», чтобы активировать php расширение, удалив точку с запятой в строке «;extension=php_imap.dll». Она должна быть: extension=php_imap.dll

    Теперь перезагрузите Apache, и IMAP должен работать. Вы можете использовать те же самые шаги для любого расширения, которое не включено в конфигурации по умолчанию.

    Почему некоторые PHP приложения с открытым исходным кодом работают с XAMPP на Windows?

    Много PHP приложений или расширений, которые были написаны для Linux не были портированы на Windows.

    Can I delete the «install» directory after installation?

    Лучше этого не делать. Эти скрипты ещё нужны для всех дополнительных пакетов (дополнений) и обновлений XAMPP.

    Как мне активировать eaccelerator?

    Как и другие (Zend) разрешения, вы можете активировать его в «php.ini». В этом файле, измените строку «;zend_extension = «\\xampp\\php\\ext\\php_eaccelerator.dll»». Она должна быть: zend_extension = «\xampp\php\ext\php_eaccelerator.dll»

    Как мне исправить ошибку соединения с моим MS SQL сервером?

    Если mssql расширение было загружено в php.ini, иногда возникают проблемы когда используется только TCP/IP. Вы можете исправить эту проблему при помощи более новой «ntwdblib.dll» от Microsoft. Пожалуйста замените старый файл в «\\xampp\\apache\\bin» и «\\xampp\\php» более новым. Из за условий лицензии, мы не можем включить более новую версию файла в XAMPP.

    Как мне работать с PHP mcrypt расширением?

    Для этого, мы открыли предмет обсуждения на форуме с примерами и возможными решениями: MCrypt топик

    Microsoft Active Server Pages (ASP) работают с XAMPP?

    Нет. И Apache::ASP с Perl дополнением не то же самое. Apache::ASP распознаёт только Perl-Script, а ASP из Internet Information Server (IIS) также распознаёт обычный VBScript. Но для ASP .NET, существует сторонний Apache модуль.

    How can I get XAMPP working on port 80 under Windows 10?

    By default, Windows 10 starts Microsoft IIS on port 80, which is the same default port used by Apache in XAMPP. As a result, Apache cannot bind to port 80.

    To disable IIS from running on port 80, follow these steps:

    • Open the Services panel in Computer Management.
    • Search for the ‘World Wide Web Publishing Service’ and select it.
    • Click the link to ‘Stop the service’.
    • Double-click the service name.
    • In the ‘Startup type’ field, change the startup type to ‘Disabled’.
    • Click ‘OK’ to save your changes.

    You should now be able to start Apache in XAMPP on port 80.

    For more information, refer to the ‘Troubleshoot Apache Startup Problems’ guide included with XAMPP or this forum post.

    How can I use Microsoft Edge to access local addresses under Windows 10?

    If your local machine has the host name ‘myhost’, you will not be able to access URLs such as http://myhost in Microsoft Edge. To resolve this, you should instead use the addresses http://127.0.0.1 or http://localhost.

    Where are the main XAMPP configuration files?

    The main XAMPP configuration files are located as follows:

    • Apache configuration file: \xampp\apache\conf\httpd.conf, \xampp\apache\conf\extra\httpd-xampp.conf
    • PHP configuration file: \xampp\php\php.ini
    • MySQL configuration file: \xampp\mysql\bin\my.ini
    • FileZilla Server configuration file: \xampp\FileZillaFTP\FileZilla Server.xml
    • Apache Tomcat configuration file: \xampp\tomcat\conf\server.xml
    • Apache Tomcat configuration file: \xampp\sendmail\sendmail.ini
    • Mercury Mail configuration file: \xampp\MercuryMail\MERCURY.INI

    Поддержка

    Посетите наш страницы нашего сообщества для дополнительной помощи.

    Устанавливаем на Windows Apache, MySQL и PHP — Нехитрый домашний веб–сервер

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

    А чтобы лучше разобраться в веб-серверах давайте вместе установим, самостоятельно настроим и обновим все три компонента: Apache HTTPD 2.4, MySQL 8.0 и PHP 7.3. А заодно разберемся и с phpMyAdmin 4.8.

    Если говорить совсем доступно, то заурядному веб-серверу нужны только три вещи: программа для ответа на запросы браузера, в нашем случае это Apache HTTPD, программа для управления базами данных, мы рассмотрим MySQL, и библиотеки для обработки кода на каком-то языке программирования, я поведу речь о PHP. Опционально, но совсем не обязательно, подобрать софт для ручных манипуляций с базами данных. Провайдеры дешевого интернет–хостинга чаще всего дают доступ к phpMyAdmin, а поэтому его используем и мы. Все эти программы совершенно бесплатны, а их код — открыт.

    Конечно, базами данных можно управлять иначе, например, через PostgreSQL или SQLite, иначе можно отвечать и на запросы, допустим, через nginx или Microsoft IIS, да и языки можно использовать совершенно другие, скажем, Ruby или Python. Но к 2020 году, вот уже более десяти лет, связка Apache-MySQL-PHP всё ещё остается самой популярной.

    Пройдем по чётким пунктам с краткими пояснениями для более глубокого понимания. Если вас интересует только результат — игнорируйте пояснения.

    1. Подготовьтесь к установке сервера

    1.1. Создайте папку web на диске D. Внутри нее создайте 5 подпапок: apache, php, tmp, www и log.

    Сервер лучше устанавливать не на тот логический диск, где установлена Windows: чтобы избежать проблем с правами доступа к файлам и случайно не удалить сервер при переустановке системы. Для примера возьмём диск D.

    1.2. Установите текстовый редактор кода. Хорошие варианты: Visual Studio Code, Brackets, Atom, Sublime Text и Notepad++.

    Редактор не требуется, но с ним удобнее работать: как минимум, редактор нумерует строки и автоматически подсвечивает фрагменты кода разными цветами. Для таких редакторов как VS Code и Atom (и отдельный для Sublime) существуют пакетные менеджеры. Установив дополнительные пакеты, вы заставите редактор «подсвечивать» код ещё большего числа языков, а также научите автоматически указывать ошибки, дополнять выражения и делать многое другое. Но в конце–концов можно использовать и встроенный «Блокнот» Windows.

    1.3. В каталоге D:\web\www создайте файл index.html с текстом Hello world и файл index.php с текстом .

    HTML–файл необходим для проверки работы веб-сервера Apache HTTPD, который в среде разработчиков чаще называют просто Apache или «апач», хотя это и не совсем верно, ведь так называется группа проектов и стоящая за ними организация Apache Software Foundation, а не одна программа, но это простительная ошибка. Если Apache работает, то в браузере в ответ на обращение к серверу появятся слова Hello world. А вот PHP–файл необходим для проверки работы PHP, о котором ниже. Если PHP работает, то в браузере в ответ на обращение к серверу появятся сведения о конфигурации PHP.

    2. Установите и настройте Apache HTTPD

    2.1. Загрузите архив с последней версией Apache HTTPD для 64–разрядной Windows: httpd-2.4.38-win64-VC15.zip. На всякий случай, проверьте на официальном сайте Apache Lounge нет ли версии новее: apachelounge.com/download.

    Официальная сборка Apache под Windows не выпускается, сборки готовят отдельные организации, самой активной из которых является Apache Lounge. Сам Apache работает по HTTP и в Windows трудится как фоновый процесс, а в Linux — как демон (англ. daemon), откуда и название HTTPD. Существует Apache и под 32-битные версии Windows, для них необходима версия Win32, а не Win64. Указанные в имени файла VC15, VC14 и VC11 говорят о версии Visual Studio, которой скомпилирован Apache. Выберете самую последнюю версию и установите свежие вспомогательные файлы Visual Studio с официального сайта Microsoft: VC_redist.x64.exe.

    2.2. Распакуйте архив и перенесите содержимое папки Apache24 в папку D:\web\apache.

    Важно ничего не перепутать и перенести не все содержимое архива, а лишь содержимое подпапки с именем Apache24. В архиве могут быть файлы readme и прочая информация, которая не нужна для работы сервера.

    2.3. Откройте файл D:\web\apache\conf\httpd.conf. Поиском по файлу найдите и измените значение SRVROOT на D:/web/apache . Найдите и измените значения DocumentRoot и Directory на D:/web/www .

    У Apache несколько файлов с настройками, все они находятся в папке conf (от слова configuration, «конфигурация» в переводе с английского). Основные настройки задаются в файле httpd.conf. Параметр ServerRoot задает корневую папку самой программы Apache, а DocumentRoot и Directory задают корневую папку хоста, то есть ту папку, в которой хранятся файлы сайта. Номера строк с параметрами могут меняться в новых версиях Apache, поэтому я их не привожу, поищите параметры по документам. Чтобы открыть окошко поиска в вашем текстовом редакторе, нажмите Ctrl + F.

    2.4. В том же файле httpd.conf найдите, раскомментируйте и измените значение ServerName на localhost:80 .

    Параметр ServerName задаёт доменное имя, по которому хост (иначе говоря, сайт) будет откликаться. Так повелось, что домен внутри компьютера называют localhost и этот домен соответствует IP–адресу 127.0.0.1. Для обращения к сайту можно использовать как доменное имя, так и IP–адрес. Порт под номером 80 используется в вебе для протокола HTTP без шифрования. Комментарии в файле конфигурации Apache предваряются октоторпом (символом решетки), сервер будет игнорировать такие строки.

    2.5. В том же файле httpd.conf найдите и измените значение параметра ErrorLog на «D:/web/log/apache-error.log» , а также значение CustomLog на «D:/web/log/apache-access.log» common. Сохраните файл httpd.conf с перезаписью.

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

    2.6. Установите Apache через командную строку. Откройте командную строку (или выполните команду cmd в PowerShell) от имени администратора и выполните команду D:\web\apache\bin\httpd.exe -k install .

    Сервер установится тут же, прямо в режиме командной строки. Если вся подготовка прошла без ошибок — Apache установится, но ещё не запустится. Если захотите удалить Apache, то выполните в командной строке команду D:\web\apache\bin\httpd.exe -k uninstall .

    2.7. Запустите «Диспетчер задач» Windows, перейдите на вкладку «Службы». Найдите Apache2.4 в списке служб, вызовите контекстное меню: так вы сможете запустить, остановить или перезапустить сервер. Запустите сервер.

    В файлах сервера Apache для Windows также есть программа Apache Monitor, графический интерфейс, смысл которого ровно такой же: запускать, останавливать и перезапускать службу Apache2.4. Но в последней версии Windows 10 сильно проще попасть в список служб, поэтому смысла пользоваться Apache Monitor больше нет.

    2.8. Откройте браузер и наберите адрес http://localhost/ или http://127.0.0.1/ — вы должны увидеть надпись Hello world.

    Браузер обратится с запросом по 80 порту к тому же компьютеру, на который он установлен, и будет ждать ответа. Если установка Apache прошла без ошибок, но в ответе нет надписи Hello world — проверьте есть ли в каталоге D:/web/www файл index.html и еще раз пройдитесь по всем пунктам. Если все прошло успешно и в ответ вы получили файл index.html, то поздравляю, вы уже можете дополнять его кодом на HTML, CSS и JavaScript и обращаться к файлам по имени хоста.

    2.0. Обновить Apache легко. Переименуйте папку D:\web\apache в apache_old, распакуйте новую версию Apache в D:\web\apache, перенесите httpd.conf из папки apache_old в папку apache. Если все работает — удалите apache_old.

    3. Добавьте в Apache виртуальные хосты

    3.1. Откройте файл C:\Windows\System32\drivers\etc\hosts от имени администратора. Добавьте в него строки 127.0.0.1 host1.localhost и 127.0.0.1 host2.localhost . Сохраните файл hosts.

    Если текстовый редактор не может работать от имени администратора в защищенной папке Windows, то файл host можно скопировать в ничем не защищенную папку. Например, на Рабочий стол, где его можно отредактировать, сохранить, переместить обратно и подтвердить операцию с административными привилегиями, когда Windows их запросит. Редактор Visual Studio Code может запрашивать привилегии прямо во время сохранения защищенных файлов.

    3.2. Создайте папки D:\web\www\host1.localhost и D:\web\www\host2.localhost для виртуальных хостов. Внутри каждой папки создайте по файлу index.html с текстом host1 и host2 соответственно, а также по файлу index.php с текстом .

    HTML–файлы необходимы для проверки работы новых хостов Apache. Если хост работает, то в ответ на обращение к хосту в браузере появится соответствующий текст.

    3.3. Создайте папки D:\web\log\host1.localhost и D:\web\log\host2.localhost для журналов ошибок виртуального хоста.

    3.4. Откройте файл D:\web\apache\conf\httpd.conf. Раскомментируйте строку Include conf/extra/httpd-vhosts.conf . Сохраните файл httpd.conf.

    Когда Apache увидит, что у него есть доступ к httpd-vhosts.conf, то он перестанет принимать во внимание указанные ранее параметры DocumentRoot, ServerName, ErrorLog и CustomLog в файле httpd.conf. Все эти параметры будут взяты из файла конфигурации виртуальных хостов, а самый первый указанный хост будет считаться за localhost.

    3.5. Откройте файл D:\web\apache\conf\extra\httpd-vhosts.conf. Опишите виртуальные хосты в следующей нотации, после чего перезапустите Apache:

    ServerAdmin [email protected]
    DocumentRoot «D:/web/www/host1.localhost»
    ServerName host1.localhost
    ServerAlias www.host1.localhost
    ErrorLog «D:/web/log/host1.localhost/error.log»
    CustomLog «D:/web/log/host1.localhost/access.log» common

    ServerAdmin [email protected]
    DocumentRoot «D:/web/www/host2.localhost»
    ServerName host2.localhost
    ServerAlias www.host2.localhost
    ErrorLog «D:/web/log/host2.localhost/error.log»
    CustomLog «D:/web/log/host2.localhost/access.log» common

    3.6. Откройте браузер и перейдите по адресам http://host1.localhost/ и http://host2.localhost/ — вы должны увидеть надписи host1 и host2 соответственно.

    Если хочется поработать с двумя и более проектами на одном компьютере, то под каждый из них легко создать отдельные виртуальные хосты. Еще один хост легко создать, пройдя по инструкции сначала: создать папку хоста в D:\web\www, папку журналов ошибок в D:\web\log, строку с именем хоста в файле hosts и блок VirtualHost в файле httpd-vhosts.conf.

    3.0. Сохранить виртуальные хосты при обновлении Apache также легко. Просто не забудьте перенести еще и D:\web\apache_old\conf\extra\httpd-vhosts.conf в новую папку apache.

    4. Установите и настройте PHP

    4.1. Загрузите архив с последней версией PHP для 64–разрядной Windows: php-7.3.2-Win32-VC15-x64.zip. На всякий случай, проверьте на официальном сайте PHP нет ли версии новее: https://windows.php.net/download/.

    Обратите внимание, что вам нужна версия Thread Safe, то есть работающая в нескольких потоках, и она должна точно соответствовать версии Visual Studio, с помощью которой был скомпилирован Apache, например — VC15. Разрядность тоже должна быть как у Apache, 64-битные версии обозначаются x64, а 32-битные — x86.

    4.2. Распакуйте архив и перенесите все его содержимое в папку D:\web\php.

    4.3. Откройте файл D:\web\apache\conf\httpd.conf. Найдите секцию файла со множеством строк LoadModule и в самый ее конец добавьте две строки, первая — LoadModule php7_module «D:/web/php/php7apache2_4.dll» , и вторая — AddHandler application/x-httpd-php .php .

    Отдельная секция настроечного файла Apache посвящена модулям, которые расширяют возможности сервера. Строки можно было бы указать где угодно, но принято указывать их в этой секции. Здесь мы дополняем функциональность сервера библиотекой PHP и указываем расширения файлов c этим языком — .php. Существуют еще сотни популярных и полезных модулей, серьезно улучшающих работу Apache.

    4.4. В том же файле httpd.conf сразу после секции LoadModule добавьте строку PHPIniDir «D:/web/php» .

    Директивой PHPIniDir задается адрес файла php.ini. Этот файл содержит множество важных настроек самого PHP: допустимые размеры файлов для обработки, ограничения времени работы скриптов, параметры пользовательских сессий и многое другое.

    4.5. В том же файле httpd.conf найдите и измените значение DirectoryIndex на index.php index.html . Сохраните файл httpd.conf с перезаписью.

    4.6. Перезапустите Apache, откройте браузер и перейдите по адресу http://localhost/ или http://127.0.0.1/ — вы должны увидеть сведения о конфигурации PHP и Apache.

    Это значит, что вы все сделали правильно.

    4.7. Откройте файл D:\web\php\php.ini-development и сохраните его под именем D:\web\php\php.ini.

    Изначально php.ini отсутствует из соображений безопасности, владелец сервера должен самостоятельно его создать и проверить.

    4.8. В файле D:\web\php\php.ini найдите, раскомментируйте и отредактируйте следующие параметры: параметр extension_dir = «D:/web/php/ext» , параметр sys_temp_dir = «D:/web/tmp» , параметр extension=mysqli , параметр extension=mbstring , параметр date.timezone = Europe/Moscow (укажите свой часовой пояс в соответствии с документацией php.net/manual/ru/timezones.php). Сохраните php.ini и перезапустите Apache.

    В то время как PHP работает как расширение Apache, у самого PHP также есть множество важных и полезных расширений в виде библиотек, многие из которых идут в комплекте с PHP; прежде чем подключать эти расширения необходимо указать их адрес в параметре extension_dir. По ходу работы большинства популярных скриптов создаются временные файлы, необходимо указать папку для этих файлов в параметре sys_temp_dir. Одно из самых востребованных расширений — mysqli, стандартная библиотека для PHP, которая позволяет подключаться к базам данных под управлением MySQL. При работе с базами нередко нужно разбивать или собирать строки из нескольких мегабайт, для чего будет полезна библиотека mbstring. Также не стоит забывать про свой часовой пояс — он указывается вручную. С этим минимальным набором вы можете выполнять скрипты на PHP, хотя локальной базы данных у вас ещё нет.

    4.0. Обновить PHP легко. Переименуйте папку D:\web\php в php_old, распакуйте новую версию PHP в D:\web\php, перенесите php.ini из папки php_old в папку php. Если все работает — удалите php_old.

    5. Установите и настройте MySQL

    5.1. Загрузите последнюю версию MySQL Installer для Windows: mysql-installer-community-8.0.15.0.msi. На всякий случай, проверьте на официальном сайте MySQL нет ли версии новее: dev.mysql.com/downloads/windows/installer/.

    Обратите внимание на то, что это только установщик, и он собран для 32–битных Windows. Уже в ходе установки вы выберете какая версия MySQL вам нужна: для 64– или 32–битных систем.

    5.2. Установите MySQL Installer. Программа установится без лишних диалогов и сразу запустится с предложением принять лицензионное соглашение и установить уже сам MySQL. Примите лицензионное соглашение.

    Установщик пригодится в будущем для обновления MySQL — сам MySQL обновляться не умеет. Если установщик мешает, то его можно удалить и установить снова, когда появится желание обновить MySQL. Программа без труда определит установленную версию MySQL и предложит ее обновить. Новые минорные версии MySQL выходят достаточно часто, не лишним будет периодически заглядывать в установщик. Правда, при выходе мажорного обновления могут потребоваться полное удаление и повторная установка как самой MySQL, так и MySQL Installer.

    5.3. Выберете тип Custom (англ. Индивидуальный) на этапе Choosing a Setup Type (англ. Выбор типа установки) и нажмите Next.

    Остальные типы установки включают большое количество программ, которые могут и не пригодиться. В любой момент можно будет запустить установку повторно и добавить английскую документацию, примеры, командную строку MySQL, фирменный визуальный редактор, универсальные драйверы ODBC и прочее.

    5.4. Выберете MySQL 8.0.15 – X64 из древовидного списка MySQL Servers в поле Available Products (англ. Предлагаемые продукты), нажатием стрелки перенесите этот пункт в поле Products/Features to be Installed (англ. Продукты для установки), нажмите Next, подтвердите установку редистрибутива Visual Studio нажатием Execute, нажмите Next, снова нажмите Execute для установки сервера и переходите к конфигурации нажав Next ещё дважды.

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

    5.5. Выберете Standalone MySQL Server (англ. Обособленный сервер MySQL) на первом шаге диалога о конфигурации установки.

    В MySQL версии 8.0 появилась возможность установить тестовый кластер для баз InnoDB, но это узкоспециализированная задача, не для широкого круга начинающих энтузиастов.

    5.6. Не меняйте настройки по умолчанию на втором шаге и нажмите Next.

    Если у вас будет небольшая база данных, то лучше оставить Development Computer (англ. Компьютер для разработки) в поле Config Type (англ. Тип конфигурации). Если же база будет большой и потребует много оперативной памяти — взгляните на другие варианты. В форме Connectivity (англ. Соединение) всё же лучше ничего не менять.

    5.7. Выберете Use Legacy Authentication Method (англ. Использовать устаревший метод проверки подлинности) на третьем шаге и нажмите Next.

    Новый метод проверки подлинности логина и пароля доступа к серверу MySQL намного надежнее, но на 2020 год мало какие движки сайтов его поддерживают.

    5.8. Придумайте пароль root–пользователя сервера на четвертом шаге, проще всего использовать такой же пароль — root, и нажмите Next.


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

    5.9. Снимите галочку Start the MySQL Server at System Startup (англ. Запускать сервер MySQL при запуске системы) на пятом шаге, и нажмите Next.

    Галочку имеет смысл снять, если вам не нужно чтобы MySQL со всеми базами висел в оперативной памяти с самого запуска Windows. Если памяти не жалко, и вы не будете забывать остановить службу MySQL80, когда она вам не нужна, — автозагрузку можно и оставить.

    5.10. Нажмите Execute. MySQL сервер будет установлен и запущен. Нажмите Finish чтобы выйти из программы установки MySQL — вы вернетесь в MySQL Installer, нажмите Next и Finish уже в нем.

    Запустите «Диспетчер задач» Windows и увидите mysqld.exe в фоновых процессах (d расшифровывается как daemon, англ. демон, аналог Windows–процессов в системах Linux). Откройте вкладку «Службы» и увидите службу по имени MySQL80, которую вы можете останавливать и запускать по правому клику мыши. Поздравляю, вы установили СУБД MySQL и настало самое время к ней подключиться.

    5.0. Обновить MySQL ещё легче. Установите или запустите уже установленный MySQL Installer и проверьте в нём обновления. А если понадобится найти сами файлы баз данных под управлением MySQL, например, для переноса на новую мажорную версию, — вы их найдете по пути C:\ProgramData\MySQL\MySQL Server 8.0\Data.

    6. Установите и настройте phpMyAdmin

    6.1. Загрузите архив с последней версией phpMyAdmin: phpMyAdmin-4.8.5-all-languages.zip. На всякий случай, проверьте на официальном сайте phpMyAdmin нет ли версии новее: phpmyadmin.net/downloads/.

    Обратите внимание на то, что phpMyAdmin (или просто PMA) работает на чистом PHP, это не программа для Windows. Для работы PMA должен быть запущен Apache с модулем PHP.

    6.2. Распакуйте содержимое phpMyAdmin-4.8.5-all-languages (папка в архиве может быть вложена) в папку D:\web\www\pma.localhost, создайте отдельный виртуальный хост pma.localhost и не забудьте перезапустить Apache.

    Конечно, PMA можно просто поместить в отдельную подпапку любого уже настроенного хоста, но экономить на хостах на своем собственном компьютере нет никакого смысла — а отдельный хост удобнее просто для порядка.

    6.3. Откройте браузер и наберите адрес http://pma.localhost/ — вы должны увидеть окно phpMyAdmin для подключения к серверу MySQL. Введите логин root и пароль root — вы увидите графическое представление своих баз данных.

    6.4. Опционально: в файле D:\web\www\pma.localhost\config.sample.inc.php найдите параметр $cfg[‘blowfish_secret’] = » , поставьте в одиночные кавычки строку из 32 произвольных символов, на основе которых будут сгенерированы куки–файлы и сохраните файл под именем D:\web\www\pma.localhost\config.inc.php.

    Чтобы получить 32 символа на реальном сервере — можно упасть лицом на клавиатуру, а на локальной машине достаточно трижды набрать цифры от 0 до 9 и добавить 01: 01234567890123456789012345678901.

    Веб-сервер XAMPP. Установка и настройка

    В этой статье я постараюсь дать наиболее полный обзор веб-сервера XAMPP, сравнение версий для Windows, объясню как его установить, настроить и непосредственно перейти к работе над веб-проектом. В статье рассмотрены следующие темы:

    Для начала рассмотрим что из себя представляет веб-сервер XAMPP и сравним версии для Windows.

    XAMPP — кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер.

    На момент написания статьи на сайте доступны для загрузки две версии XAMPP для Windows: XAMPP Windows 1.7.2 [Basic package] и XAMPP Lite 1.7.2.

    Версия веб-сервера XAMPP Windows 1.7.2 [Basic package] XAMPP Lite 1.7.2
    Библиотеки Apache 2.2.12 (IPV6 enabled) Apache 2.2.12 (IPV6 enabled)
    MySQL 5.1.37 (Community Server) with PBXT engine 1.0.08-rc MySQL 5.1.37 (Community Server) with PBXT engine 1.0.08-rc
    PHP 5.3.0 + PEAR (PEAR, Mail_Mime, MDB2, Zend) PHP 5.3.0 + PEAR
    Perl 5.10.0 (Bundle::Apache2, Bundle::Apache::ASP, Bundle::Email, Bundle::DBD::mysql, DBD::SQlite) Mini Perl 5.10.0
    XAMPP Control Version 2.5.8 (ApacheFriends Edition) XAMPP Control Version 2.5.8 (ApacheFriends Edition)
    XAMPP CLI Bundle 1.6 XAMPP CLI Bundle 1.6
    XAMPP Port Check 1.4 XAMPP Port Check 1.4
    XAMPP Security 1.1 XAMPP Security 1.1
    SQLite 2.8.17 SQLite 2.8.17
    SQLite 3.6.16 SQLite 3.6.16
    OpenSSL 0.9.8k OpenSSL 0.9.8k
    phpMyAdmin 3.2.0.1 phpMyAdmin 3.2.0.1
    ADOdb v5.09a
    FPDF v1.6
    Zend Framework 1.9 Minimal Package (via PEAR)
    Mercury Mail Transport System v4.62
    msmtp 1.4.17 (a sendmail compatible SMTP client) msmtp 1.4.17 (a sendmail compatible SMTP client)
    FileZilla FTP Server 0.9.32
    Webalizer 2.21-02 (with GeoIP lite) Webalizer 2.21-02 (with GeoIP lite)
    Xdebug 2.0.5 for PHP
    eAccelerator 0.9.6-rc1 for PHP
    Ming 0.4.2 for PHP Ming 0.4.2 for PHP
    PDF with pdflib lite v7.0.4p4 for PHP PDF with pdflib lite v7.0.4p4 for PHP
    Системные требования 128 MB RAM 128 MB RAM
    256 MB free fixed disk 160 MB free fixed disk
    Windows 2000, XP (Server 2003), Vista (Server 2008) Windows 2000, XP (Server 2003), Vista (Server 2008)
    all systems 32 bit (64 bit not tested) all systems 32 bit (64 bit not tested)
    Размер EXE 44MB ZIP 84MB EXE 26MB ZIP 56MB
    Станица загрузки http://www.apachefriends.org/en/xampp-windows.html#641 http://www.apachefriends.org/en/xampp-windows.html#646

    Вопрос выбора версии заключается лишь в наличии необходимых библиотек (см. табл. выше), облегченная версия по заявлению авторов обновляется не так часто как полный пакет, процесс установки обеих версий абсолютно идентичен. Переходим на сайт по указанным выше ссылкам и качаем подходящую вам версию (в обзоре я буду говорить об установке и настройке XAMPP Windows 1.7.2 [Basic package], установка производилась на Windows 7 Ultimate x86).

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

    1. Начинаем установку XAMPP. Откроется окно, в котором нам предлагается выбрать путь для размещения сервера. По-умолчанию это диск C:\. Я не буду изменять путь и установлю сервер на предложенный диск. Нажимаем кнопку Install и ждем пока дистрибутив полностью распакуется.

    2. После распаковки дистрибутива запустится командная строка, далее основная установка будет происходить через нее. XAMPP предлагает создать ярлыки на рабочем столе и в меню пуск, нажимаем enter.

    3. Теперь у нас спрашивают, правильно ли выбран каталог установки XAMPP, по-умолчанию сервер будет располагаться по следующему адресу C:\xampp, нажимаем enter.

    4. Хотим ли мы установить портативную версию? Нажимаем enter, т.к. XAMPP устанавливается на жесткий диск.

    5. Окончательная установка XAMPP. Нажимаем enter для продолжения.

    6. Автоматический выбор часового пояса. Нажимаем enter.

    7. Запустим панель управления XAMPP (XAMPP Control Panel), выбираем 1 и жмем enter.

    8. Открылась панель управления сервером. Закрываем командную строку.

    Подсказки по панели управления:

    Checkboxes (Svc) — устанавливает модуль в качестве службы Windows (если вы хотите запускать какой либо модуль (Apache, MySQL и т.д.) как службу, то отмечаем соответствующие флажки)

    Admin — запускует администрирование модулем (Admin напротив модуля Apache — откроет окно приветствия XAMPP, выбираем язык. И попадаем в веб-интерфейс XAMPP, здесь можно проверить демонстрационные примеры в разделе Demos, узнать информацию о модулях и т.д. Admin напротив модуля MySQL — запустит phpMyAdmin)

    Shell — запуск командной строки для работы с сервером;

    Setup — открывает командную строку для настройки XAMPP;

    Port-Check — проверка портов;

    Explore — открывает папку в которую установлен XAMPP, в нашем случае C:\xampp;

    SCM — открывает окно управления службами Windows;

    Refresh — обновление состояния модулей;

    Запускается XAMPP с помощью ярлыка на рабочем столе или в меню пуск, если же вы при установке отказались от создания ярлыков, вы можете запустить XAMPP с помощью файла xampp-control.exe в директории C:\xampp, там же вы можете увидеть все остальные ярлыки, которыми можно запустить отдельные модули, деинсталировать XAMPP и т.п.

    Иконка XAMPP удобно сидит в трее и при щелчке левой кнопки мыши открывает панель управления (XAMPP Control Panel).

    9. Запускаем модули Apache и MySQL (кнопки Start), набираем в браузере localhost (или жмем Admin напротив модуля Apache):

    10. При первом запуске откроется страница приветствия, выбираем один из предложенных языков:

    11. Попадаем в веб-интерфейс XAMPP, здесь вы можете ознакомиться документацией, примерами в разделе Demos и т.д.:

    В разделе Security находятся настройки безопасности:

    Перейдя по указанной ссылке http://localhost/security/xamppsecurity.php, можно задать пароль для администратора баз данных MySQL и можно установить пароль на директорию XAMPP для ограничения доступа из локальной сети:

    Итак, мы установили и ознакомились с веб-сервером XAMPP, теперь настало время создать тестовую страницу и разместить наш проект.

    Для того чтобы создать новый сайт на локальном веб-сервере, необходимо создать папку с названием сайта в папке C:\xampp\htdocs\, например blog и создадим там тестовый php-скрипт с кодом:

    Сохраним как index.php. Структура папок:

    Переходим в браузере по адресу http://localhost/blog/ и, если все сделано правильно, видим приветствие «Hello world!», тем самым мы протестировали работоспособность сервера:

    Веб-сервер можно установить и другим способом, для этого необходимо распаковать инсталятор или ZIP-архив в любое удобное для вас место на жестком диске, название папки xampp можно переименовать, например в server и запустить установку с помощью файла setup_xampp.bat в этой папке, повторить все шаги описанные выше.

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

    Настройка виртуальных хостов

    Если мы хотим хранить свои проекты в другой папке (например, Мои документы) или локальная версия сайта должна работать при переходе по адресу www.blog.ru вам необходимо разобраться с настройкой виртуальных хостов, об этом и пойдет речь в данном подразделе.

    Предположим наш сайт должен храниться на диске C в папке my_projects (C:\my_projects), в браузере он должен открываться по адресу www.blog.local или blog.local.

    Создадим в папке my_projects папку с названием blog.local, в ней создадим папки www и logs. В папку www положим наш тестовый скрипт index.php.

    Вот так это будет выглядеть в файловой системе Windows:

    Теперь перейдем к настройке виртуальных хостов. Открываем в текстовом редакторе файл httpd-vhosts.conf, расположенный по следующему адресу: C:\xampp\apache\conf\extra.

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

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

    Верхний виртуальный хост, выделен другим цветом, позволит нам по прежнему заходить на localhost (локальный сайт XAMPP).

    Следующим шагом нам потребуется добавить две строчки в файл hosts, расположенный по следующему адресу C:\Windows\System32\drivers\etc\hosts (также рекомендую создать для него ярлык в папке сервера):

    Заходим в панель управления XAMPP (XAMPP Control Panel) и перезапускаем Apache. Теперь проверим наш сайт, который должен работать по адресу www.blog.local. Если все сделано верно, то мы увидим приветствие «Hello world!».

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

    Также не забываем добавить следующие строчки в файл hosts в папке Windows:

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

    По аналогии можно добавить сколько угодно виртуальных хостов.

    Немного справочной информации относительно того, что мы добавляем в файл httpd-vhosts.conf:

    ServerAdmin [email protected] — e-mail-адрес администратора веб-сервера;

    DocumentRoot «C:\my_projects\blog.local\www» — путь к папке с сайтом;

    ServerName blog.local — название сайта, которое набирается в браузере, может иметь любое значение, например blog или blog.ru;

    ServerAlias www.blog.local — адрес по которому сайт также должен открываться;

    ErrorLog «C:\my_projects\blog.local\logs\error.log» — журнал ошибок;

    CustomLog «C:\my_projects\blog.local\logs\access.log» combined — журнал доступа к сайту, кто и когда заходил на сайт и с какого браузера, combined — означает, что отчет будет более информативным, можно заменить значением common (менее информативно);

    Приведенная выше конструкция разрешает отображение всех файлов в указанной директории и назначает максимально возможные привилегии (без AllowOverride All не будут работать ЧПУ).

    Если делали все внимательно, то создание новых сайтов на виртуальном сервере не составит для вас труда, ошибки могут быть из-за синтаксиса, к примеру если вы допустите ошибку в httpd-vhosts.conf, Apache может просто не запустится. Для анализа ошибок воспользйтесь логами Apache, файл error.txt расположенный в по адресу C:\xampp\apache\logs.

    «Отладочная заглушка» для sendmail

    Если вы пользовались Denwer-ом, то помните, что все письма с локального сайта отправлялись в папку sendmail, это достаточно удобно, но в XAMPP такой функции не предусмотрено, в XAMPP есть собственный почтовый сервер, но он потребует немало времени, чтобы с ним разобраться.

    С помощью описанной ниже инструкции, вы сможете создать такую же «заглушку» как и в Denwer.

    1. В папке sendmail (C:\xampp\sendmail) создадим файл sendmail.php с кодом:

    В моем случае предполагается получение писем в кодировке UTF-8, если вы хотите получать письма в в кодировке CP1251, то замените строчку:

    2. В файле php.ini (C:\xampp\php) заменяем строчку:

    sendmail_path = «C:\xampp\sendmail\sendmail.exe -t»

    sendmail_path = C:\xampp\php\php.exe c:\xampp\sendmail\sendmail.php

    Строка должна быть раскомментирована (убрать символ точки с запятой «;» в начале строки).

    3. Создадим папку sendmail в папке tmp (C:\xampp\tmp\sendmail).

    4. Перезапускаем сервер Apache и теперь все отправленные письма будут в папке C:\xampp\tmp\sendmail

    Руководство по созданию «отладочной заглушки» для XAMPP было предложено Anton L. Safin .

    Установка WordPress на XAMPP

    Для установки WordPress будем использовать, ранее созданный, виртуальный хост blog.local, следовательно и файлы движка будут располагаться в папке blog.local (C:\my_projects\blog.local\www).

    1. Скачиваем свежую версию WordPress с официального сайта www.wordpress.org и распаковываем архив в папку www (содержимое папки wordpress в архиве).

    2. Перейдем в phpMyAdmin и создадим базу данных для нашего блога:

    Новая база данных: blog; сравнение: utf8_general_ci; сопоставление соединения с MySQL: utf8_general_ci → нажимаем кнопку Создать.

    Итак, база данных создана:

    3. Вернемся в папку в которую мы распаковали WordPress и найдем файл wp-config-sample.php, переименуем его в wp-config.php и откроем в любом текстовом редакторе, который поддерживает кодировку UTF-8 и введем свои данные:

    — Имя базы данных для WordPress: blog;

    — Имя пользователя MySQL: root;

    — Пароль пользователя MySQL: оставляем пустым, если в настройках Security ничего не указывали;

    — Адрес сервера MySQL: localhost;

    — Кодировка базы данных при создании таблиц: utf8;

    — Схема сопоставления: utf8_general_ci;

    Выглядеть это должно так:

    Сохраняем и закрываем файл.

    Важно чтобы все изменения в файле wp-config.php сохранились в кодировке UTF-8!

    4. Переходим в браузере по адресу blog.local и видим страницу приветствия WordPress, вводим название блога и e-mail администратора (все письма мы можем посмотреть в папке sendmail, речь о которой шла выше):

    Нажимаем «Установить WordPress» и попадаем на страницу с логином и паролем:

    Вход в панель администрирования блогом: http://blog.local/wp-admin/

    Переход на блог: http://blog.local

    Установку WordPress можно произвести и альтернативным способом, для этого после распаковки архива с движком и создания базы данных, наберите в адресной строке браузера название вашего блога, WordPress предложит создать файл wp-config.php через веб-интерфейс.

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

    Комментарии (153):

    Суроегин И. А.

    Добрый вечер! Я с Хабрахабра) Боюсь что-то там комментировать, злые в Вашей статье комментаторы.

    Спасибо за статью! Искал какое-то время обзор данного продукта, ведь он является аналогом Денвера. После прочтения теперь мне кажется, что XAMPP то, что мне надо. 😉

    Harry

    Спасибо очень полезно.

    makegood

    Спасибо, для людей и делал;)

    Armand

    Большое Спасибо!!
    Уже отчаялся из за того, что Денвер не работает после того, как поставил Щиндощс 7. Хотел сам помучится и ставить сервер со всем остальным вручную, и нечайно наткнулся на Вашу статью. Это должно быть то, что мне надо.

    Здраствуйте . Статья супер . Вот только как мне созданный сайт сделать что бы его могли видить по локальной сети ? .

    Pavel

    Спасибо. Очень полезная статья про заглушку sendmail. А то я как только посмотрел на настройки этого Mercury\32… сразу промелькнула мысль вернуться на Денвер.. )) Сейчас пользуюсь связкой NetBeans+XDebug+XAMPP+Dreamweawer CS4..

    хороший материал)
    от себя добавлю следующее:
    ЕСЛИ
    1. в папку C:\my_projects\blog.local\www положен DRUPAL
    2. созданы папки C:\my_projects\blog.local\www\sites\site1.local и C:\my_projects\blog.local\www\sites\site2.local
    3. в обе означенные папки скопирован файл settings.php (из файла C:\my_projects\blog.local\www\sites\default\default.settings.php разумеется )
    4. в файл host добавленны строки 127.0.0.1 site1.local и 127.0.0.1 site2.local
    5. в файл httpd-vhosts.conf добавленны (помимо указанных автором статьи) записи

    ServerAdmin [email protected]
    DocumentRoot «C:\my_projects\blog.local\www»
    ServerName site1.local
    ServerAlias http://www.site1.local

    AllowOverride All
    Order allow,deny
    Allow from all

    ServerAdmin [email protected]
    DocumentRoot «C:\my_projects\blog.local\www»
    ServerName site2.local
    ServerAlias http://www.site2.local

    AllowOverride All
    Order allow,deny
    Allow from all

    6. для site1 и site2 созданы базы данных и пользователи с правами на них соответственно
    ТО
    зайдя по адресам site1.local и site2.local смело начинаем установку и настройку двух различных сайтов работающих на одном движке

    вот такой вот мультисайтинг drupal + xampp + виртуальные хосты 🙂
    один движок и куча сайтов на нем — весьма удобно для верстающих в домашних условиях.
    (по желанию Order deny,allow и allow from 127.0.0.1 — дабы запретить к папочке доступ извне)

    Спасибо за статью. Я искал ответ по настройке Mercury, но в итоге нашел больше и полезнее.
    Но! Пожалуйста, помогите разобраться с такой проблемой в настройках XAMPP, в предыдущих версиях 1.7.1 и более ранних, была доступна администрация с удаленного компьютера (через интернет) — mysql и PHPMyAdmn. Сейчас выдает инфу:

    New XAMPP security concept:
    Access to the requested directory is only available from the local network.
    This setting can be configured in the file «httpd-xampp.conf».

    If you think this is a server error, please contact the webmaster.

    Error 403
    statsme.sknt.ru
    20.01.2010 4:33:47
    Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1)

    Проимерно понимаю, что настройки скрываются в httpd-xampp.conf
    Хочу контролировать сервер удаленно, например, находясь на даче. Помогите с ответом, если не трудно.

    makegood

    Витя, этот момент меня тоже интересует в теории, на практике пока не сталкивался, думаю, XAMPP настраивается аналогично Denwer, может быть поможет ссылка: http://www.denwer.ru/faq/shared.html

    Хорошая статья, хотя думал будет интересней.
    На счет ксампа, то пользую его уже несколько лет, с каждой новой версией все лучше и лучше.
    Сейчас версия 1.6.2.2 от GeXa. он его немного под настроил, лично мне подходит.
    Если кому интересно, то вот ссылка http://mysoft.my.ck.ua/ , и там будет ксамп

    qwertyC >7 февраля 2010 в 12:07 #

    За почтовую заглушку спасибо!

    Eвгений

    У меня в 9 пункте не получается запустить Apache, чтоббы писала RUNNING. подскажите плиз 🙂

    makegood

    Попробуйте посмотреть журнал: C:\xampp\apache\logs\error.txt

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

    uvlad

    Все замечательно, но у меня возникла проблема с gettext, никаких ошибок не выводит, но текст не переводит, оставляет ключивые слова как есть… Никто не пробывал использовать для локализации gettext вместе с xampp ?

    Спасибо огромное за статью о настройке ксамппа. Хотя с виртуальными серверами проблема. Не могу настроить даже по статье! Хотя с АППСЕРВЕР таких проблем не возникало. А с этим: не работает и всё! Не знаю что делать. (((

    Sunnyman

    Отличная статья. Респект! 🙂

    Немного о XAMPP, установил сервер на ОС Win7 32бит. Полет нормальный, даже очень. Отказался от идеи управлять сервером из вне, спасибо -makegood и статье Denwer.
    К делу: вроде удалось настроить Mercury, стало появляться системное сообщение о чтении сообщения, — я открываю и смотрю на голубое поле, текста нет. Кто сталкивался с подобным?
    Второе: sendmail — почтовый сервер?

    Павел

    Ребята, подскажите пожалуйста, уже замучался!! У меня есть ноутбук и домашний комп. На домашнем виста, а на ноуте 7я винда. На обоих пытаюсь запускать денвер — на домашнем всё получается, а ноут выдает ошибку 2003 и ругается на права доступа к серверу. Решил плюнуть на денвер, установил XAMPP, и опять аналогичная ситуация. На домашнем всё получается, а ноутбук даёт ошибку 403 Access forbidden. Ноут новый совершенно, ничего кроме винды на нём не стояло до этого, антивирус выключал, брендмауэр тоже….

    Есть ли какие-то мысли по этому поводу?

    Александр

    На семерке есть сервис http.sys который занимает 80 порт, соответственно апач говорит, что порт занят и отрубается 🙁 Помогает установка апача в качестве сервиса и отключение UAC. В этом случае после ребута апач стартует первым и может занять свободный порт!
    «Кароч, кто первый — того и тапки… » 😀

    Спасибо за статью. Единственная толковая статья по этой теме. Все получилось, но одно непонятно: почему при введении в браузере http://www.site.local все равно воспроизводиться index.php из С:\xampp\htdocs (для site.local я написала ‘It works!’, а для localhost — ‘Hello world!’).
    В файле hosts у меня такие записи: 127.0.0.1 localhost
    127.0.0.1 site.local
    127.0.0.1 http://www.site.local
    В файле httpd-vhosts.conf : все сделано в соответствии с вашей статьей.

    P.S:Apache перезапускала, кэш браузера чистила.

    Буду признательна за ответ и отсутствие гнилых помидор со стороны комментирующих.

    makegood

    Юля, по всей видимости, вы могли допустить ошибку в файле httpd-vhosts.conf, Apache нужно остановить и запустить, рекомендую использовать обозначения согласно примеру в статье и все получится.

    Спасибо за ответ.
    Я согласна даже на один(!) гнилой помидор, т.к. причина крылась в банальном переименовании корневой папки.
    Да и вообще, многие проблемы лечатся периодическим отдыхом от монитора и элементарной внимательностью.

    Кирилл, Фрилансер

    Знаете, раньше пользовался Денвером и был доволен. Но после того как пересел ан Windows 7 и начали появлятся какие-то проблемы и/или PHP кидали ошибки непонятного рода происхождения, задумался о смене…

    …слечайно попал на ваш блог. Спасибо. В хорошем свете преподнесен XAMPP и главное, что для меня важно. это подключенный PERL и возможность безпроблемной работы Tomcat вместе. вообщем, спасибки за статью и успешной раскрутки ресурса! удачи.

    Antony

    Статья очень хорошая, и замечательно расписана. автору — спасибо.

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

    Большой спасибо за статью… А как сделать видимым сайт в локалке…

    makegood

    Большой спасибо за статью… А как сделать видимым сайт в локалке…

    Вообще ничего особенного не делал, просто заходил с другого компьютера в сетке на адрес сайта и все работало, к сожалению, сейчас проверить не могу.

    Что касается поста Евгения,у меня схожая ошибка,в лог-файле написано следующее:
    (OS 10048)Обычно разрешается одно использование адреса сокета (протокол/сетевой адрес/порт). : make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    Unable to open logs
    что делать в этом случае?

    спасибо уже разобрался,нажал port-check написано что 80 порт занял скайп,отключил его все заработало

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

    Warning: Cannot modify header information — headers already sent by (output started at C:\virtualhosts\site.local\www\wp-config.php:1) in C:\virtualhosts\site.local\www\wp-includes\pluggable.php on line 890

    до этого все шло по плану, синтаксис везде проверила, не знаете, в чем может быть проблема?

    А с чего это вдруг localhost?
    Я допустим хочу адрес 192.168.137.1 Как поменять?

    Я в hosts (в папке: C:\Windows\System32\drivers\etc) добавил:
    192.168.137.1 test.local

    А в httpd.conf (в папке: C:\xampp\apache\conf) изменил на:
    ServerAdmin [email protected]
    ServerName test.local:80

    Перезапустил xampp (стоп и старт apache и mysql)
    Со своего компа заходит, а с другого компа (192.168.137.2) не заходит (все фаерволы отключены). Помогите плз. И так, чтобы со второго компа не было сайта test.local/phpmyadmin/ Заранее спасибо.

    makegood

    Test
    Сделайте все точно по инструкции, тогда поймете принцип и попробуйте на другом компьютере сайт тоже добавить в: C:\Windows\System32\drivers\etc

    Я всё делал по инструкции. со второго компа ввожу в браузере test.local — сервер не найден.
    а с 1-го компа пишет в браузере Hello World!
    Установлены на 2-х компах Windows 7 professional, Mozilla Firefox 3.4.8
    Всё перепробовал — никак не получается зайти со второго компа 🙁
    Может система Windows 7 все порты закрыла?

    Я даже пробовал настроить виртуальные хосты — все равно на 1-м работает, а на 2-м не работает…

    >попробуйте на другом компьютере сайт тоже добавить в: C:\Windows\System32\drivers\etc

    а зачем? другой комп должен «зайти» на 1-ый комп.

    Народ, кто нибудь толком может объяснить где прописывать конкретно вместо 127.0.0.1 свой IP чтобы открывался сайт со всех компьютерах?

    лан, куриный помет этот xampp перейду на easyphp — это единственное легко настраиваемое дер*мо.

    Dragen

    Народ, кто нибудь толком может объяснить где прописывать конкретно вместо 127.0.0.1 свой IP чтобы открывался сайт со всех компьютерах?

    меня тоже это интересует нахрен мне сайт в локалке? в инет то как его запустить?

    relli

    Пожалуйста подскажите как убрать проверку ошибок. При установке на XAMPP движка сайта Joomla требуется убрать проверку ошибок. Может кто подскажет как это сделать. Спасибо!

    Сергей

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

    alles

    Здравствуйте.
    После редактирования файла httpd-vhosts.conf, по вашему образцу создания сайта
    Апач перестаёт запускатся.
    Это после редактирования
    httpd.exe: Syntax error on line 484 of C:/xampp/apache/conf/httpd.conf: Syntax error on line 49 of C:/xampp/apache/conf/extra/httpd-vhosts.conf: without matching section

    [Wed Sep 29 23:48:14 2010] [notice] Digest: generating secret for digest authentication …
    [Wed Sep 29 23:48:14 2010] [notice] Digest: done
    [Wed Sep 29 23:48:15 2010] [notice] Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
    configured — resuming normal operations
    Эта часть лога после возврата к исходнику
    [Wed Sep 29 23:48:15 2010] [notice] Server built: Nov 11 2009 14:29:03
    [Wed Sep 29 23:48:15 2010] [notice] Parent: Created child process 3972
    [Wed Sep 29 23:48:18 2010] [notice] Digest: generating secret for digest authentication …
    [Wed Sep 29 23:48:18 2010] [notice] Digest: done
    [Wed Sep 29 23:48:19 2010] [notice] Child 3972: Child process is running
    [Wed Sep 29 23:48:19 2010] [notice] Child 3972: Acquired the start mutex.
    [Wed Sep 29 23:48:19 2010] [notice] Child 3972: Starting 150 worker threads.
    [Wed Sep 29 23:48:19 2010] [notice] Child 3972: Starting thread to listen on port 443.
    [Wed Sep 29 23:48:19 2010] [notice] Child 3972: Starting thread to listen on port 80.
    ———————————————————————————————————-
    Вы случайно не допустили ошибку в примере, или как исправить?

    alles

    Разобрался.
    Специально что ли делаете чтоб поломали головы?
    Надо так
    ———————————————————————————————
    ##
    DocumentRoot «C:\xampp\htdocs»
    ServerName localhost
    ##
    ##
    ## ServerAdmin [email protected]
    ##DocumentRoot «C:\my_projects\blog.local\www»
    ## ServerName blog.local
    ##ServerAlias http://www.blog.local
    ##ErrorLog «C:\my_projects\blog.local\logs\error.log»
    ##CustomLog «C:\my_projects\blog.local\logs\access.log» combined
    ##
    ## AllowOverride All
    ##Order allow,deny
    ##Allow from all
    ##
    ##
    ——————————————————————————————————
    а не так как у вас.

    DocumentRoot «C:\xampp\htdocs»
    ServerName localhost

    ServerAdmin [email protected]
    DocumentRoot «C:\my_projects\blog.local\www»
    ServerName blog.local
    ServerAlias http://www.blog.local
    ErrorLog «C:\my_projects\blog.local\logs\error.log»
    CustomLog «C:\my_projects\blog.local\logs\access.log» combined

    AllowOverride All
    Order allow,deny
    Allow from all

    alles

    всё равно ещё гдето есть ошибка
    заходиш на http://www.blog.local а открывается http://www.blog.local/xampp/ вместо сайта

    makegood

    alles, отписался на почту.

    alles

    Здравствуйте.
    makegood,спасибо !
    Буду пробовать переделать. Результат напишу.

    alles

    Переделал по вашему образцу, но всё равно при наборе в браузере http://www.moy.syte/
    открывается http://www.moy.syte/xampp/

    alles

    Подскажите пожалуйста как в хампе создаются новые БД и новые пользователи.
    В денвере и Топсерверах можно создать много баз и пользователей через окно -интерфейс.
    Можно создать базы типа BD1;BD2 и тд, с пользователями. Много баз, и много пользователей.
    А в хампе я не понял. Вроде как через phpmeAdmin.

    alles

    После пяти суток курения поставил хамп и создал локальные хосты.
    Всё заработало после того как стёр название корневой папки сайта и вписал его по новой.
    Пришлось править файл mu.ini для того чтобы БД работала с русской кодировкой .

    alles

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

    makegood

    alles
    XAMPP работает замечательно, за два года проблем не обнаружено и в статье все подробно описано.
    XAMPP не создает БД, они создаются в MySQL, phpMyAdmin — это всего лишь интерфейс для работы с MySQL.
    Продукт полностью функциональный, а вам сначала требуется научиться читать материал.
    Проблема кривых рук — не задача разработчиков.

    Будет интересно почитать, о том как вы будете работать с другим веб-сервером…

    uniman

    Windows 7 ultimate, 32 bit, при установке консоль даже и не думает появляться. Что за проблема такая. 🙁

    uniman

    Всё, спасибо, проблема решена 😀

    dimas

    У меня есть домен, как установить Xampp чтобы сайт видели с инета?

    Николай

    установил xampp, хосты не перенастраивал, заглушку тоже не делал, поставил wordpress 3.0.1 в созданную папку htdocs/blog.ru (так что вызывается блог по адресу http://localhost/blog.ru/ ) пользователя создал для базы своего и с паролем, привелегии естественно поставил полностью, для пользователя root пароля не назначал…

    Вопрос вот в чем — блог работает, открывается, но не срабатывает в Консоли (да и на любых других страницах админки кнопки справа вверху, например «Настройка экрана» и «Помощь», в «Виджеты» не перетаскиваются виджеты, на первой странице админки «Консоль» окошки «быстрая публикация», «Блог WordPress», «Плагины», «Входящие ссылки», «Новости» находятся в состоянии загрузки и не грузятся вообще, убрать их не могу, в левой колонке — «Меню» также не раскрываются окошки разделов меню.

    Думал это проблема браузера, но на реальном блоге все работает, из-за чего такое может получаться, может нужно какой модуль активировать в Apahe…

    makegood

    Николай, возможно проблема с jQuery. Все необходимые модули у вас идут из коробки.

    Николай

    хорошо, но почему это наблюдается только на локалке, а при работе с блогом в интернете все работает?

    trigremm

    большое спасибо за статью — очень помогла на первых шагах — сейчас хочу попробывать поставить mediawiki — но инсталлер ругается на версию php — не могли бы вы подсказать как правильно проапдейтить php так чтобы ничего не испортить

    Фарход

    перевел свой сайт с Денвера на XAMPP 1.7.3. Во многих скриптах есть вывод данных в табличном виде через класс Paging. В Денвере все работала, но здесь почемуто выдает ошибку. Помогите с решением, пожалуйста.
    Fatal error: Class ‘Paging’ not found in C:\xampp\htdocs\mysurat.net\www\my_order_list.php on line 67

    Могу выслать листинг и сам класс.

    makegood

    Фарход, скорее всего, вы забыли что-то перенести, а если класс зависит от каких либо дополнительных расширений PHP, то попробуйте сравнить phpinfo() Денвера и XAMPP, и добавьте соответствующие расширения.

    К сожалению на просмотр кода сейчас нет времени…

    Фарход

    Спасибо, проблема решена. Подключаемый класс начинался с

    Сергей

    Обьясните кто знает почему на сервере ХАМPP невозможно создать сайт с движком DLE
    а например Joomla cвободно устанавливается дело в том что у меня почему то отказывается
    работать Denver.

    евген

    Объясните пожалуйста я недавно начал изучать PHP (Дмитрий Котеров САМОУЧИТЕЛЬ PHP 4). Установил XAMPP начал пробовать примеры php кода а php не исполняется, версия XAMPP 1.7.3 не могу понять, что где нужно настроить.

    makegood

    Сделайте в точности по приведенному примеру (используйте те же именования) и у вас все получится.

    евген

    Дуло в том, что я устанавливал XAMPP именно по вашему примеру(уже 2 раза переустановил)
    помогите

    Александр

    Спасибо огромное за настройку почты в ксампе! Все отлично работает!!

    Алекс

    Странно, сделал всё как описано, нажимаю админить или ( http://localhost/xampp/ в адресной строке) а мне всё время пишет:
    The requested URL /xampp/ was not found on this server
    Подскажите, пожалуйста, в чём может быть дело?((

    Sergey

    Прекрасный, простой » русскоязычный расклад». Спасибо автору. Ранее всегда пользовал ручками настроенные «три кита» но, неинтересно стало тратить лишнее время и попробовал ксамп — понравилось. Классный джентльменский набор. А отдельным недовольным, предлагаю: прежде чем что-то хаять — разберитесь в своих знаниях предмета.

    lao007

    Спасибо Огромное…. все доходчиво и все работает….
    реально столкнулся тока с одной проблемой — со своей невнимательностью. и кривыми руками….
    если все делать как написано , то запускается сразу….
    Зато мои кривые руки помогли разобраться в некоторых нюансах, при попытке исправить ошибки…
    Терпеливей надо быть…

    только не совсем понял один момент:

    вот такой вот мультисайтинг drupal + xampp + виртуальные хосты 🙂

    у меня если -«в обе означенные папки скопирован файл settings.php (из файла C:\my_projects\blog.local\www\sites\default\default.settings.php разумеется )» то не запускается install.php в DRUPAL….

    выкидывает на тестовую XAMPP… при запросе в браузере… blog.local…

    можно по подробнее о настройке мультисайтинге….как заставить прописаться в базах обоих сайтов?

    Подскажите, пожалуйста, всё сделал как Вы написали, но в браузере http://www.moy.syte
    открывается http://www.moy.syte/xampp/ . А если удалить содержимое /xampp/ и положить туда php script? или html файл, папка просто открывается для просмотра как в FTP.
    В чём может быть проблема?

    Для тех у кого есть домен, и хочет видеть сайт в нете.
    Этот параметр может быть настроен в файле «HTTPD-xampp.conf»
    C:\xampp\apache\conf\extra «HTTPD-xampp.conf»
    ЭТО:

    Order deny,allow
    Deny from all
    Allow from::1 127.0.0.0/8 \
    fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
    fe80::/10 169.254.0.0/16
    ЗАМЕНИТЬ НА ЭТО:

    Order deny,allow
    Deny from all
    Allow from all

    Дальше в браузере пишите свой домен, и должно всё получиться!
    У меня получилось!

    Ну ни как у меня в 9 пункте не получается запустить Apache, чтоббы писала RUNNING. подскажите пожалуйста:

    makegood

    Ну ни как у меня в 9 пункте не получается запустить Apache, чтоббы писала RUNNING. подскажите пожалуйста:

    Посмотри журнал Apache: C:\xampp\apache\logs\error.txt

    Александр

    Здраствуйте зделал все как вы написали но не запускается апачи в логе пишет-httpd.conf: syntax error line 51 и httpd-vhost.conf: expected but sam в чем дело не объесните?заранее блогадарен

    Михаил

    Делаю всё по инструкции, но есть проблема. Сделал тестовый скрипт, сохранил как надо, зашёл в браузер ввёл http://localhost/blog/ а он мне выдаёт ни HELLO WORLD а обычный код который содержится в тестовом скрипте. Это нормально.

    Михаил

    как создавать скрипт, вернее в каком редакторе.

    Чё та заглушка как то криво работает. (( Сохраняет только заголовки, а тела письма нет. Может кто знает, как это лечится?

    GHOST

    извините пожалуйста.. Я совсем новичок в этих делах.. Мне нужен ваш совет.. на верху написано (Заходим в панель управления XAMPP (XAMPP Control Panel) и перезапускаем Apache. Теперь проверим наш сайт, который должен работать по адресу http://www.blog.local . Если все сделано верно, то мы увидим приветствие «Hello world!».) Но как перезапустить ? надо на кнопку стоп нажать ? Я так побывал потом не как не смог запускать Апачи ((( прошу помогите .

    makegood

    to GHOST
    Перезапускается нажатием кнопки Stop, если не работает то посмотри логи Apache (C:\xampp\apache\logs\error.txt).
    Если ничего не получается, то ошибка скорее всего синтаксическая, делайте внимательнее!

    Андрей

    еще было бы неплохо добавить то как обновить pear модули идущие с xampp по умолчанию. В контрольной панели xampp нажать кнопку shell и внутри окна набрать pear upgrade. Спасибо.

    Фарход

    Добрый день, подскажите почему не работает пример, приведенный на сайте http://phpclub.ru/detail/article/Excel_Writer ? т.е. хочу сделать экспорт данных в Эксел, не работает. Хотя сам phpMyAdmin спокойно экспортирует.

    Александр

    Здраствуйте зделал все как вы написали «Отладочная заглушка для sendmailно» но пишет ошибку: Невозможно инициализировать функцию отправки почты.
    Какие Общие настройки в joomle при Установки почты?
    Заранее спасибо.

    Александр

    Здраствуйте зделал все как вы написали «Отладочная заглушка для sendmailно» но пишет ошибку: Невозможно инициализировать функцию отправки почты.
    Какие Общие настройки в joomle при Установки почты?
    Мои настройки:
    Способ отправки почты PHP mail function
    Адрес отправителя [email protected]
    Путь /tmp/sendmail
    Логин и пароль ****
    Использовать SMTP да
    Адрес SMTP-сервера localhost
    Заранее спасибо.

    punk1975

    Огромное спасибо за статью!
    У меня возник вот какой вопрос. При установке Апач, перестает запускаться WSUS (висит на 80 порту). Как можно их подружить!?

    Даниил

    Здравствуйте. Хочу сделать свой сервер, чтобы на него поместить сайт. И чтобы мои друзья заходили на него. У меня есть пк тихий ( ну для круглочуточной работы) на windows 7, есть купленный домен. А как всё это посатавить чтобы люди видели из интернета.
    Айпи выделенный внешний. можно плиз ссылочку или инструкцию. по локальной сети я могу всё сделать, а вот чтобы друзья видели я не знаю как сделать. плиз помогите. спасибо.

    makegood

    Лучше поставить Linux. Чтобы прикрутить домен придется настроить DNS. А вообще хостинг сейчас стоит недорого, стоит ли со всем этим заморачиваться, мучать компьютер и тратить энергию?!

    Даниил

    ну хочется научиться. и что комп будет стоять.)) ну linux установить легко. а dns как и где настраивать?

    Спасибо большое за статью! Все запустилось и работает.

    Только одна непонятная проблема — у себя локально сайт я вижу как нужно, а вот снаружи сайт виден как простой текст, без темы, без менюшек, без графики. Не понимаю в чем дело. Не подскажете, в чем может быть проблема?

    Николай

    Спасибо за статью. Очень помогла.

    turbolinks.ws

    Не плохая статья, хочу сменить денвер на чтонибуть получше наверное остановлюсь на xampp

    Костя

    Спасибо большое за инструкцию. У меня беда, забыл пароли на phpAdmin и MySQl? как быть, что можно сделать, зараннее спасибо!

    Спасибо Большое. =) а можно еще узнать как ФТП настроить?

    Каниет

    У меня не запускается xampp на win7, при этом мускул нормально запускается. вот лог ошибки:
    [Sat May 28 15:14:57 2011] [notice] Digest: generating secret for digest authentication …
    [Sat May 28 15:14:57 2011] [notice] Digest: done
    [Sat May 28 15:14:59 2011] [notice] Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1 configured — resuming normal operations
    [Sat May 28 15:14:59 2011] [notice] Server built: Oct 18 2010 01:58:12
    [Sat May 28 15:14:59 2011] [crit] (22)Invalid argument: Parent: Failed to create the child process.
    [Sat May 28 15:14:59 2011] [crit] (OS 6)Неверный дескриптор. : master_main: create child process failed. Exiting.
    [Sat May 28 15:15:29 2011] [notice] Parent: Forcing termination of child process 36
    Кто-нибудь может подсказать в чем может быть проблема?

    Каниет

    вопрос снят, решил проблему, закомментировав строку Include «conf/extra/httpd-perl.conf» в файле диск://xampp/apache/conf/httpd.conf

    Дмитрий

    Доброго времени суток!
    Я новичок в этом деле, посему возник вопрос….
    Я настраиваю хосты в файле httpd.conf а не в httpd-vhosts.conf
    Все работает нормально. У меня три хоста на локальную сеть. Но при вводе любого из трех адресов браузер загружает последний стоящий в httpd.conf. Как сделать, чтобы каждый хост откликался на свой адрес?

    Серьезные штучки » Архив блога » Использование XAMPP для демонстрационных проектов

    […] Установка и настройка сервера XAMPP на Windows […]

    Как сделать прямые ссылки как в denwer ? Пример: http://site.ru

    Stanislav

    В новых версиях xampp нет командной строки (отстутствует кнопка shell). Подскажите как сделать чтобы она была!?

    Zcity

    Подскажите что неправильно?

    Набираю Сайт-1 и Сайт-2 а попадаю в директорию Сайт-1 в Сайт-2 не попадаю

    Часть файла httpd-vhosts.conf выкладываю ниже.

    ServerAdmin [email protected]Сайт-1.org.ua
    DocumentRoot «D:\Server\xampp\htdocs\Сайт-1.org.ua\www»
    ServerName Сайт-1.org.ua
    ServerAlias http://www.Сайт-1.org.ua
    ErrorLog «D:\Server\xampp\htdocs\Сайт-1.org.ua\logs\error.log»
    CustomLog «D:\Server\xampp\htdocs\Сайт-1.org.ua\logs\access.log» combined

    ServerAdmin [email protected]Сайт-1.org.ua
    DocumentRoot «D:\Server\xampp\htdocs\Сайт-1.org.ua\www»
    ServerName Сайт-1.org.ua
    ServerAlias http://www.Сайт-1.org.ua
    ErrorLog «D:\Server\xampp\htdocs\Сайт-1.org.ua\logs\error.log»
    CustomLog «D:\Server\xampp\htdocs\Сайт-1.org.ua\logs\access.log» combined

    заранее Большое спасибо

    makegood

    Zcity, эту часть не могли забыть?
    Особенно важна первая строка:

    Zcity

    Спасибо за быстрый ответ:-)
    разобрался. может кому то тоже поможет

    в этом файле сразу после установки была вот такая ерунда: (это чать)

    #
    # Virtual Hosts
    #
    # If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them. Most configurations
    # use only name-based virtual hosts so the server doesn’t need to worry about
    # IP addresses. This is indicated by the asterisks in the directives below.
    #
    # Please see the documentation at
    #
    # for further details before you try to setup virtual hosts.
    #
    # You may use the command line option ‘-S’ to verify your virtual host
    # configuration.

    #
    # Use name-based virtual hosting.
    #
    ##NameVirtualHost *:80

    #
    # VirtualHost example:
    # Almost any Apache directive may go into a VirtualHost container.
    # The first VirtualHost section is used for all requests that do not
    # match a ServerName or ServerAlias in any block.
    #
    ##
    ##ServerAdmin [email protected]
    ##DocumentRoot «D:/Server/xampp/htdocs/dummy-host.localhost»
    ##ServerName dummy-host.localhost
    ##ServerAlias http://www.dummy-host.localhost
    ##ErrorLog «logs/dummy-host.localhost-error.log»
    ##CustomLog «logs/dummy-host.localhost-access.log» combined
    ##

    все это с ## удалил и заработало

    Владимир

    Здравствуйте!
    У меня проблема с WordPress. Распаковал его в папку …www, изменил и сохранил файл wp-config.php, и при переходе по адресу blog.local вылетает «Hello World», ладно, набрал адрес blog.local/wordpress, попал на страницу установки, ввёл данные (название сайта, пароль и т.д.), установил, перезапустил апач и мускул, опять набираю в адресной строке blog.local и снова «Hello World». А ещё пишет Object not found!

    The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

    If you think this is a server error, please contact the webmaster.
    Error 404
    http://www.blog.local
    12/02/11 15:40:15
    Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1.
    Синтаксис проверил — всё сходится. В чём причина? Винда 7 64бит мах

    makegood

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

    Владимир

    Makegood, спасибо за оперативный ответ, но проблема осталась. Удалил всё лишнее по примеру Zcity, не помогло, залез в ….www/logs, и вот что нашёл (перевод):
    [Пятница 02 декабря 14:50:24 2011] [ошибка] [клиент 127.0.0.1] Файл не существует: C:/my_projects/blog.local/www/favicon.ico
    Иконки какой-то нет?

    Анатолий

    Здравствуйте!
    Очень хочется поучаствовать в хорошем деле и одновременно поучится. Я зашёл на этот сайт, потому что споткнулся и когда ознакомился с мнением форума, увидел, что споткнулся на этом месте не я один. И как ни странно, я не нашёл готового, грамотного и блестящего .как и всё на этом сайте, решения.
    У меня ХАМРР 1.7.4 и после установки виртуального хоста в файл htppd-vhost.conf Apache остановился. В файле Apache-logs появилось справедливое сообщение «не могу найти путь my_projects/blog.local/logs/error.log(acces.log)». Первое и не главное-никто не рассказал где взять и в каком виде поставить error.log и acces.log и второе никто не рассказал Apache о том, что создан путь my_projects/blog.local/logs/error.log и что с ним надо делать. После того, как я вырезал две строки виртуального хоста в файле htppd-vhost.config- Apach
    ErrorLog «C:\my_projects\blog.local\logs\error.log»
    CustomLog «C:\my_projects\blog.local\logs\access.log» combined,
    Apache запустился, но стал разговаривать так: при нажатии кнопки Admin (Apache) на экран выводится сообщение
    It works!
    При вводе в браузер htpp://localhost выводится сообщение It works!
    При вводе в браузер htpp://localhost/blog выводится сообщение Hello word!
    При вводе в браузер htpp://localhost/XAMPP/index php выводится панель приветствия XAMPP.
    При вводе в браузер htpp://www.blog/local вместо Hello word! выводится сообщение «сервер http://www.blog/local не найден».
    Думаю, что надо рассказать Apache о том, что появился путь C:\my_projects\blog.local\logs\error.log и что с ним надо делать, но решения у меня пока нет.

    makegood

    Анатолий, попробуйте использовать описание виртуальных хостов отсюда http://makegood.ru/tools/macports-mamp/ в разделе Настройка виртуальных хостов, пути к логам опциональны и необязательны.

    Андрей

    Подскажите пожалуйста, почему у меня не перезапускается апач? пишет: Busy…
    Error: -1

    Алексей

    стоит XAMPP 1.7.7 [PHP: 5.3.8],
    нет желания копировать файлы в дирректорию C:\xampp\htdocs,
    поробовал прописать витруальные хосты.
    вместо http://obnoffka.local браузер
    открывает http://obnoffka.local/xampp/ «первую страницу xampp»
    вот мои
    C:\WINDOWS\system32\drivers\etc\hosts
    прописано:
    127.0.0.1 obnoffka.local
    127.0.0.1 http://www.obnoffka.local

    вот согласно примеру запись в
    C:\xampp\apache\conf\extra\httpd-vhosts
    NameVirtualHost *:80

    DocumentRoot «C:\xampp\htdocs»
    ServerName localhost

    ServerAdmin [email protected]
    DocumentRoot «D:\Obnoffka.ua\www»
    ServerName obnoffka.local
    ServerAlias http://www.obnoffka.local
    ErrorLog «D:\Obnoffka.ua\logs\error.log»
    CustomLog «D:\Obnoffka.ua\logs\access.log» combined

    AllowOverride All
    Order allow,deny
    Allow from all

    частая ошибка исходя из комметов. Вам спасибо за токовую статью.

    makegood

    Алексей
    Странно, что не у всех получается настроить виртуальные хосты. Настройка тривиальная, главное внимательно все переписать. Проверить XAMPP у меня возможности нет.
    Ошибки могут быть из-за:
    — неверно прописаны пути к логам (их можно вообще не прописывать!);
    — скопированы не все настройки, часто забывают строку: NameVirtualHost *:80;
    — не перезапущен XAMPP;
    — кэширование в браузере;
    Также можно не прописывать ServerAlias.

    Алексей

    строка NameVirtualHost *:80; прописана в самом верху первой в файле
    C:\xampp\apache\conf\extra\httpd-vhosts
    удалил ServerAlias. из этого файла

    Xampp был запущен 100%
    т.к. одновременно проверял ранее скопированный файл на php в диретории htdocs и скрипт выполнялся.

    браузер FIREFOX 9.0.1

    Ольга

    Помогите исправить ошибку. Все установилось. hello world — открылось нормально. Но когда хочу открыть phpMyAdmin — пишет Object not found!

    Ольга

    Спасибо. Все получилось.

    Игорь

    Комментарии к статье лишний раз подтверждают истину:

    Подобные средства автоматизации надо воспринимать как ПОДСПОРЬЕ грамотному, и не ждать, что если запустил ксампп, то сайт нарисуется.
    Это подобно распространенному заблуждению, что языки высокого уровня создаются для того, чтобы ничего не знать про низкий уровень.
    Для большинства пользователей, по-моему, было бы полезней перед использованием ХАМPP-а или чего-то подобного хотя бы один разик проинсталлировать и настроить все самостоятельно. Опять же комментарии говорят, более всего это касается Апача.
    Только после этого будет полноценное понимание, что такое ХАМPP, и куда смотреть если при установке возникают вопросы.

    Игорь

    …а там, глядишь, и не захочется больше никаких ксамппов))

    Как и многие, начинаю с благодарностей автору — Спасибо большое:)

    Правда мучался пол дня(
    Потом снёс ХАМPP 1.7.7 и поставил версию 1.7.2 такую как автора.
    После этого всё заработало, работают два сайта.

    Мой совет, начинающим, таким как и я — не забывайте перегрузить Apache после внесения всех изменений в оба файла.

    Слава

    Большое спасибо
    Мучился пол дня пока не нашёл эту статью… и сделал за 5 минут
    Добавил в избранное…

    Почтовая заглушка не работает, отправила уже три сообщения, а папка до сих пор пуста… Подскажите, в чем проблема?

    Роман

    Здраствуйте!Установил ХАМПП по вашей инструкции далее установил WORDPRESS захожу по адресу blog.local но приветственная страница WORDPRESS не появляется,что делать?

    Евгений

    Доброго времени суток!
    Поскажите как для виртуального хоста прописать использование шифрования

    ramik

    Спасибо большое за подробное описание!! Теперь всё работает!))

    sotiva

    Все работает, но ровно до этого момента «Настройка виртуальных хостов» — далее все прекращается и меня перемещает на на «Hello world», а на XAMPP, все файлы перетряс, ничего не могу понять.

    Руслан

    Отличная статья.
    Блог работает (плагины и тему скопировал с реального сайта), но не могу войти в консоль:
    ввожу: secret-bonusov/wp-admin/
    и вместо консоли — от WordPress
    «Обновление не требуется
    Ваша база данных WordPress уже обновлена!».
    Что надо поправить чтобы войти в консоль?
    Ещё…
    У многих Apache не запускается — появляется «Busy port 80».
    Это конфликт с другим приложением, часто со Skype.
    Надо во избежание конфликта порта 80 либо отключать Skype, либо
    изменить настройки Skype: Инструменты – Настройка – Дополнительно – Соединения:
    Снять галку с «Использовать порты 80 и 443 в качестве входящих альтернативных».
    Либо искать другое «конкурируещее» приложение.
    Для этого надо по очереди отключать подозрительные приложения и медотом «тыка» определить приложение -«конкурент».
    Может быть эти рекомендации добавить в Вашу статью — это многим бы помогло сберечь нервы и время?

    Как и где настроить почту в XAMPP чтобы соединение с внешним в интернете почтовиком например MAIL.RU шло через 587 порт,а не через 25

    Андрей

    Огромное спасибо за статью, вы мне дали несколько лишних часов сна)

    Антон

    у меня небольшой дилетантский вопрос: почему текст из базы данных выводиться в виде вопросительных знаков. кодировка в Dreamweaver стоит utf-8 и в php my admin тоже,пытался по разному их менять — ничего не выходит (( может быть кто-нибуть знает как решить такую проблему?

    Антон

    да,кстати,забыл написать что только с русским текстом возникают такие проблемы. с английским всё нормально.

    Всем здравствуйте. У меня такой вопрос может кто то с таким же или подобным встречался. Установил на WordPress плагин «Subscribe To Comments» и как я понимаю после каждого нового комментария к статье, должны отправляться письма тем у кого подписка на получения новых комментариев. Но эти самые письма не отправляются. c XAMPP не отправляет письма. Заглушку для sendmail поставил. Отправка я как понял должна идти через MercuryMail. Если с консоли админа MercuryMail отправлять письма на конкретные адреса, письма приходят по крайней мере на gmail.com приходят, на yandex.ru не пришли. Как надо настроить MercuryMail, что бы подписчикам на новые комментарии приходили письма. Как то надо связать WordPress и MercuryMail.
    Заранее спасибо за ответ.
    Алекс

    на yandex.ru то же письма пришли, только немного позже и по сравнению с gmail в папку спам.

    marat93

    не получается запустить wordpress..
    все сделал по пунктам,не получается запустить wordpress,вместо настройки wordpress запускается страница
    Index of / Name Last modified Size Description

    apache_pb.gif 2012-04-16 18:30 2.3K
    apache_pb.png 2012-04-16 18:30 1.4K
    apache_pb2.gif 2012-04-16 18:30 2.4K
    apache_pb2.png 2012-04-16 18:30 1.4K
    apache_pb2_ani.gif 2012-04-16 18:30 2.1K
    favicon.ico 2012-04-16 18:30 7.6K
    logs/ 2012-09-23 22:04 —
    restricted/ 2012-04-16 18:30 —
    site007/ 2012-09-23 22:25 —
    www/ 2012-09-23 22:04 —

    Apache/2.4.2 (Win32) OpenSSL/1.0.1c PHP/5.4.4 Server at http://www.site007.local Port 80
    помогите пожалуйста..заранее спасибо за ответ!

    Михаил

    У меня установлена Windows 7. Но там есть C:\Windows\System32\drivers. но нет папки etc. А в настройке конкретно прописана эта папка. Что делать?

    Сергей

    Поставил продукт в первый раз — все понравилось, отлично! все работает.
    Подумал вот и отлично — на этой проге и будем учиться, но при запуске второго раза — ничерта не получилось. И Апач и MySQL — запустились в панели. MySQL — базы создаются все работает, а вот Апач — занял порт 80, запустился. Но при октрытии созданного пхп, в браузере открывает сам скрипт, а не обработанные данные!
    Пробывал на двух разных компах, та же фигня — на второй раз в браузере открывается исходный код.

    marat78

    У меня простой сайт html + SSI.
    Раньше разрабатывал с помощью Denwer, все работало «из коробки».
    Удалил Denwer, поставил XAMPP 1.8, SSI директивы «по умолчанию» на отрабатывает вообще.
    Порылся в интернете, перепробывал все предложенные варианты по настройке SSI в httpd.conf и httpd-vhosts.conf. максимум чего смог добиться — это корявой обработки сервером SSI инструкций, где в большинстве случаев выдается [an error occurred while processing this directive].
    Вернул Denwer, все опять заработало «из коробки».
    Но хочется заставить работать XAMPP.
    Если кто сталкивался с подобной проблемой или знает как заставить работать SSI, подскажите пожалуйста!

    Aleks

    Созданный сайт таким образом, будет работать в интернете и виден другим пользователям, или нет?

    rasul

    Что, за ошибка такая ?

    You don’t have permission to access the requested directory. There is either no index document or the directory is read-protected.

    If you think this is a server error, please contact the webmaster.
    Error 403
    taomlar.uz
    Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7

    1) Создал папку my_projects
    2) В ней site.local -> www and logs-> в www создал index.php
    3) Добавил запись в httpd-vhosts.conf (рисунок 1) http://i52.fastpic.ru/big/2013/0411/4f/c1442bb5d9f066f8a86250d6c573894f.png
    4) Добавил запись в hosts в папке Windows (рисунок 2)
    http://i53.fastpic.ru/big/2013/0411/b7/dc24368a20bf8f76bc44cb97e219d8b7.png
    5) Перезапускаю Apache, XAMPP зависает
    Помогите разобраться, спасибО!

    Анатолий

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

    Анатолий

    На сайт захожу набирая localhost/site.ru
    Как сделать, чтобы можно было заходить набирая просто site.ru?

    Анатолий

    Первая проблема решилась. Сервер экспериментальный — ставили/удаляли всякую фигню. Видимо что-то осталось. Подняли другой виртуальный сервер, все встало и заработало как надо.

    Andre Dom

    Решение Access forbidden!
    в httpd-vhosts.conf добавить строчку Require all granted

    AllowOverride All
    Order Allow,Deny
    Allow from all
    Require all granted

    Витька

    Спасибо за статью. Кстати попробуйте вот такой аддон, с его помощью гораздо проще создавать хосты.
    http://www.kutsevalov.name/2013/08/05/xampp-virtual-host-manager-add-on/

    Argentum

    Кто ставит XAMMP и новый WP проверяйте версию PHP, а то наткнетесь на то же на что и я.

    Спасибо за статью. Но все же вставлю свои 5копеек.

    1. что нужно сделать проверить файл hosts на право записи!

    2.после установки XAMPP 1.8.2 [PHP: 5.4.22] на сегодня это последняя версия для 32-битной ХР скопировать в его директорию вот этот плагин
    для Витька: Спасибо за наводку он реально работает.
    http://www.kutsevalov.name/2013/08/05/xampp-virtual-host-manager-add-on/

    3. После установки появится в настройках русский язык 🙂
    Папки для хостов я настроил внешние т.е не в директории Xampp’a

    4. в файле hosts появятся такие вот записи

    127.0.0.1 test.local.net # XAMPP VHM
    127.0.0.1 http://www.test.local.net # XAMPP VHM

    или еще вариант

    127.0.0.1 mysite.local.ru # XAMPP VHM
    127.0.0.1 http://www.mysite.local.ru # XAMPP VHM

    5. в файле httpd-vhosts.conf удалить все записи с этим символом # ! Новые записи появятся сами и должны быть примерно такими:

    ServerName test.local.net
    ServerAlias http://www.test.local.net
    ServerAdmin [email protected]
    DocumentRoot «C:/WebServers/test.local.net/www»
    ErrorLog «C:/WebServers/test.local.net/logs/error.log»
    CustomLog «C:/WebServers/test.local.net/logs/access.log» combined

    Options -Indexes
    Options +FollowSymLinks
    Options Includes ExecCGI
    AllowOverride All
    Order Allow,Deny
    Allow from all
    Require all granted

    6.ну и не забыть перезагрузить Apache и его друга 😉

    7. Статью можно больше не читать 🙂

    Спасибо! Написано просто шикарно и очень подробно, столкнулся с сайтом на битрикс, а он хочет всегда лежать в корне, без вас не справился бы. Информации много, но вот так доходчиво и подробно, только у вас удалось найти. И еще после описанной выше настройки всплыла 403я на новом вирт. хосте, но ее легко получилось победить использовав вот это http://stackoverflow.com/questions/14448334/xampp-windows-apache-virtualhost-403-forbidden
    Желаю всем удачи.

    Владимир

    Спасибо за детальное объяснение!

    Максим

    У нас загружается вот такое окошко, которое называется контрольной панелью, а на рабочем столе появляется значок XAMPP.

    Jambo

    после внесения настроек из статьи:
    Error: Apache shutdown unexpectedly.
    18:00:40 [Apache] This may be due to a blocked port, missing dependencies,
    18:00:40 [Apache] improper privileges, a crash, or a shutdown by another method.
    18:00:40 [Apache] Press the Logs button to view error logs and check
    18:00:40 [Apache] the Windows Event Viewer for more clues
    18:00:40 [Apache] If you need more help, copy and post this
    18:00:40 [Apache] entire log window on the forums

    Олжас

    Спасибо за статью! Вот такой вопрос, в XAMPP такая проблема, не «выполняет» php начинающиеся с

    Перешел с денвера на ксампп, была ошибка “AH01630: client denied by server configuration”, причём эта ошибка была в логах тех виртуальных хостов, на которых имелся файл .htaccess.

    Решение этой проблемы следующее:

    В конфигурационный файл виртуального хоста в секцию необходимо добавить строку Require all granted

    Трионик

    Не работает способ добавления сайта без локаххост.
    появляется ошибка

    You don’t have permission to access the requested object. It is either read-protected or not readable by the server.

    If you think this is a server error, please contact the webmaster.

    blog.local
    Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/7.0.18

    Трионик

    Andre Dom
    19 июня 2013 в 07:13 #
    Решение Access forbidden!
    в httpd-vhosts.conf добавить строчку Require all granted
    AllowOverride All
    Order Allow,Deny
    Allow from all
    Require all granted

    Trionik

    Не работает добавление второго сайта

    Trionik

    Вынесите в основную статью упоминание о Require all granted

    Как установить XAMPP и WordPress на Windows

    XAMPP позволяет запускать сайты локально. Давайте разберемся, как установить XAMPP и WordPress на компьютере, работающем на операционной системе Windows.

    Шаг 1: Скачайте и установите XAMPP на компьютер

    Установщик XAMPP для Windows можно скачать с сайта Apache Friends . Размер архива составляет 110 мегабайт, поэтому загрузка может занять несколько минут.

    После загрузки запустите инсталляционный пакет XAMPP. Если у вас установлен антивирус, то он может выдать предупреждение.

    Нажмите “ Yes”, чтобы продолжить. В зависимости от настроек Windows также можно увидеть сообщение от системы User Account Control (UAC). После того, как пройдёте все предупреждения, вы получите доступ к диалоговому окну инсталлятора.

    Нажмите “ Next ”, чтобы продолжить.

    На следующем шаге выберите, какие компоненты необходимо установить. Чтобы установить XAMPP и WordPress, потребуются:

    Снимите флажки со всего остального и нажмите “ Next ”. После этого выберем папку для установки XAMPP.

    На следующем этапе нужно указать, хотите ли вы установить “ Bitnami for XAMPP”. Этот пакет расширений не потребуется, поэтому просто снимите флажок.

    После того, как нажмёте “ Next ”, всё будет готово к установке.

    Процесс инсталляции может занять несколько минут:

    После его завершения установки запустите панель управления, чтобы начать работу с XAMPP.

    Шаг 2: Запустите модули и протестируйте сервер

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

    Сделать это можно из панели управления XAMPP:

    Об их работе сигнализирует зеленый цвет иконок.

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

    Теперь настало время установить на сервер CMS WordPress.

    Шаг 3: Добавьте файлы WordPress

    Перейдите на wordpress.org и скачать свежую версию WordPress. Затем откройте папку, в которую установили XAMPP. В моём случае это C://xampp. Затем в этой папке найдите каталог htdocs :

    В htdocs , создайте новую папку для тестового сайта. Имя папки будет использоваться для доступа к ресурсу. Например, если вы создадите папку

    Распакуйте в новую папку архив с WordPress.

    Шаг 4: Создайте базу данных для WordPress

    Создадим базу данных MySQL для WordPress. Чтобы сделать это, запустите PHPMyAdmin из панели управления XAMPP.

    Затем нажмите “ Databases ”.

    Введите имя базы данных и нажмите “ Create” .

    Шаг 5: Запустите установщик WordPress

    Перейдя по адресу тестового сайта, вы должны увидеть обычный установщик WordPress. Помните, что адрес вашего сайта – это просто http://localhost/FOLDERNAME.

    Единственный шаг, на котором этот процесс отличается от обычной установки, это настройки базы данных. Когда вы дойдёте до них, введите следующие значения:

    • Database Name = Имя базы данных, которую вы создали в PHPMyAdmin.
    • Username = “root”.
    • Password = оставьте пустым.

    После завершения установки вы должны увидеть WordPress, работающий на локальном сервере.

    Что насчёт Multisite или staging-сервера?

    Как установить XAMPP и WordPress Multisite

    Если нужен WordPress Multisite, то его также можно настроить на вашем локальном компьютере.

    Можно ли использовать XAMPP и WordPress на тестовом сервере?

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

    В заключение

    Когда вы научитесь устанавливать XAMPP и WordPress, то сможете быстро разворачивать новые тестовые сайты. Как фрилансер, я использую XAMPP для тестирования различных тем и плагинов. На данный момент у меня около 60 различных установок WordPress, работающих на локальном сервере.

    Данная публикация представляет собой перевод статьи « How to Install XAMPP and WordPress Locally on Windows PC » , подготовленной дружной командой проекта Интернет-технологии.ру

    Xampp. Установка локального web-сервера

    Если Вы хотите научиться программировать на php, добро пожаловать на бесплатный марафон Основы PHP!

    Всем привет! С вами Дмитрий Лаврик. В этом уроке мы рассмотрим, как установить на компьютер локальный веб-сервер и запустить на нем свой первый php-скрипт. Урок исключительно для новичков, кто хочет запустить свой первый скрипт на локальном компьютере.
    Существует много разных локальных веб-серверов, таких как Xampp, Open Server, денвер. Сегодня мы установим Xampp. Вбиваем соответствующий запрос в яндексе или гугле, переходим на официальный сайт и выбираем версию php7 (все остальные скоро станут неактуальными). Скачиваем, выбираем, под какую операционную систему нужно скачать Xampp.

    Запускаем инсталлятор, ждем. Он немного поругается на антивирус, никаких проблем это не создает, просто нажимаем «continue installation» -> «next», здесь все галочки можно оставить (можно убрать Perl как неактуальную сейчас вещь, но это не обязательно). Выбираем папку, куда установить Xampp – в совершенно любую папку, и дальше нажимаем next – на этом все, теперь установка подготовлена, можем запускаться.

    После того, как Xampp установится, появится папка с названием Xampp, где будут лежать все файлы, которые были получены в результате установки. На рабочем столе и в меню пуск появится иконка для запуска «Xampp Control Panel», запускаем ее. (Внимание! Одно предупреждение: если у вас включен скайп, то xampp по умолчанию работать не будет, потому что папка 80 и 443 на компьютере будут заняты. Если вы хотите, чтобы Xampp и скайп работали без всяких дополнительных настроек, то первая программа, которую вы запускаете – это Xampp, только потом вы запускаете скайп.)

    Вы видите 5 непонятных установленных программ, сейчас нас интересует только одна – это Apache (даже базу в этом уроке обойдем стороной), запускаем её. Как вы видите, все запущено успешно. Теперь, чтобы проверить, что Xampp установился хорошо, пишем в адресной строке «localhost». Нас переадресует на localhost/dashboard, это приветственная страница Xampp, здесь можно посмотреть разные полезные вещи (например, зайти на файлик phpinfo, посмотреть настройки php, можно зайти в phpMyAdmin – это для базы данных). Это всё рассмотрим как-нибудь позже.

    Нас интересует, как мы можем создать свой первый скрипт и запустить его здесь. Для этого заходим в папку htdocs, здесь лежат все файлы php, которые мы с вами будем запускать. Видим index, который нас распределяет, его лучше не трогать, если вы хотите, чтобы у вас такое меню оставалось. Cоздаем какую-нибудь папку, к примеру, mysite. В ней нужно расположить файл «index.php». Меняем в нем содержимое – например, напишем до невозможности традиционную фразу “Hello, World!”.

    А теперь запускаем скрипт. Заходим на localhost, прописываем имя той папки, которую мы создали. В данном случае – My site. И после этого, мы на экране видим “Hello, World!”, потому что index.php – это файл, который отрабатывает по умолчанию.

    На этом, казалось бы, урок можно завершать, но многие разработчики любят использовать ссылки от корня сайта. Может быть кто-то из вас знаком с такой записью, когда мы пишем в html тег «a href=» и он начинается со слеша, это всегда означает адресацию от корня сайта.

    Если вы какой-нибудь такой пример, в котором используется адресация от корня, положите сейчас в папку My site, то он у вас работать будет некорректно, потому что при такой системе этот слеш будет отбрасывать вас не в папку mysite, а в папку localhost, точнее на адрес localhost в папку htdocs, что в нашем случае является неприемлемым. Такое может случиться, если вы возьмете какой-нибудь готовый пример или поставите готовую cms, или еще что-то подобное. Поэтому посмотрим, как можно в настройках апача пошаманить, чтобы ваш сайт был доступен по прямому адресу, то есть как будто вы вписываете название домена и обращаетесь к своему скрипту.

    Первое, что надо сделать – это остановить апач. Теперь идем в волшебную папочку Xampp/Apache/conf (config)/extra, и здесь открываем vhosts (файл для настройки хостов). В этом файле много чего написано, у вас будут примерно такие же настройки, кроме последних строк, их у вас нет. Сейчас мы сможем прописать настройки с помощью специального заранее приготовленного шаблона. Чтобы добавить адрес, к которому вы хотите обращаться напрямую, нужно вставить код в конец данного файла, и вписать нужные значения.

    В поле ServerАdmin можно вписать что угодно, но раз они предлагают писать в вебмастере localhost, напишем вебмастер mysite. Теперь – внимание! – DocumentRoot – сюда вы подставляете ту папку, которая вам нужна (E:/xamp/htdocs/mysite). Server name – это тот домен, который вы хотите видеть в адресной строке, то есть, если вы хотите, чтобы запущенный Xampp не давал вам заходить во «вконтакте», и терять там свое время, вы можете сюда написать название этого сервера как vk.com и при попытке обратится к vk.com вас будет кидать на локальную страничку вашего сайта, где надо большими буквами написать «НЕ СИДИ ВКОНТАКТЕ, А ИДИ РАБОТАЙ!». Но это как-нибудь в другой раз сделаем. Пока прописывем в ServerName: mysite и ServerAlias, как правило прописывается так: www.mysite.ru, то есть это главный поддомен для нашего сервера.

    Теперь, когда мы все прописали, перезапускаем Apache. Можно перезапустить не только Apache, а в принципе целиком Xampp, но это еще не все. Нужно еще поправить хосты непосредственно на нашем компьютере. Заходите в С:/windows/system32/drivers/etc, открываете hosts файл, и вписываете в этот файл mysite и www.mysite нужно прописать в этот файлик. Для тех, кому интересно, поясню – мы делаем переадресацию, это как бы наша внутренняя DNS-служба на компьютере, мы видим когда в браузере либо www.mysite либо mysite мы переадресуем этот запрос на ip-адрес 127. 00. 1, то есть на наш локальный компьютер.

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

    Когда мы провели все манипуляции, можем обратиться к нашему сайту по адресу mysite и на конце лучше еще поставить слеш. И вот интересная ситуация – попытка соединения не удалась. То есть он меня не кинул в поиск Яндекса после того, как я забил адрес в строку. Это означает, что файл хост сработал так, как надо, а у меня просто не запущен Apache, я же перезапускал его. Поэтому запускаем Apache, нажимаем «обновить», и видим на экране “Hello, World!”. Все теперь, как вы видите, адрес абсолютно правильный, и у вас будут работать все ссылки, которые пишутся от корня со слешом в начале адреса.

    Таким образом мы поставили на комп Xampp, запустили свой первый php-скрипт, и даже разобрались с тем, как писать просто названия вашего сайта, а не с префиксом, не с папкой localhost впереди. На этом пока что все, спасибо за внимание, успешного программирования на php!

    Веб-сервер XAMPP. Установка и настройка

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

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

    Первым делом нам надо создать папки, где мы и будем хранить файлы будущего сайта. Для этого заходим в диск D:/ и создаем в нем папку, назовем ее: work, внутри этой директории создаем еще три папки под названием, например: home, home1, home2, в каждой папке создаем директорию (папку) www. Думаю вы уловили мысль, где будут находиться файлы сайта — это последняя папка www.

    Теперь необходимо настроить сервер Apache. Для начала отключаем его. После отключения сервера, проследуем по пути C:xamppapacheconf, находим файл под названием httpd.conf — это главный конфигурационный файл веб — сервера Apache, его мы и будем настраивать.

    Теперь нам потребуется найти директиву

    и изменить ее таким образом:

    Теперь откроем доступ к каталогу

    После этих не хитрых изменений опускаемся в самый низ файла httpd.conf. Нам необходимо указать нашему серверу адреса локальных хостов, логов сервера. Для этого пишем следующий код:

    Нашему веб — серверу теперь известно, по каким адресам находятся хосты. Для того, чтобы Apache помимо html-файлов обрабатывал и php-файлы, в строку text/html в файле mime.types (C:xamppapacheconfmime.types) следует добавить расширение для файлов, содержащих php-скрипты. Строка должна выглядеть следующим образом: text/html html htm shtml shtm php phtml. На этом конфигурация Apache закончена.

    Далее нам потребуется указать операционной системе, что наш сервер будет работать локально и хождений в Интернет с его стороны не будет. Для этого запускаем Блокнот Windows от имени Администратора (сделать это надо обязательно, иначе мы не сможем сохранить изменения) и идем по следующему пути:
    C:WindowsSystem32driversetc. В директории etc находим файл hosts, открываем его и вносим в конце его изменения (перед вами файл hosts от ОС Windows7):

    После внесения изменений в конфигурацию, необходимо перезапустить Apache из панели управления XAMPP (ярлык на рабочем столе или в трее). Если этого не сделать, то изменения не вступят в силу, не забывайте! Теперь настал момент, проверки работоспособности нашего сервера. Для этого заходим в папку www по адресу: D:workhomewww. Создаем текстовый документ, с помощью Блокнота Windows. Внутри этого документа записываем следующий код:

    Сохраняете файл с расширением .php. В Блокноте Windows, войдите в меню «ФАЙЛ» — «СОХРАНИТЬ КАК…» — тип файла: «ВСЕ ФАЙЛЫ (*.*)» и сохраняем под названием index, конечный вид файла должен быть index.php

    Запускаем браузер, в адресной строке набираем home.ru/

    В окне браузера вы увидите надпись Проверка работы локального сервера XAMPP

    Если вы увидели эту надпись, то значит все сделали правильно и ваш веб-сервер работает. Для полного счастья нам осталось прикрутить к XAMPP «Заглушку mail«. Как мы говорили раньше, XAMPP, очень функциональный продукт. В нем есть свой почтовый сервер, но настраивать его долго. Проще и значительно удобнее замкнуть отправку почты на локальном компьютере. Такая вещь, просто необходима при отладке скриптов, например, формы обратной связи. Что для этого нам потребуется? Просто немного терпения.

    Заходим в директорию home по адресу D:workhome и создаем папку с названием mail. Запускаем Блокнот Windows и записываем в него следующий код:

    После чего сохраняем созданный нами файл под названием sendmail.php и отправляем его в директорию XAMPP по адресу C:xamppsendmail. Осталось нам подправить конфигурационный файл интерпретатора скриптов php, он называется php.ini и находится по адресу C:xamppphp. Находим в этом файле (приблизительно строка 700) модуль mail function, ниже (стр.709) ищем строчку sendmail_path = «C:xamppsendmailsendmail.exe -t» она закомментирована, т.е. вначале строки стоит точка с запятой «;«, убираем ее. Изменяем строку и делаем ее такого вида sendmail_path = C:xamppphpphp.exe c:xamppsendmailsendmail.php, сохраняем изменения, перезагружаем сервер. «Заглушка mail» готова.

    Давайте проверим работу нашей «заглушки». Скопируйте в файл, приведенный ниже код. Это код простейшей формы отправки связи. Сохраните его в D:workhomewww под названием, например, form_mail.php (в кодировке utf-8). Запустите браузер и в адресной строке наберите home.ru/form_mail.php, перед вами появится форма, напишите в ней сообщение для себя и отправьте. После этого вы можете зайти в папку mail (D:workhomemail) и прочитать письмо. Открывать эти письма можно любой программой типа «Блокнот», например, распространяемой вместе с Windows программой, WordPad.

    В завершении хотелось бы напомнить, не забывайте делать резервные копии сайта и базы данных. Тогда вы будите полностью застрахованы от потери информации, избавите себя от лишней работы и нервов.

    Топ-пост этого месяца:  В Роскомнадзор срочно требуется опытный хакер
    Добавить комментарий