Здесь можно найти перевод полезного мода, узнать про оптимизацию SMF и многое другое.
29 подписчиков
 

SMF на локальном сервере

Не секрет, что зачастую выбор того или иного форумного движка основан на опыте работы с ним. Иногда этот опыт ограничивается двумя фазами (установил, не понравилось), иногда — одной (хочу, как у знакомого). Впрочем, бывают и исключения. Эта статья посвящена НЕ выбору SMF (предполагается, что выбор уже сделан) и НЕ выбору хостинга (тестировать будем локально). Это даже не рекламный обзор (типа «Денвер — это круто, все ставим его!» или «товарищ Ленин говорил: Xampp, Xampp и ещё раз Xampp...») — мы лишь рассмотрим несколько более или менее известных решений для создания локальных серверов (кстати, msm.ru может предоставить вам сервер в аренду). И проанализируем, как должна осуществляться установка SMF при работе с каждым из рассматриваемых далее продуктов. А уж вы сами выберете для себя то, что именно вам покажется удобней.

Что нам понадобится (инструментарий):

  • какой-нибудь архиватор (7-zip),
  • текстовый редактор с подсветкой кода (Notepad++),
  • файловый менеджер (Total Commander),
  • любимый браузер,
  • навыки работы с файлами и папками в Windows.

Самое важное:


Денвер

Denwer

Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе.

Рассмотрим процесс по шагам.

  1. Скачиваем дистрибутив и начинаем установку. Запускаем скачанный exe-файл (что-то вроде Denwer3_Base_***.exe) и устанавливаем Денвер туда, куда он хочет (или меняем путь на свой).
  2. В конце установки выбираем вариант 1, как наиболее удобный, и создаем ярлыки на рабочем столе, для запуска серверов.
  3. Необязательный этап: скачиваем обновление для Денвера.
  4. Запускаем Денвер (ярлык Start Denwer на Рабочем столе) и свой любимый браузер (если он уже не запущен), вводим в адресной строке http://localhost
  5. Если увидите приветствие «Ура, заработало!», значит всё у Вас в порядке (если не увидите — ищите причину на форумах поддержки Денвера). Продолжаем работу.
  6. Сворачиваем браузер и открываем в Проводнике директорию, в которую установили Денвер (если по умолчанию, то C:\WebServers).
  7. Заходим в директорию home и создаем в ней поддиректорию с именем своего тестового сайта (на который собираетесь устанавливать SMF), к примеру: mysite
  8. Заходим в mysite и создаем директорию www.
  9. Распаковываем все файлы из дистрибутива SMF в директорию нашего сайта: C:\WebServers\home\mysite\www
  10. Распаковываем все файлы из архива с локализацией в ту же папку, с заменой (если система спросит)
  11. Теперь перезапускаем Денвер, чтобы наш сайт обнаружился и подключился (ярлык Restart Denwer на Рабочем столе)
  12. Набираем в браузере адрес http://mysite и нажимаем Enter
  13. Почти наверняка Вы увидите сообщение об ошибке: «Пожалуйста, оповестите вашего хостера о том, что session.save_path указанный в php.ini неверный! Путь необходимо изменить на существующую директорию, которая имеет права на запись».
  14. Чтобы устранить ошибку, открываем файл C:\WebServers\usr\local\php5\php.ini, находим строчку, о которой говорится в ошибке:
    session.save_path = "/tmp"
    исправляем её на свой путь к папке tmp:
    session.save_path = "C:\WebServers\tmp"
    
  15. Сохраняем изменения и перезагружаем Денвер (внимательные читатели сообразят, что этот шаг можно было бы сделать сразу после распаковки дистрибутивов SMF, для ускорения).
  16. Обновляем страницу в браузере и убеждаемся, что ошибка исчезла и можно продолжать установку.
  17. Настройки сервера базы данных — очень важный шаг в процессе установки — здесь в качестве имени пользователя (для подключения к базе данных) указываем root, пароль оставляем пустым (это стандартные настройки Денвера). В качестве названия базы данных рекомендую указать имя сайта — в нашем случае mysite — так удобней для понимания, какая база к какому сайту относится. Всё остальное оставляем без изменения и нажимаем «Продолжить».
  18. На следующем шаге указываем название нашего тестового форума. Рекомендую придумать что-нибудь оригинальное (хотя не суть важно), вроде «Общество искателей приключений». Устанавливаем чуть ниже галочку напротив опции «Использовать кодировку UTF-8» и переходим к следующему шагу.
  19. При создании учетной записи используйте одинаковые логин и пароль (для упрощения — ведь это всего лишь тестовый сайт), к примеру: admin/admin (но НИКОГДА НЕ делайте так на настоящем сервере, ради безопасности!).
  20. E-mail можно указать любой, даже несуществующий — все письма всё равно будут обработаны стандартной заглушкой Денвера (sendmail).
  21. На последнем шаге ставим галочку для удаления файла install.php и переходим на наш созданный форум.
  22. Сразу заходим в Админку => Конфигурация => Безопасность и модерирование => Основные настройки и отключаем проверку пароля для администраторов. Это избавит Вас от необходимости ввода пароля при каждом последующем входе в раздел настроек (на локальном сервере это по меньшей мере раздражает).
  23. Поскольку мы работаем в Windows, то никакие права на папки и файлы менять не надо, поэтому можем сразу приступить к изучению настроек SMF и посмотреть, что за что отвечает.
  24. При тестировании модов учтите одну вещь: рекомендуется удалять их в обратном порядке. То есть если Вы установили моды А, Б и В друг за другом, то удалять их надо так: В, Б и наконец А. Этим избавите сами себя от возможных ошибок в дальнейшем.
  25. Кстати, перед началом тестирования рекомендую установить два этих мода: Error Log Counter и Sortable Packages (and Installed Time)

