Статьи Новости Контакты

13.02.2008
Даниил Буров

CMS mojoPortal: настройка баз данных

описание системы управления контентом mojoPortal

Сам разработчик — Джо Одетт

mojoPortal и MySQL

Условия лицензии GPL препятствуют распространению версии mojoPortal, которая конфигурирована под MySQL Connector для .NET, так как это требовало бы, чтобы mojoPortal был также лицензирован GPL. Разработчик обращает внимание, что данная лицензия не накладывает никаких ограничений на использование продукта конечными пользователями, оговаривая при этом только условия, на которых он распространяется. Скорее всего, какой-то из подобных пунктов GPL не совсем удовлетворяет Джо Одетта, заставляя воздержаться от использования данной лицензии. К счастью, существует выход из сложившейся ситуации: конструкция mojoPortal такова, что программный код для работы с MySQL Connector находится в отдельной библиотеке. Таким образом, чтобы работать с MySQL и не нарушать никаких договоренностей, разработчик принял решение распространять под свободной лицензией конкретную библиотеку — MySQL Data Layer для mojoPortal. Единственное неудобство в данном случае касается только конечных пользователей. Им необходимо отдельно скачивать и устанавливать эту библиотеку вместо той, что поставляется в комплекте с самой CMS. Вот так юридические вопросы вторгаются в сферу программирования.

Таким образом, это означает, что при желании использовать MySQL вместе с mojoPortal необходимо будет загрузить выпуск MS SQL, а также MySQL Data Layer для mojoPortal. Затем надо будет скопировать dll-файлы из MySQL Data Layer в папку /bin с перезаписью всех файлов с одинаковым названием.

Установка базы данных MySQL

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

mojoPortal распространяется свободно и бесплатно, однако разработчик не хочет, чтобы его продукт попадал под лицензию GPL

Для начала необходимо создать базу данных и пользователя. Предоставить пользователю полный доступ к базе. Ввести строку подключения в файле web.config, затем переместиться в yoursiteroot/Setup/Default.aspx. Строка подключения будет выглядеть приблизительно следующим образом:

Server=localhost;Database=mojoportal;Uid=mojouser;Pwd=mojo

Если будет выдаваться следующая ошибка «Unable to connect to any of the specified MySQL hosts», необходимо искать решение по данной ссылке. Там выложена статья на английском языке и целая дискуссия приблизительно по такой же теме.

Также необходимо убедиться, что файл /etc/mysql/my.conf не имеет включенных настроек skip-networking. В некоторых инсталляциях это является условием по умолчанию и отключает tcp/ip-соединения. При возникновении каких-либо вопросов Джо Одетт готов помочь на своем форуме в максимально быстрые сроки.

Дополнительные ресурсы, которые могут пригодиться в ходе установки: MySQL для Linux или Windows можно скачать здесь; дополнительные инструменты графического интерфейса пользователя — SQLYog и Aqua Data Studio.

Установка под MS SQL

В данном случае необходимо создать базу данных и пользователя, дать ему dbo-разрешение для использования этой базы. После этого надо ввести строку подключения в web.config, после чего можно перемещаться в yoursiteroot/Setup/Default.aspx.

CMS mojoPortal поддерживает MS SQL 2005 — полную версию и Express, MS SQL 2000 SP4 или выше и, возможно, даже SQL 7.

Использование PostgreSQL

Первое, что потребуется, — запустить как пользователь Postgres, для чего надо ввести:

su  postgres

CMS mojoPortal работает с разными базами данных — MySQL, MS SQL, PostgreSQL, SQLite и Firebird Data Layer

Если еще не инсталлирован язык plpgsql, то его придется установить:

psql  -d  template1  -f  plpgsql.sql

Следующий шаг — запуск:

psql  -d  template1  -f  1CreateDatabase.sql

Создание пользователя mojoPortal:

createuser  --pwprompt  --no-adduser  --no-createdb  mojo

Далее необходимо убедиться, что mojoPortal может использовать tcp/ip. Если сервер базы данных и веб-сервер расположены на одной машине, необходимо будет добавить две строки к первым строкам /var/lib/pgsql/data/pg_hba.conf, чтобы создать наименее привилегированные параметры настройки для mojoPortal для соединения с локальной машиной.

host  mojoportal  mojo  ::1/128  password  
host  mojoportal  mojo  127.0.0.1  255.255.255.255  password      

Если сервер базы данных и веб-сервер расположены на разных машинах, надо убедиться, что файрвол на машине с сервером базы данных открыт для tcp-трафика через порт 5432 от веб-сервера. Также стоит дополнительно посмотреть документацию по PostgreSQL по вопросам относительно настройки listen_addresses в postgresql.conf и настроек pg_hba.conf для разрешения доступа с удаленных хостов.

