XAMPP for Linux: организация и настройка виртуальных хостов - 3
Часть 3. Выбираем версию XAMPP
В предыдущих частях мы рассмотрели (поверхностно, но достаточно для практики) установку и настройку XAMPP for Linux самой свежей на данный момент версии 1.8.3-4.
А теперь зададимся вопросом: а нужна ли нам именно она?
Это вопрос не праздно-философский, а практически важный. И выбирать версию XAMPP надо вполне сознательно.
Дело в том, что сборки XAMPP главным образом приурочены к новым версиям составляющих его компонентов (PHP, Apache, MySQL и т.д.) и создаются довольно оперативно. На реальных же хостингах серверное ПО обновляется гораздо медленнее, по вполне понятным причинам.
Сегодня уже можно найти хостинги, где есть возможность выбрать PHP 5.5, но таких не много, страшно далеки они от народа (в смысле цен), да и нужны они мало кому. В основном приходится иметь дело с хостингами, где стоит надежный, хорошо протестированный PHP 5.3 или имеется выбор между 5.3 и 5.4.
Основной "удельный вес" в вопросе выбора XAMPP принадлежит версии PHP, поменьше – Apache, и значительно меньше – всего остального.
Краткая табличка соответствий под спойлером:
Напомню, что нужную версию можно взять на Sourceforge
Итак, если вы озабочены максимальным приближением к условиям реального хостинга, гораздо разумнее ставить версию XAMPP с PHP 5.3, то есть, конкретно говоря, XAMPP 1.7.7.
Есть и другие доводы в пользу такого выбора. Например, данный сайт, на котором вы сейчас находитесь, работает на движке MaxSite, а эта CMS, в свою очередь, создана на php-фреймворке CodeIgniter. Одно зависит от другого, а всё вместе – от версии PHP. Если на хостинг (или XAMPP) с PHP 5.4 еще удаётся установить MaxSite 0.85, преодолев ошибки с помощью коллективного разума форума MaxSite, то на XAMPP 1.8.3-1 с PHP 5.5 – уже нет (по крайней мере, мне не удалось).
Установка XAMPP ранних версий
Как уже было сказано в Части 1, версии в tar.gz-архивах устанавливаются тривиально просто: переходим в директорию со скачанным архивом и даём команду
каковая означает просьбу к tar'у: распакуйте мне, пожалуйста, этот архивчик в каталог /opt.
Особенности настройки XAMPP ранних версий
Настройка разных версий XAMPP не отличается от того, что мы рассмотрели в Части 2 – за одним исключением.
А именно: в файле /opt/lampp/etc/extra/httpd-vhosts.conf в секциях <Directory /> требуется прописать разные директивы для разных версий.
Как мы помним (см. Часть 2), в XAMPP 1.8.3-1 вся запись для одного хоста выглядела так:
<VirtualHost 127.0.0.1:80> ServerAdmin admin@mysite1.dev DocumentRoot "/home/ваш_логин/www/mysite1.dev" ServerName mysite1.dev ServerAlias www.mysite1.dev ErrorLog "/opt/lampp/logs/mysite1.dev-error_log" CustomLog "logs/mysite1.dev-access_log" common <Directory /> AllowOverride All Require all granted </Directory> </VirtualHost>
В версиях до 1.7.7 включительно она будет такая:
<VirtualHost 127.0.0.1:80> ServerAdmin admin@mysite1.dev DocumentRoot "/home/ваш_логин/www/mysite1.dev" ServerName mysite1.dev ServerAlias www.mysite1.dev ErrorLog "/opt/lampp/logs/mysite1.dev-error_log" CustomLog "logs/mysite1.dev-access_log" common <Directory /> AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Так же, естественно, должны выглядеть и секции <Directory /> в записях для каждого хоста.
Note: Есть простой и надёжный способ узнать, какие именно директивы будут правильными для вашей версии.
После установки XAMPP откройте файл /opt/lampp/etc/httpd.conf и найдите строку AllowOverride All. Несколько строк, идущих после нее, в разных версиях будут отличаться. Конкретный пример:
/opt/lampp/etc/httpd.conf (XAMPP 1.8.3-1)
254 AllowOverride All 255 256 # 257 # Controls who can get stuff from this server. 258 # 259 Require all granted
/opt/lampp/etc/httpd.conf (XAMPP 1.7.7)
232 AllowOverride All 233 234 235 # 236 # Controls who can get stuff from this server. 237 # 238 Order allow,deny 239 Allow from all
Это и подскажет вам, какие строки нужно прописать в секциях <Directory /> после строки AllowOverride All.
Ещё одна особенность
Как!? – скажете вы, ведь утверждалось, что особенность одна, как свежесть у осетрины!
Да, но вот для версии XAMPP 1.8.1 (а может, и ещё каких-то между 1.7.7 и 1.8.3-1, не проверял) существует вторая засада.
Если после установки и (обязательно!) перезапуска XAMPP вас не пускают в phpMyAdmin – мол, прав у вас нету:
Access forbidden! 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".
послушайтесь этой подсказки XAMPP'a и поправьте файл /opt/lampp/etc/extra/httpd-xampp.conf.
Найдите в нём строки
AllowOverride AuthConfig Limit Order allow,deny Allow from all
и замените их на
AllowOverride AuthConfig Limit Require all granted
после чего (и перезапуска XAMPP, не забывайте о нём) всё должно устаканиться.
Note: Надо сказать, что подобное встретилось мне лишь однажды, в упомянутом XAMPP 1.8.1, и больше нигде. Может быть, девелоперы поправили это дело и вам оно не понадобится, но "кто предупреждён, тот вооружён".
Возможно, как-нибудь позже совершим более глубокое погружение в настройки XAMPP и его компонентов, там есть что улучшать и модифицировать
- вот, например (показать)
- Зачем вам жить по времени германской столицы, если вы там не живете?
Найдите в /opt/lampp/etc/php.ini строку
date.timezone = Europe/Berlinи исправьте на
date.timezone = Europe/Moscowили ищите свой часовой пояс в /usr/share/zoneinfo
но для начала работы над сайтами на своём локальном сервере, полагаю, первых 3-х частей вполне достаточно.
Успехов вам, креативных идей и удачных стартапов
2013-12-29 в 01:28:05
ХОРОШАЯ СТАТЬЯ ПО НАСТРОЙКАМ xampp! НО У МЕНЯ ТАКАЯ ЖЕ ОШИБКА КАК У ИГОРЯ!
ТЕ В ПАПКЕ HTDOCS БЕЗ ПРОБЛЕМ СОЗДАЮТСЯ ВИРТУАЛЬНЫЕ ХОСТЫ А ВОТ НА ДИСКАХ C:D: НИ В КАКУЮ.....
КАК Я ПОНЯЛ НАДО РАЗБИРАТЬСЯ С ПУТЯМИ В httpd-xampp.conf
*********************************************************************
Новый XAMPP концепция безопасности:
Access forbidden!
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.
ПОмогите настроить httpd-xampp.conf
2013-12-29 в 11:13:22
Андрей, спасибо за "хорошую статью", но я еще раз подчеркиваю: я пишу о XAMPP для Linux. В настройке версий для Linux и Windows есть серьёзные различия, и не только в путях. Тут я Вам помочь не могу, просто потому, что давно не пользуюсь Виндой, однако в Рунете до фига материалов на эту тему. Вот, например, Гугель второй строкой выдает на запрос "xampp на windows" статью "Установка и настройка сервера XAMPP на Windows" по адресу http://makegood.ru/tools/8/, а всего более 4 млн. результатов.
2014-01-28 в 08:04:24
огромное спасибо за все три части статьи! описано чётко, понятно и с объяснением.
2014-01-28 в 10:51:11
Очень рад, что не только ради себя топтал клаву
2014-03-11 в 14:19:03
Спасибо друг. мне очень помогла твоя статья.
2014-03-11 в 16:58:10
На здоровье
и успехов.
2014-04-13 в 22:07:20
Администратору ресурса большая благодарность за эту серию статей про xampp.
Живо, интересно, полезно.
Есть вот только ещё один "засадливый" момент, который относится, правда, не к самому концепту или сборке, а к рекомендации автора.
Речь про наименование рабочих сайтов на локальной машине, mysite1.DEV и т.д., конкретно про то, что домен должен быть отличным от реального.
Но по "лучшим практикам" ведь даже внутри сайта рекомендуется абсолютная адресация, и тогда получится большой трындец в том, что, наклепав 10-20 перекрёстных страниц на локальной машине (с переходом во вложенные папки и прочими прелестями, вроде mysite1/cat1/cat2/index.php) получим все неработающие ссылки на реальном сервере. Либо, соответственно, наоборот: написав под реальный проект (mysite1.ru) мы ничего не сможем проверить в XAMPP, поскольку он о таком вообще не знает, а знает только mysite1.dev.
Как эту ситуацию обойти?
Хотелось бы знать Ваше мнение.
С уважением.
2014-04-14 в 00:31:21
Спасибо на добром слове.
Я, как Вы, должно быть, понимаете, отнюдь не крутой веб-мастер, и насчет "лучших практик" и преимуществ абсолютной адресации не убежден, мягко говоря. Может, тут у меня пробел в самообразовании, не исключено. Но вот в CMS-ках, насколько они мне известны, в основном использется относительная.
Поэтому насчет обхода этой проблемы могу только безответственно пофантазировать (сам на практике руками не испытывал и желанием не горю
).
Если есть такая необходимость, имхо, можно пойти на одинаковое именование реальных и виртуальных сайтов, при этом, возможно, потребуются дополнительные меры, чтобы закрыть XAMPP извне и вовне.
Каковы должны быть эти меры, (от правки конфигов до настройки фаервола) сказать сходу и конкретно я не готов, поскольку сам этим ни разу не заморачивался.
Кроме того, возможно и другое решение: перед экспортом прошерстить локальный сайт (заменить все ссылки) при помощи php или даже bash/sed, что, конечно, предполагает некоторое знание этих инструментов плюс регулярных выражений. Этот путь кажется мне на первый взгляд более симпатичным.
2014-10-03 в 22:17:40
Установил Xampp по выше размещенной инструкции, все заработало до того момента, как распаковал Joomla в директорию www/site1.my. Когда ввожу в браузере http://localhost/site1.my , то на белом экране неизменно вижу это:
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
localhost
Apache/2.4.10 (Unix) OpenSSL/1.0.1i PHP/5.4.31 mod_perl/2.0.8-dev Perl/v5.16.3
---------
Подскажите, что здесь может быть не так!
2014-10-04 в 00:07:18
Иван, если Вы сделали всё правильно, то Ваш сайт должен открываться по адресу site1.my, а не localhost/site1.my.
2015-12-05 в 16:17:43
Добрый день!
Установил на комп Xampp V3.2.2. В первый день установки запустил Апач изменив порты на 1337/7331, мог работать в консоли. На следующий день localhost не открывается, пишет следующее:
Веб-страница недоступна
ERR_CONNECTION_REFUSED
Подробности: Попытка Google Chrome подключиться к localhost была отклонена. Сайт недоступен или ваша сеть настроена неправильно.
Помогите, пожалуйста!
Заранее благодарю!
Едиге
2015-12-05 в 17:16:08
Попоробуйте зайти на localhost не Хромым, а другим браузером.
Не поможет -- еще раз перепроверьте правильность записей в /etc/hosts и везде, где меняли настройки. Если и это не поможет, придется долго и нудно гуглить (в основном на английском) и медитировать. Лично я никогда с такой проблемой не сталкивался, -- за ненадобностью.
Кстати, что за версия 3.2.2? Насколько я знаю, после XAMPP 1.8.3 пошла нумерация 5.5.хх -- 5.6.хх