Полезные сведения

  • Для более удобной работы с Денвером попробуйте найти в сети утилиты типа Denwer Runner (управление сервисами + редактирование ключевых файлов).
  • Если понадобится поработать с базой данных напрямую, то наберите в браузере адрес: http://localhost/Tools/phpMyAdmin/
  • Все отправляемые через виртуальные сайты письма сохраняются в директории C:\WebServers\tmp\!sendmail, с расширениями .eml
  • Если за время работы с модами Вы столкнетесь с белым экраном, ищите причину его возникновения в логах Денвера: C:\WebServers\usr\local\apache\logs
  • И помните, что состояние форума чаще всего можно восстановить, вернув файлы к состоянию до установки того или иного мода (резервные копии в SMF сохраняются в директории /Packages/backups, с именем мода и датой установки).

P. S. Если вздумаете открыть свой тестовый сайт для доступа извне, помните, что Денвер предназначен не совсем для этого. И если не передумаете, то позаботьтесь хотя бы о защите.


Xampp

Xampp

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

По сравнению с Денвером, Xampp содержит в себе больше компонентов (оттого и весит больше, напоминая Титана — см. название эпизода) и он изначально более защищен (см. далее).

  1. Итак, скачиваем дистрибутив Xampp и устанавливаем его.
  2. После распаковки файлов появится окно командной строки и в нем вопрос «Should I add shortcuts to the startmenu/desktop?» («Добавить ярлыки для запуска в Главное меню/на Рабочий стол?»). Подвердите положительный ответ, нажав Enter.
  3. На вопрос «Should I make a portable XAMPP without drive letters?» («Сделать переносную версию XAMPP?») можете ответить «y», если собираетесь использовать Xampp с флэшки, перетаскивая его между компьютерами, либо «n» — если хотите запускать Xampp только на текущем компьютере, в виде сервисов.
  4. Когда появится список из нескольких пунктов, наберите 1 для запуска панели управления сервером. После этого можете закрыть командную строку.
  5. Рекомендую пока не запускать все сервисы сразу, а попробовать запустить только Apache и MySQL, нажав на кнопки Start справа от каждого из этих пунктов.

    Контрольная панель Xampp

  6. После запуска кнопки Start превратятся в кнопки Stop, а справа от названий компонентов появится слово «Running», означающее активность соответствующих сервисов.
  7. Кроме этого, станут активными кнопки Admin, предоставляющие доступ к настройкам.
  8. Открываем в Проводнике директорию C:\xampp\htdocs и создаем директорию с именем нашего тестового сайта (mysite). Заходим в нее и распаковываем туда дистрибутив SMF и локализацию.
  9. Набираем в браузере адрес http://localhost/mysite и убеждаемся, что всё нормально (перезагружать Xampp НЕ нужно!)
  10. Однако, согласитесь, после работы с Денвером многим покажется не слишком удобным, что адреса сайтов выглядят так: http://localhost/mysite вместо привычного http://mysite, поэтому можем заняться настройками виртуальных хостов.
  11. Для этого откроем файл C:\xampp\apache\conf\extra\httpd-vhosts.conf (рекомендую сделать для него ярлык в надежном месте, для быстрого открытия в дальнейшем), раскомментируем 19 строчку:
    NameVirtualHost *:80
    
    и вставим в самый конец файла следующий блок:
    
        DocumentRoot "C:\xampp\htdocs"
        ServerName localhost
    
    
        ServerAdmin webmaster@mysite
        DocumentRoot "C:\xampp\htdocs\mysite"
        ServerName mysite
        ServerAlias www.mysite
        ErrorLog "C:\xampp\htdocs\mysite\error.log"
        CustomLog "C:\xampp\htdocs\mysite\access.log" combined
      
        AllowOverride All
        Order allow,deny
        Allow from all
      
    
    
  12. Теперь найдем файл C:\Windows\System32\drivers\etc\hosts и добавим в самый конец следующие строчки:
    127.0.0.1     mysite
    127.0.0.1     www.mysite
    
  13. Таким образом, наш тестовый сайт будет доступен и по адресу http://mysite и по адресу http://www.mysite (кому как удобнее).
  14. Теперь в панели управления перезапускаем Apache и набираем в браузере привычный адрес: http://mysite. Устанавливаем SMF (используем те же данные, что и при установке SMF на Денвере).

