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 или более новая. Процесс работы с более старыми версиями разработчиком не тестировался, однако он не исключает возможности использования таких вариантов.
Для начала необходимо создать базу данных и пользователя. Предоставить пользователю полный доступ к базе. Ввести строку подключения в файле 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
Если еще не инсталлирован язык 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, по заявлению ее разработчиков, — это программная библиотека, которая является отдельным безсерверным функциональным механизмом базы данных 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 — пароль пользователя.
Продолжение следует.
Ссылки по теме
Источник: hostinfo.ru