Topic: Простейший локальный сервер. Запускаем PunBB/PanBB дома.
Работать будем на 32-битных Windows XP SP3 и Windows 7.
Зачем нужен локальный веб-сервер. Почему нам не нужен громоздкий локальный сервер из полулярных.
Работа PunBB/PanBB c БД MySQL и $matches[2]
Простая установка локального веб-сервера с предустановленным форумом на домашний ПК, запуск PunBB/PanBB.
Существует множество готовых решений универсальных локальных веб-серверов. Наиболее известный из них под Windows – Denver, но он далеко не одинок. Однако, мы не будем баловаться с ним и подобными ему монстриками, где "всё включено". PunBB/PanBB совершенно не требуется какой-то серверный мегакомбайн, который требует на настройки полдня, и используется потом на 5%. Это если удастся его запустить.
Такой сервер может установить любой желающий даже на свой домашний компьютер, и запустить на нём собственный сайт, который локально будет открываться и работать с этого же компьютера абсолютно точно так же, как будто он находится в Интернете.
Этим широко пользуются веб-разработчики, администраторы и просто интересующиеся. На локальном сервере можно проверять и отрабатывать решения перед переносом их на «боевой», не опасаясь нестабильности или падения «настоящего» сайта.
В нашем с Вами случае, на нём можно попробовать установку форума, тестировать работу расширений и модов, отрабатывать дизайн. Тренироваться в администрировании и модерации форума. Можно даже полностью создать на нём готовый форум, и легко перенести его один к одному на «боевой» сервер в Интернет, где он будет общедоступен точно в том виде, в котором Вы подготовили его на локальном сервере. Вместе с разделами, топиками и постами. С пользователями и их профилями и правами. С языками и темами оформления. Одна важная особенность именно PunBB позволяет сделать это легко и понятно. О ней – ниже.
Работа форума на локальном сервере ничем не отличается от таковой на «настоящем» сервере в Интернете. Это обусловлено тем, что все они работают на связке одного и того же ПО – веб-сервера Apache, интерпретатора PHP и менеджера баз данных MySQL. Собственно, на этой троице и работает весь Интернет.
Это ПО существует в вариантах для разных операционных систем, причём множества версий, слабо совместимых между собой. Самостоятельно собрать и «подружить» эту троицу довольно непросто из-за необходимости строгого соблюдения соответствия версий, сборок и прочих вариаций. Тем не менее, позже будет рассказано, как это сделать.
Готовые локальные серверы призваны облегчить и сделать более понятной установку и настройку троицы. Однако, это в идеале. В реальности они тоже страдают множеством внутренних и внешних несовместимостей. Кроме того, их авторы стремятся оснастить своё детище максимальным набором нужных и ненужных функций, что добавляет путаницы и нестабильности.
В нашем случае, нам не нужно подавляющее большинство того, чем напичканы такие серверы. Ведь это PunBB! Даже оснащённый богатым функционалом, он аскетичен в своих требованиях к серверному ПО.
Мы обзаведёмся простейшим сервером не по бедности, а из-за того, что фороуму абсолютно не нужны те нагромождения "нужных и полезных" функций, инструментов, и прочего мотлоха.
Никаких преимуществ установка более сложного сервера не даст!
Apache да PHP, слегка настроенные после «извлечения из коробки» – вот и всё, что ему нужно. Вы спросите: А как же MySQL?
А никак. Точнее – необязательно. PunBB умеет обходиться без него. Дело в том, что он способен работать не только со сложной и малопонятной для новичка базой данных MySQL, но и с лёгкой $matches[2]. Эта база данных представляет собой просто файл, а управляется специальным модулем, входящим в состав PHP.
Прелесть $matches[2] по сравнению с MySQL заметна уже на стадии установки форума традиционным для PunBB способом.
Для работы на MySQL, прежде, чем начинать какие-то телодвижения собственно с форумом, нужно создать и назвать базу данных, создать ей пользователя, назначить ему права – всё это инструментами управления самой БД. Устанавливая форум, нужно указать эту базу данных, имя пользователя и пароль для подключения к ней.
Устанавливая форум для работы на $matches[2], база данных почти не требует нашего внимания. С перепугу новичок может и не заметить, что он создал базу данных и обеспечил управление ей. На странице установки форума, который мы только что просто распаковали на пустой сервер, где-то между выбором языка и почтой админа, нужно заполнить одно единственное поле – имя файла базы данных, который можно назвать произвольно. PunBB сам создаст и подключит этот файл-базу, и будет с ней работать.
В сборках PanBB не будет и этого, БД с начальным заполнением будет создаваться автоматически за кадром. . Не слишком пока ориентирующийся в IT-технологиях новичок-админ может и не догадаться о её существовании.
Ещё один важный момент. Многие хостеры ограничивают количество баз данных MySQL. В недорогих пакетах часто предоставляется право создать всего одну БД. Форумный движок, рассчитанный исключительно на MySQL, обречён быть единственным на таком хостинге. Не поставить рядом, например, на поддомене ещё один форум – другой тематики, или просто тестовый.
А PunBB, работающий на $matches[2] , хранит БД – просто файл – в своих папках, и управляется с ней при помощи PHP. Как правило, в интерпретаторе PHP хостеров включена поддержка $matches[2]. Или её можно допроситься в службе поддержки.
Таким образом, мы можем забить хоть всё дисковое пространство клонами форума на PunBB, не пользуясь MySQL хостинг-провайдера вообще. Ведь каждый клон содержит в себе свою собственную БД в виде файла.
Эта же замечательная особенность $matches[2] – независимая собственная БД внутри форума - позволяет легко переносить форум с сервера на сервер, например при переезде на другой хостинг. Или с локального тестового сервера на интернет-сервер провайдера, чем мы вскоре займёмся.
К сожалению, в настоящий момент не все расширения поддерживают работу с $matches[2], но интенсивно ведётся адаптация. Актуальный список готовых к $matches[2] расширений находится здесь, и он постоянно пополняется. Можно видеть, что полноценный форум на этой базе данных вполне срастается уже сейчас.
PunBB/PanBB, содержащий собственную базу данных, позволил включить его прямо в готовом (установленном и рабочем) виде в поставку простейшего локального сервера.
Попробуем же завести этот сервер.
Скачиваем архив с компонентами сервера и предустановленным PunBB:
Хозяйство упаковано в самораспаковывающиеся архивы с установочными и настроечными скриптами. Один вариант для Windows XP (с совместимыми, но несколько несвежими версиями ПО, увы), другой – для Windows 7.
Устанавливается сервер с форумом в один клик, правда, двойной.
Для Windows XP SP3 (Apache 2.2 + PHP 5.3)
Для Windows 7 32-bit (Apache 2.4 + PHP 5.6.30)
Дождёмся, пока отработают установщики, и исчезнут все служебные окна.
На рабочем столе появились ярлыки запуска и остановки сервера. Запускаем StartServer на Рабочем столе.
.
Теперь можно открыть браузер, ввести в адресную строку $matches[2].
По окончании работы остановим сервер ярлыком StopServer.
Ярлыки также доступны в Пуск - Программы.
[Уголок маньяка]
Под капотом наша конструкция выглядит так. В корне диска C:\ располагаются папки Apache и php – с собственно сервером и интерпретатором. И наша собственная папка host, в которой находится форум (panbb.org), место для ещё одного хоста (localhost – сюда, например, можно установить PHPmyadmin, если захочется поиграться с MySQL).
Также здесь располагаются папки логов обоих хостов, установочный скрипт, скрипт деинсталляции, скрипты запуска и остановки сервера, чьи ярлыки выведены на рабочий стол.
Скрипт установки устанавливает Visual Studio, службу Apache, и тип запуска службы – "Вручную".
Скрипт запуска сервера запускает службу Apache, и прописывает в системный файл hosts адрес форума. Добавляет в переменную PATH путь к php без перезагрузки.
Скрипт остановки сервера возвращает всё взад.
Скрипт деинтсалляции удаляет Visual Studio, службу Apache, и оставшийся мусор.
[/Уголок маньяка]
Для корректной деинсталляции сервера нужно зайти в Пуск - Программы - PanBBserver - Uninstall. Деинсталляция полная (вместе с форумом). Повторного согласия НЕ СПРАШИВАЕТ - срабатывает сразу.
Если у Вас стоял старый вариант сервера – с полуручной установкой, установите поверх него новый ( в варианте, соответствующем ОС), а потом вновь повторите деинсталляцию.
Запускаем браузер. В адресную строку вводим $matches[2] и..
Вот он, наш PunBB!
Можно рассмотреть его в режиме гостя. Можно залогиниться, как простой пользователь – имя пользователя user, пароль user. Можно войти, как администратор – имя пользователя admin, пароль admin. Это позволит настраивать опции форума, добавлять или отключать, удалять или обновлять расширения и т.д.
Несколько самых необходимых расширений уже установлены - к их списку и управлению можно попасть, залогинившись, как admin, и пройдя в "Администрирование-Расширения".
Подключаться к форуму для полноценной работы и администрирования не обязательно из-под администратора, но нужно внимательно отнестись к правам на файлы и папки. Кроме того, из-за особенностей архивации в Windows, могут быть нарушены права на файлы и папки внутри форума. Если что-то пойдёт не так, придётся разбираться с этим.
Несколько слов об организации нашего сервера и расположенного на нём форума.
Сервер обслуживает два внутренних домена - panbb.org и localhost. Localhost пуст. В него можно установить другой сайт, или инструмент управления базами данных MySQL – phpMyAdmin. Если захочется повозиться с MySQL. Об этом будет рассказано позже.
Эти домены мы можем увидеть в виде папок, зайдя в C:\host . Внутри panbb.org обнаруживаем папку \forum. Вот в ней-то и живёт наш PunBB/PanBB. Именно поэтому адрес самого форума выглядит, как $matches[2], а не $matches[2].
Мы говорим – форум установлен не в корень сайта, а в подкаталог /forum. Несмотря на более длинное имя, это даёт некоторую свободу в дальнейшем. Можно, например, в корень сайта положить сайт, а к нему привязать форум. Можно поставить два или более форума в соседних папках. Например, установить ещё один форум (хотя бы тестовый) в папку /forum1. Тогда он будет доступен по адресу $matches[2] - рядом с существующим.
Конечно, устанавливают PunBB/PanBB и в корень сайта. Для этого его файлы распаковывают (в нашем случае) прямо в папку panbb.org, и он становится доступным по адресу $matches[2] . Это не мешает иметь внутри него папку /forum (и не одну) с клонами и соответствующими адресами.
Также возможно через редирект устроить доступ к форуму по прямому адресу домена, даже если он располагается в подкаталоге. Об этом будет рассказано позже.
А сейчас, наигравшись с предустановленным форумом, можно попытаться установить его с нуля самостоятельно. Поселим его в panbb.org в папку forum1 рядом с существующей forum.
Скачаем (хоть бы и у официалов) движок форума. Распакуем его в C:\host\panbb.org. Переименуем папку punbb-1.4.4 в forum1 . Будущий форум будет доступен по адресу $matches[2]. Пройдём по этому адресу, и попробуем следовать инструкциям.
При выборе базы данных необходимо указать $matches[2], ведь MySQL на нашем сервере нет!
Об установке расширений и стилей, о переносе форума с домашнего локального сервера на «настоящий» поговорим позже.