Полезные сведения

  • В панели управления Вы можете проставить галочку «Svc» напротив тех компонентов, которые собираетесь запускать в виде сервисов Windows.
  • Открыв в браузере страницу http://localhost/xampp/ и выбрав пункт Status, Вы увидите список всех запущенных и отключенных компонентов.
  • Если захотите сделать в Xampp такую же отладочную заглушку для sendmail, как и в Денвере, прочтите эту статью
  • По адресу http://localhost/security/ можно узнать о том, как улучшить безопасность Xampp.

NIMP

Nimp

NIMP — сборка из Apache+Nginx+PHP+Mysql+eAccelerator+Sendmail под Windows. Целью является снижение нагрузки на сервер и уменьшение времени отклика благодаря схеме фронтенд-бэкенд. Nginx работает как frontend и предназначен для раздачи статического контента. Apache — в качестве backend для генерации динамического контента. Данная сборка прекрасно подойдет для высоконагруженных сайтов в корпоративных и городских сетях.
  1. Итак, скачиваем дистрибутив.
  2. Распаковываем дистрибутив NIMP в желаемый каталог, например, в C:\nimp
  3. Распаковываем туда же, поверх, бета-версию панели управления. Запускаем её (файл C:\nimp\NimpCP).
  4. Если при запуске возникла ошибка, скачайте и установите .NET Framework 3.5 (или выше). После этого всё должно запуститься без проблем.
  5. Итак, панель запущена (см. скриншот). Переходим на вкладку «Виртуальные хосты» и вводим имя тестового сайта: mysite.
  6. В столбце слева должна появиться строчка mysite.conf
  7. Выделите её и переместите в правый столбец. В результате в файле C:\Windows\System32\drivers\etc\hosts появится строчка
    127.0.0.1 mysite
    
    Согласитесь, гораздо удобнее, чем если бы Вам пришлось редактировать этот файл вручную (как при работе с Xampp).
  8. В директории C:\nimp\htdocs появится папка с именем нашего сайта: mysite (файл index.html, лежащий в этой директории, можно удалить). Распакуем туда дистрибутив SMF и локализацию.
  9. Теперь переходим на первую вкладку («Процессы») и запускаем все компоненты (Старт Все). Полоски слева от логотипов компонентов должны стать зелеными.

    Контрольная панель Nimp

  10. После этого нажмите на кнопку Localhost. Откроется главная страница NIMP в браузере, на которой Вы можете найти пароль и логин к MySQL. Запомните их или поменяйте на другие (см. Полезные сведения).
  11. Набираем в браузере адрес нашего тестового сайта http://mysite и устанавливаем SMF.

Полезные сведения

  • На вкладке «Конфигурация» в панели управления можно поменять пароль к MySQL, а также включить автозапуск панели при загрузке Windows.
  • Доступ к любым элементам панели, а также к настройкам компонентов, входящих в состав NIMP, можно получить из трея. При открытии ключевых файлов (например, php.ini) будет использоваться Notepad2, обеспечивающий подсветку синтаксиса (очень удобная штука).
  • Все логи можно найти по адресу C:\nimp\component\logs\site (кнопочка для открытия этой директории доступна из трея)

Uniform Server

UniServer

Uniform Server — это сборка на основе WAMP (WAMP – Windows, Apache, MySQL, PHP) для запуска полноценного сервера на компьютере с установленной Windows. Пакет очень мал и мобилен (можно хранить и запускать прямо с флэшки), может использоваться для установки рабочего (production/live) сервера. Разработчики могут тестировать с помощью Uniform Server свои приложения, требующие PHP, MySQL, Perl, Apache.

