1 (edited by kisa 2017.07.07 23:43)

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.

https://punbb.softplaza.net/uploads/images/2017/06/bb4e224daae8e2f21c03f13b72ccb292.jpg

Прелесть $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!

https://punbb.softplaza.net/uploads/images/2017/06/b016f7af3616bfdc615433ac892c8c8c.jpg

Можно рассмотреть его в режиме гостя. Можно залогиниться, как простой пользователь – имя пользователя 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 на нашем сервере нет!

Об установке расширений и стилей, о переносе форума с домашнего локального сервера на «настоящий» поговорим позже.

2

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

Denver, крайне не рекоммендую ибо обновляется редко и последний релиз поддерживает максимальную версию PHP 5.3  PunBB_INFO_ICQ/bigsmile (сегодня стандарт 5.5, хотя существует уже и 7).

Я бы рекоммендовал Open Server, аналогичный по сути проект, но развивается и обновляется он гораздо динамичнее и поддерживает последние версии необходимых библиотек!

1

3 (edited by kisa 2017.06.21 22:47)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

PunBB_INFO_ICQ/bigsmile Зачем монстры, когда я готовый выложил, прямо с форумом, без всякого лишнего мусора?  PunBB_INFO_ICQ/bigsmile

4 (edited by sempai 2017.06.21 07:53)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

kisa, ну хотя бы потому, что PHP 5.3 вышла в свет в уже далеком 2009 году, с тех пор много чего изменилось, и если на первый взгляд "все работает нормально", то все равно рано или поздно вы сталкнетесь с неправильной работой расширений или же самого форума.  PunBB_INFO_ICQ/yes

5 (edited by kisa 2017.06.21 08:05)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

PunBB_INFO_ICQ/bigsmile Т.е моя сборка непригодна для попробовать форум дома?  PunBB_INFO_ICQ/bigsmile У меня на даче без Интернета вовсю крутится.

Хостеры совсем не так гонятся за прогрессом, как разработчики.
Соберу из компонентов поновее.. Когда подберу их.

6

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

Попробовать можно (и нужно), все что угодно, но правильность работы гарантировать нельзя  PunBB_INFO_ICQ/jokingly

7 (edited by kisa 2017.06.24 00:09)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

Добавил. Версии ПО рядом со ссылками.

$matches[1]

Автоматизировал установку - теперь в один двойной клик, добавил корректтную деисталляцию. Первый вариант неактулен, но пусть немного повисит под спойлером.

$matches[1]

PanBBserver обновлён до версии 0.3.
+Установлены приличные ярлыки, в варианте для XP заменена сборка VC++.
+Сервер добавлен в меню Пуск-программы, откуда его можно запустить, остановить, и деинсталлировать.
+Для корректной деинсталляции не нужно останавливать сервер.

8 (edited by sempai 2017.06.25 02:32)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

kisa, молодчина! PunBB_INFO_ICQ/thumbsup
Мне зачастую кажеться что все, что мы здесь делаем, мы делаем исключительно для себя, и реакции пользователей на проделанную работу не дождешься. Хотя почему собственно кажется, так и есть (имхо).  PunBB_INFO_ICQ/wall
Пользователи ведь от слова "испльзовать", вот они и ведут себя чисто потребительский, а мы тут общаемся зачастую сами с собой...  PunBB_INFO_ICQ/sad

P.S. нужно будет попросить PunBB, по приезду перенести это сообщение в "Мысли в слух".

9 (edited by kisa 2017.06.25 07:37)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

PunBB_INFO_ICQ/smile
Норм. Просмотры и скачивания есть, а что молчат - значит, довольны  PunBB_INFO_ICQ/bigsmile Тут же за каждым много народу стоит. За мной под полтыщи, включая незареганых постоянных читателей.

Здесь, говоря языком времён развитого социализма, завод заводов. Который выпускает десять станков и прессов в год. Для пяти клиентов-заводов.. Мало? Но на каждом из них в год будет выпускаться миллион кастрюль. Так что пять ТАКИХ клиентов - это нормально.

А у нас - форум форумов. И раскрутим ещё..

10

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

kisa, ты посчитай, сколько у тебя реальных пользователей просили реализовать тот или иной функционал? Думаю цифры будут немного другие  PunBB_INFO_ICQ/wink , а остальные заинтересованные использовали бы форум даже если бы на нем практический ничего небыло установлено, ибо связанны с ним идеей а не имеющимся функционалом. PunBB_INFO_ICQ/ok

11 (edited by kisa 2017.06.26 10:47)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

Ха, а это и было положено в основу. Ну и у нас ээ... порядок такой - мудрому руководству без умников видно, какой функционал нам нужен  PunBB_INFO_ICQ/cool Например, видеоокно нам не нужно, и репутации разного рода. Хотя просили немного.
Но там идейный (в смысле IT) форум, а здесь - технический.

_______________________________________________

Как мы могли убедиться, более сложного сервера PunBB/PanBB не требует. Оговорюсь: компоненты, из которых состоит PanBBserver,  те же самые, из которых состоит почти любой веб-сервер – в Интернете, в локальной сети, или локальный домашний. Не похожие, а именно те же. Просто, наш сервер не обвешан ненужным.

Как уже говорилось, в его состав не входит даже MySQL,  ибо PunBB/PanBB способен работать на $matches[2].

Однако, в каких-то случаях может понадобиться завести и MySQL локально. Может быть, Ваш форум остро нуждается в каком-то расширении, которое пока не адаптировано к $matches[2]. Может быть, Вы хотите покрутить локально ещё какой-то свой интернет-проект, которому необходим MySQL.