Если есть желание заставить сервер PostgreSQL слушать все его ip-адреса, тогда надо внести следующие изменения в файле /var/lib/pgsql/data/postgresql.conf:

listen_addresses = '*'

По умолчанию PostgreSQL обрабатывает запросы только с loopback-адреса 127.0.0.1. Существует также возможность задать адресный интервал ip, если не надо, чтобы сервер не работал со всеми ip-адресами, но зачастую один адрес в любом случае есть.

Следующий шаг — перезапустить posgresql как корневой каталог:

/etc/init.d/postgresql restart

Затем необходимо убедиться, что пароль в web.config или user.config был изменен на такой же, как при создании пользователя mojoPortal. Чтобы проверить работу, надо переместиться в yoursiteroot/Setup/Default.aspx.

Использование SQLite

SQLite — библиотека, которая выполняет функции базы данных. Используется в приложениях на ПК и в бытовой электронике

Небольшое введение. SQLite, по заявлению ее разработчиков, — это программная библиотека, которая является отдельным безсерверным функциональным механизмом базы данных SQL, не нуждающимся в настройке. SQLite — наиболее широко распространенный механизм базы данных SQL в мире. Это, опять же, является утверждением его разработчиков. Однако на практике это подтверждается тем, что он используется в бесчисленных приложениях на персональных компьютерах, а также и в бытовой электронике: мобильных телефонах, карманных персональных компьютерах, MP3-плейерах и так далее. Исходный код для SQLite является общественным достоянием, а спонсированием ее разработки занимаются Mozilla и Symbian.

С тех пор как SQLite стал библиотекой, полноценно выполняющей функции базы данных, Джо Одетт в своих релизах поставляет набор файлов, которые полностью конфигурированы под файлы базы, уже загруженные с основными данными. Все, что остается сделать, — это установить сеть, сделать папку Data доступной для перезаписи, и уже можно работать. Редактировать содержимое сайта можно уже сразу после входа.

Дальнейшие инструкции написаны на тот случай, если возникнет желание создать свою собственную базу данных вместо использования той, что включена в общий пакет. База данных, которую необходимо конфигурировать в первую очередь, — mojoportal.db — расположена в каталоге WebRoot/Data/sqlitedb/. В этой же папке находится и sqlite3.exe — инструмент командной строки для Windows.

Надо запустить командную строку и открыть cd в эту папку. Чтобы создать базу данных, надо ввести:

type sqlite3.exe yournewdbname.db

Следующим делом, пока в SQLite задается тип, необходимо ввести:

.read createtables.sql

Это запустит сценарий создания таблиц. Чтобы выйти из командной строки SQLite, надо нажать Ctrl+C. Также будет необходимо прописать полный путь к этим файлам в SqliteConnectionString в Web.config.

Использование Firebird Data Layer

Программное обеспечение, которое понадобится для работы, — Firebird sql server версии 2.0.1 или выше. Разработчик рекомендует создавать базу данных, используя FlameRobin или любой другой подобный инструмент по своему выбору. Также рекомендуется использовать UTF8 при ее создании. Далее, как и в других случаях, необходимо создать базу данных и пользователя с полным доступом к ней. Ввести строку подключения в web.config, а затем перейти к yoursiteroot/Setup/Default.aspx.

Настройки строки подключения Firebird. Быстрое описание каждой настройки:

  • Data Source — это имя или ip-адрес машины, на которой установлен Firebird (localhost).
  • Server Type — тип сервера, должен быть установлен на 0 при соединении с сервером Firebird и 1 при использовании внедренного сервера Firebird.
  • Port Number — номер порта, запросы с которого обрабатывает сервер Firebird, значение по умолчанию — 3050.
  • Database — псевдоним (alias) базы данных или полный путь к файлу базы данных на сервере.
  • Dialect — sql-диалект базы данных, значение должно быть выставлено на 3.
  • Charset — набор символов, кодировка базы данных. Должена соответствовать настройкам, которые использовались при создании самой базы данных.
  • Pooling — разрешает объединение подключений, увеличивает время ответа сервера.
  • Min Pool Size — минимальное число подключений к базе данных для сохранения ее открытости.
  • Max Pool Size — максимальное число подключений, открытых одновременно.
  • Connection Timeout — время сброса в секундах при неудовлетворенном запросе подключения.
  • Connection Lifetime — когда соединение закрыто, оно возвращается в пул подключения. Это время в секундах сохранения соединения открытым после того, как оно вернулось в пул.
  • Fetch Size — число строк в выборке за одно подключение к базе данных.
  • User Id — имя пользователя, используемое для подключения к базе данных, должно соответствовать пользователю Firebird.
  • Password — пароль пользователя.

Продолжение следует.





Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2018 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100