Предупреждаю сразу — это вам не Денвер. И не Xampp. Хотя те, кто привык работать с последним, без труда разберутся с интерфейсом Uniform Server.

  1. Скачиваем последнюю версию пакета и распаковываем, к примеру, на диск D:
  2. После распаковки заходим в папку UniServer и создаем внутри нее директорию для своих будущих проектов — projects.
  3. Затем открываем файл usr\local\apache2\conf\httpd.conf и ищем строку AddDefaultCharset UTF-8, убираем знак решетки перед ней.
  4. В файле usr\local\php\php.ini находим строчку session.save_path и указываем в ней путь к папке tmp (например, "D:/UniServer/tmp"), убираем знак комментария перед этой строчкой.
  5. В этом же файле находим строчку mbstring.internal_encoding и меняем её значение на "UTF-8".
  6. Теперь можно запускать сервер — файл Start.exe внутри папки UniServer. Возле часов появляется синяя иконка с цифрой 1, предоставляющая доступ к панели управления:

    Контрольная панель UniServer

  7. Запускаем сервер (самая верхняя строчка в меню). В браузере автоматически откроется страница http://localhost с приветствием.
  8. Переходим по ссылке Server Administration и попадаем в святая святых Uniform Server — центр администрирования (Admin Panel).
  9. Можете посмотреть информацию об установленных компонентах сервера, убедиться, что используются последнии версии, обновиться при желании.
  10. В разделе Configurations находятся самые важные настройки сервера, которые можно тут же поменять (после изменения настроек необходим перезапуск сервера).
  11. Доступ к базам данных своих проектов можно получить из раздела Tools » phpMyAdmin
  12. Для создания тестового сайта переходим в раздел Admin Virtual Host и указываем необходимые сведения: имя сайта (mysite) и его расположение (D:/UniServer/projects/mysite). После нажатия на кнопку Create VHost в соответствующей директории будет автоматически создана директория mysite.
  13. Распаковываем в mysite содержимое дистрибутива SMF и локализацию. Перезапускаем сервер.
  14. Набираем в браузере привычный адрес: http://mysite. Устанавливаем SMF (используем те же данные, что и при установке SMF на Денвере).
  15. При возникновении проблем с кодировкой (знаки вопроса вместо текста) добавьте строчку $db_character_set = 'utf8'; в Settings.php

Полезные сведения

  • В директории docs можно найти кучу интересной информации, в том числе об использовании сборки в Windows 7.
  • Error Log Viewer (http://localhost/apanel/error_log_viewer.php) — централизованное хранилище всех ошибок, вызванных вашими проектами.
  • В отличие от большинства своих конкурентов Uniform Server обновляется регулярно (раз в месяц) и даже содержит в себе сервис проверки обновлений (http://localhost/apanel/update.php).
  • По адресу http://localhost/apanel/security.php можно узнать о том, как улучшить безопасность UniServer.
  • На официальном сайте сборки можно найти несколько плагинов.

Open Server

Open Server — это портативный локальный WAMP/WNMP сервер, созданный специально для веб-разработчиков. После установки пакета можно выбрать Apache или Nginx в качестве сервера, подключить FTP, настроить почтовую заглушку.

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

  1. Как обычно, скачиваем последнюю версию пакета и распаковываем, к примеру, на диск D:
  2. После распаковки и выполнения первоначальных действий по настройке сервера (обо всём этом написано в документации по установке на сайте продукта) заходим в папку пакета, затем в подпапку html и внутри нее создаем папку с названием тестового домена. Например mysite.ru. Внутри этой папки создаем ещё одну — www. И уже в нее распаковываем дистрибутив SMF с локализацией.
  3. А дальше всё как по маслу — запускаем панель управления Open Server (exe-файл в корне сервера) и при необходимости меняем настройки на нужные вам:

  4. Затем в этой же панельке проверяем, находится ли наш сайт в списке и запускаем сервер (самый верхний пункт в меню). В браузере набираем адрес своего сайта (mysite.ru) и устанавливаем SMF:

Полезные сведения

  • Доступ к логам, phpMyAdmin, конфигурационным файлам PHP и Apache — всё это можно найти в панели управления.
  • При возникновении каких-либо вопросов по работе с Open Server заглядывайте на официальный форум.


Как видите, установка smf — дело довольно несложное... Посмотрите также общий список всех известных сборок...

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

Комментарии (всего 4)
  1. | seversantana
    Самое важное:
    дистрибутив=> Download SMF 2.0 RC5 => Full install => zip-архив (рекомендую попробовать SMF 2.0 RC5 — всё равно ведь тестируем)
    локализация=> smf_2-0-rc5_russian-utf8 (именно UTF-8, с ней удобней работать)
    Обе ссылки ведут на дистрибутив.

  2. | Bugo

    Спасибо, хотя бы один человек из тысячи обнаружил эту ошибку smile

  3. | ku7mich

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

  4. | Bugo

    Действительно, хорошая идея. Может, на досуге реализую.

Есть что сказать?

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

(войти без комментирования)

Имя и сайт используются только при регистрации.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)