Не громоздить же рядом неуклюжие популярные WAMPы, и не уродоваться с их установкой и настройкой, когда у нас уже установлен PanBBserver. Для того, чтобы он был способен обеспечить вообще любой вменяемый интернет-проект на локальном компьютере, достаточно добавить MySQL.

Но  это уже следующий уровень, и придётся немного поработать. Существует отличная инструкция, согласно которой можно самостоятельно построить веб-сервер из компонентов. Собственно, PanBBserver тоже построен и настроен по этой инструкции.  Пока живут и развиваются Apache, PHP и  MySQL в существующей архитектуре, эта инструкция останется актуальной и одной из лучших.

Вот она – ни убавить, ни прибавить.
Инструкция

В составе  PanBBserver’а уже имеются Apache и PHP.  Остаётся добавить MySQL и инструмент управления – phpMyAdmin.

В серверопостроении самая главная проблема – совместимость версий и компонентов между собой. Поэтому какие попало не годятся. Даже те, которые доступны по ссылкам из инструкции – некоторые из ссылок ведут к постоянным версиям, некоторые – к самой свежей. Всё это вместе работать не будет.

Дабы хоть как-то облегчить задачу, приведу MySQL и phpMyAdmin, совместимые с PanBBserver-XP (т.е., мягко говоря не самое свежее ПО, но проверенная рабочая связка). При необходимости, эта версия сервера работает и на Windows 7.

mysql-5.5.23
phpMyAdmin-4.0.10.20

PhpMyAdmin логично установить в папку C:\host\localhost\phpmyadmin  - тогда он без лишних телодвижений будет доступен в браузере по адресу localhost.

Обратите внимание, расположение папок в PanBBserver  отличается от предлагаемого в статье! Поэтому, будьте внимательны, прописывая адреса при настройке MySQL и phpMyAdmin. В  MySQL  при выборе кодировки указываем utf8.

При необходимости переустановки  MySQL придётся почистить его следы в системе – в Program Fles и в AllUsers\ApplicatonData удалить папки  MySQL от старой установки.

Если MySQL, как и рекомендовано, установлен в виде службы, нужно обеспечить её запуск. Или установить тип запуска "Авто" (что не совсем хорошо), или дописать в скрипты запуска старт и стоп службы, как это там сделано для службы Apache.

А дальше – самостоятельно.

12

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

sempai wrote:

Мне зачастую кажеться что все, что мы здесь делаем, мы делаем исключительно для себя, и реакции пользователей на проделанную работу не дождешься. Хотя почему собственно кажется, так и есть (имхо). PunBB_INFO_ICQ/wall

Пользователи ведь от слова "испльзовать", вот они и ведут себя чисто потребительский, а мы тут общаемся зачастую сами с собой... PunBB_INFO_ICQ/sad

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

Когда мне долго не могли помочь, я предлагал разработчикам сделать платное расширение. И первым вызывался его купить. Но у вас свои планы и идеи. И я не хам? чтобы требовать от вас исполнения моих хотелок. За последние полгода в среднем, я только одно расширение установил: Субфорумы. Остальное либо не допилено, либо лично мне не нужно.

А по этой теме, для меня развернуть веб-сервер задача не такая сложная. Статья эта интересна разве что новичкам. И работать я предпочитаю с *nix-based ОС.

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

P.P.S. Можно сделать копилку идей. Где и устроить голосование лайками. Ведь многие интересные идеи забываются/теряются.

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

13

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

nihi1ist wrote:

За последние полгода в среднем, я только одно расширение установил: Субфорумы. Остальное либо не допилено, либо лично мне не нужно.

https://punbb.softplaza.net/uploads/images/2017/06/b83f32818fc0e6ff0bba8d559d08a8a1.jpg

Ню ню  PunBB_INFO_ICQ/wink

14

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

sempai, виноват, виноват. Прощу прощения. Просто насчет рейтинга я не уверен. Не вписывается он в общий стиль форума, я всё думаю над оформлением для него. Но лайк был мною поставлен сразу же как увидел ваше расширение. PunBB_INFO_ICQ/smile

Хотя было бы вообще хорошо, если бы reputation до 5 версии от hcs починили бы, а то он забросил свое расширение.

15 (edited by kisa 2017.06.27 05:10)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

nihi1ist wrote:

Статья эта интересна разве что новичкам. И работать я предпочитаю с *nix-based ОС.

Я когда мимо песочника с малышнёй хожу, которые машинками играются, тоже высокомерно заявляю, что я на настоящей езжу. И им рекомендую  PunBB_INFO_ICQ/bigsmile
Раз "разве что новичкам"  - нафиг статью, не нужны нам новички? У меня собственно, win-комп один, и тот такой - на даче для опытов. Мне оно тоже ни к чему. Всё реально используемое линуксовое.

16 (edited by nihi1ist 2017.06.27 05:13)

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

kisa wrote:

Я когда мимо песочника с малышнёй хожу, которые машинками играются, тоже высокомерно заявляю, что я на настоящей езжу. И им рекомендую  PunBB_INFO_ICQ/bigsmile
Раз разве что - нафиг статью, не нужны нам новички?

Язва вы kisa. PunBB_INFO_ICQ/smile Я ведь не с пренебрежением отвечал, а чтоб пояснить отсутствие интереса. А так, администрация форума очень дружелюбна, особенно PunBB.

17

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

PunBB_INFO_ICQ/crasy

18

Re: Простейший локальный сервер. Запускаем PunBB/PanBB дома.

PunBB_INFO_ICQ/shock  PunBB_INFO_ICQ/whipped