[Закрыть]
 
popoff.donetsk.ua
Люди молятся Богу лишь для того, чтобы Бог помог сохранить им все объекты своей привязанности. /Путь дурака/
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Статьи - Программирование - Движок для портала - Порядок инсталляции
Я это делаю
Персональное меню
Голосование
Деньги, либо любимое занятие? Постоянный адрес этого вопроса
Деньги, но неинтересная работа и невозможность уделить время семье
Интересная работа, возможность саморазвиваться, но нищенский заработок
Ваш возраст (не обязательно)
Почему? (не обязательно)

Голосование закрыто.

Поиск по сайту
Реклама
porter.mir.dn.ua
Статистика

Порядок инсталляции

Постоянный адрес статьи

1. Общие сведения о файлах системы

1.1. Каталог libs - набор библиотек.

Если Вы на одном хостинге устанавливаете несколько независимых сайтов, то всегда требуется только одна копия этого каталога.

1.2. Каталог forms - шаблоны, определенные пользователем.

Система поддерживает многошаблонность. Существует системный вариант шаблонов system, который поставляется вместе с системой. Системные шаблоны используются всегда, когда нет пользовательских шаблонов.

Системный набор шаблонов находится в файлах xml/*.xml.

Внутри каталога forms содержатся дочерние каталоги. Имена дочерних каталогов соответствуют именам наборов шаблонов. Имена доступных шаблонов задаются константой TEMPLATE_LIST.

Внутри каталога одного набора шаблонов могут находиться любые файлы из системного набора шаблонов. Если какого-то файла нет в пользовательском наборе шаблонов, тот этот файл будет взят из системного набора шаблонов.

1.3. Каталог options - настройки сайта.

Внутри этого каталога содержатся три файла:

addr.php - набор настроек, которые зависят от расположения сайта. Обычно здесь записываются пароли к почте, параметры доступа к базе данных, пути и т.п. Один и тот же сайт может находиться в разных местах, например, на машине разработчика и на сервере, доступном в Интернете. Назначение этого файла в том, чтобы при установке обновлений сайта не редактировать никакие файлы. Все, что может измениться при перемещении сайта, выносится в отдельный файл addr.php.

inc.php - модуль стандартных подключений. Вы можете найти файлы с таким названием во всех дочерних каталогах public_html и внутри каталога libs. Обычно Вам не требуется редактировать эти файлы.

options.php - набор настроек, которые не зависят от расположения сайта.

В файлах libs/*/*.options.php записываются настройки по умолчанию. Вам никогда не следует изменять настройки по умолчанию. Если Вы хотите изменить одну из этих настроек, то просто вынесите определение константы в один из файлов addr.php или options.php.

1.4. Каталог public_html - файлы, доступные из Интернета.

Внутри этого каталога содержатся:

1.4.1. Каталоги, имена которых соответствуют именам библиотек из каталога libs. Внутри этих каталогов расположены файлы *.html из каталога libs/*/html/ соответствующей библиотеки. Внутри каталога библиотек эти файлы расположены только для того, чтобы при изменении этих файлов мы знали, где расположена самая последняя версия. Во всех остальных местах, в том числе и в каталоге public_html располагаются копии этих файлов. В этих файлах всегда содержится минимальный исполнимый код, который обычно заключается в загрузке одной из библиотек. Это необходимо для упрощения процедуры обновления системы.

1.4.2. Каталог im. В этом каталоге содержатся картинки. Эти картинки являются частью дизайна системы.

1.4.3. Каталог img. В этом каталоге содержатся картинки, загружаемые пользователями сайта. Этот каталог должен быть доступен для записи скриптам.

1.4.4. Каталог js. В этом каталоге содержатся библиотеки JavaScript.

1.4.5. Файл inc-all.php. В этом файле содержится переключатель, который позволяет загружать разные настройки в зависимости от доменного имени. Этот файл предназначен для того, чтобы к системе можно было осуществлять доступ из разных доменов. В этом файле также содержится путь к каталогу настроек. Грамотное использование этого файла позволяет, в частности, имея одну копию каталога libs и одну копию каталога public_html использовать несколько полностью независимых сайтов.

1.4.6. Остальные файлы каталога public_html являются копией файлов каталога libs/mp/html/. Вам не следует изменять эти файлы.

1.5. Каталог writable - системные файлы.

Для этого каталога скриптам должен быть открыт доступ на запись.

Внутри этого каталога содержится:

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

1.5.2. Каталог templates. В этом каталоге содержатся откомпилированные варианты шаблонов. Внутри каталога templates располагаются дочерние каталоги templates/*, каждый из которых соответствует одному из наборов шаблонов. Система не создает автоматически эти вложенные каталоги, поэтому при добавлении нового набора шаблонов Вам следует вручную создать здесь каталог и дать скриптам права на запись в этот каталог. Вложенный каталог для системного набора шаблонов называется system.

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

2. Инсталляция и настройка Apache, PHP и MySQL

2.1. Считается, что Вы уже установили Apache, PHP и MySQL.

2.2. Проверьте, загружен ли у Вас модуль mod_rewrite

2.3. Проверьте, разрешена ли у Вас обработка файлов .htaccess. Проверьте, что в этих файлах разрешено выполнение директив модуля mod_rewrite и директивы AddType.

2.4. Проверьте, подключён ли у Вас модуль iconv.

3. Порядок инсталляции.

3.1. Скопировать каталог libs в место, не доступное из Интернета. Если у Вас возможна инсталляция нескольких копий системы, то для этого каталога выбирается место, откуда он будет доступен всем инсталляциям.

3.2. Каталоги forms, options, public_html и writable всегда копируются в одной копии для каждой инсталляции. Если у Вас ровно одна инсталляция системы, то каталог libs имеет смысл разместить в одном каталоге с этими каталогами.

3.3. Установить права на запись скриптам для каталога public_html/img. Если Вы инсталлируете систему под операционной системой Windows, то, как правило, скрипты могут записывать в этот каталог без дополнительных настроек.

3.4. Установить права на запись скриптам для каталога public_html/writable/ и всех дочерних каталогов. Если Вы инсталлируете систему под операционной системой Windows, то, как правило, скрипты могут записывать в этот каталог без дополнительных настроек.

3.5. Если каталоги options и public_html не находятся в одном общем родительском каталоге, если Вы переименовали каталог options или хотите использовать многодоменный доступ к одной инсталляции системы, то Вам следует отредактировать файл public_html/inc-all.php. В этом файле производится изменение текущего каталога на каталог с файлами настроек в зависимости от текущего доменного имени и загрузка файла inc.php.

3.6. Изменить файл настроек addr.php:

ADDR_DEBUG_HOSTS - список ip-адресов, разделенных пробелом, с которых возможен доступ в режиме отладки.

ADDR_DEBUG_MODE_ALLOW - 1, если режим отладки разрешен и 0, если запрещен. Управляет возможностью включения режима отладки. Если режим отладки запрещен, то его нельзя включить.

ADDR_DIR_PUBLIC - имя каталога public_html.

ADDR_MAIL_SMTP_AUTH_LOGIN - имя пользователя SMTP-сервера. Используется при отправке почты с сайта.

ADDR_MAIL_SMTP_AUTH_PASSWORD - пароль пользователя SMTP-сервера.

ADDR_MAIL_SMTP_DEFAULT - адрес SMTP-сервера.

ADDR_MAIL_FROM_DEFAULT - почтовый адрес отправителя.

ADDR_MYSQL_DB - имя базы данных.

ADDR_MYSQL_HOST - имя сервера, на котором расположена база данных.

ADDR_MYSQL_PASSWORD - пароль на доступ к базе данных.

ADDR_MYSQL_USER - имя пользователя базы данных.

ADDR_PATH_LIBS - полный путь к библиотекам (к каталогу libs).

ADDR_PATH_ROOT - полный путь к корневому каталогу системы. Обычно это каталог, в котором расположены каталоги forms, options, public_html и writable.

ADDR_SECRET - секретная строка. Это может быть любая строка, на ее содержимое нет ограничений. Эта строка используется для генерации секретных ссылок, например, для подтверждения владения адресом электронной почты при регистрации или для удаления элементов таблиц при администрировании. Знание этой строки в большинстве случаев не делает подбор секретных ссылок тривиальной задачей, однако знание этой строки может существенно упростить работу злоумышленника. Если к системе будет открыт доступ из Интернета, то обязательно поменяйте эту строку. Воспользуйтесь каким-нибудь генератором паролей для автоматической генерации случайной строки.

ADDR_URL_SERVER - путь к корню сервера. Включает в себя префикс http:// и полный путь к системе вместе с заключительным слешем. Если система находится в подкаталоге существующего сервера, то имя этого подкаталога содержится в этой константе. Доступ к системе будет вестись только с сервера, описанного в этой константе. При доступе с других серверов будет производиться автоматическое перенаправление на этот сервер. Чтобы разрешить использование нескольких серверов, Вам следует настроить файл inc-all.php и сделать несколько копий каталога options.

PRG_HASH - 40-значный sha1()-хеш пароля для доступа к страницам программиста (в нижнем регистре).

PRG_HOST - список адресов, с которых возможен доступ к страницам программиста.

PRG_LOGIN - логин программиста (регистр имеет значение). Не используйте символы национальных алфавитов для логина программиста.

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

3.7. При необходимости - изменить файл настроек options.php.

Обычно в этом файле записывается:

USE_* - список разрешенных модулей

TEMPLATE_LIST - список разрешенных наборов шаблонов

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

3.8. Создание базы данных

Зайдите на страницы программиста. Доступ к страницам программиста обычно осуществляется через каталог /prg/. Введите Ваш логин и пароль.

Все операции по настройке системы рекомендуется выполнять при включенном режиме отладки. Включить режим отладки можно, выбрав пункт меню Debug - On. Режим отладки необходимо включать для того, чтобы на каждом шаге настройки Вы знали, настраивается ли система правильно или возникают ошибки. В случае возникновения ошибок в отладочном меню (которое появляется на всех страницах сайта, в том числе и на страницах программиста) появляется фраза Errors occured, выделенная черным фоном.

Если Вы еще не создали пользователя в базе данных и Вам известен пароль администратора базы данных, то Вы можете создать пользователя на страницах программиста. Для этого следует выбрать пункт меню Install - Grant privileges. Будет создан пользователь, параметры доступа которого Вы описали в файле addr.php.

Для создания базы данных используйте пункт меню Install - Create database.

Внимание! При создании базы данных, если база данных уже существует, то старая копия базы данных полностью удаляется. Если Вы хотите использовать одну базу данных в нескольких инсталляциях системы (указав при этом разный префикс в константе ALL_TABLE), то таким способом следует создавать только самую первую базу данных. Для создания каждой следующей базы данных на странице Main - PHP следует выполнить такую команду:

lib_include('all.db');

3.9. Регистрация администратора

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

Выдать этому пользователю привилегию admin можно на страницах программиста, выбрав пункт меню Commands - Add root. При выборе этого пункта меню система попросит Вас ввести логин для нового администратора. Введите только что зарегистрированный Вами логин пользователя.

Внимание! Пользователь, обладающий привилегией admin, может изменять любые привилегии у любых пользователей, может управлять любыми ролями в системе. В целях повышения безопасности, заведите отдельного пользователя, у которого будет эта привилегия и никому больше эту привилегию не выдавайте. Не работайте под пользователем, обладающим этой привилегией. Зарегистрируйте для себя двух пользователей и выдайте второму пользователю только те привилегии, которые требуются Вам для работы.

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

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

Если результат проверки отрицательный, то он кешируется в сессионной переменной. Это означает, что если раньше у пользователя не было привилегий, а потом ему были выданы новые привилегии, то, если привилегии были выданы в момент, когда пользователь находился на сайте, при следующем обращении пользователя к сайту, результат проверки будет все равно отрицательный. Чтобы добавление новых привилегий вступило в силу, пользователю следует выйти из системы и зайти заново - сессионный кеш привилегий очищается при входе/выходе их системы.

3.10. Настройка языков системы

Даже если в системе используется только один язык, следует настроить его параметры: имя, кодировку и, возможно, используемый словарь.

Чтобы сделать это, выдайте себе все необходимые привилегии (обычно это привилегия cms и language), выйдите из системы и зайдите заново. В Вашем персональном меню должен появиться пункт cms. Перейдите по этому пункту и настройте используемые в системе языки.

Замечание: если Вы допускаете, что в каком-нибудь языке может появиться информация в кодировке, отличной от той, которую Вы хотите указать в настройках, то следует указывать кодировку utf-8. Для английского языка допускается не указывать кодировку, однако это не рекомендуется. Для английского языка лучше тоже указать кодировку utf-8, так как если кодировка не указана, то могут неправильно отображаться все записи, сделанные в английском языке, но фактически записанные на других языках (например, переключаем язык на английский, заходим на форум, оставляем там сообщение на русском, и наблюдаем глюки; чтобы глюков не было, для английского языка следует устанавливать кодировку utf-8).

Замечание: если Вы собираетесь копировать дамп базы из другой инсталляции системы, то имеет смысл скопировать при помощи дампа и настройки языков. Поскольку во всех многоязычных таблицах языки идентифицируются по внутреннему системному коду языка, то в разных инсталляциях эти коды могут не совпадать, если настройка производилась вручную.

4. Добавление новых библиотек

4.1. Базовые файлы

Базовые файлы библиотеки находятся в каталоге с именем библиотеки внутри каталога libs.

Если Вы создаете новую библиотеку, то следует создать новый каталог и создать там файлы Вашей библиотеки. Если Вы добавляете новую библиотеку из другой инсталляции системы, то следует просто скопировать каталог с базовыми файлами.

4.2. Файлы, доступные из Интернета

Некоторые библиотеки могут не содержать таких файлов. Если для добавляемой библиотеки нет таких файлов, то этот шаг пропускается.

Это файлы *.html, которые располагаются в каталоге public_html/*/*.html.

Если Вы создаете новую библиотеку, то обычно Вы создаете файл *.html в каталоге libs/*/html/*.html и копируете его в каталог public_html/*/*.html. При копировании библиотеки из другой инсталляции системы обычно достаточно просто скопировать эти файлы.

4.3. Разрешить использование библиотеки

В системе существуют два вида библиотек:

- основные. Это библиотеки, которые есть во всех инсталляциях системы. Использование этих библиотек нельзя отключить. Все эти библиотеки есть в системе popoff.donetsk.ua/light, распространяемой на условиях GPL v.2.

- дополнительные. Это библиотеки, которые может потребоваться удалить из системы. Например, может потребоваться удалить страницы программиста или может потребоваться удалить платные библиотеки.

Для добавления основной библиотеки этот шаг можно пропустить.

Если Вы создаете новую дополнительную библиотеку, то в настройках подсистемы межбиблиотечной коммуникации (библиотека all.options) следует зарегистрировать эту новую библиотеку. Для этого следует модифицировать код функции all_license_services(), добавив в нее имя новой библиотеки.

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

Использование дополнительных библиотек разрешается константами USE_*, которые описываются в файле options/options.php, где * - имя библиотеки в верхнем регистре.

Последняя модификация: 09.01.08 00:36

Обсуждение статьи в форуме

Не проходите мимо! Оставьте Ваш комментарий в форуме! >>>

12.05.07 12:43 Иван

Был бы признателен автору программы,если бы он осветил более подробно порядок действий по следующе строке


>Проверьте, разрешена ли у Вас обработка файлов .htaccess. Проверьте, что в этих файлах разрешено выполнение директив модуля mod_rewrite и директивы AddType.


При установке на пакет Денвера, вместо главной страницы портала в экран отдается ее исходный код.
Думаю, такая проблема свойственна и остальным.
В конфигурационном файле Апача нигде не нашел ни запретов на AddType, ни разрешений.
Попытки раскомментировать первую строку фала .htaccess

  1. AddType application/x-httpd-php .html

успеха не имели, как и ряд других эксперементов.

06.07.07 17:43 stanlee

В файле .htaccess укажи такие строки

AddHandler application/x-httpd-php .html
AddType application/x-httpd-php .html

21.03.08 06:13 zhan at iab dot kz

Пустая страница выходит! В чем проблема? Пробовал и на хостинге и на localhost под Денвером!

Просмотреть все комментарии в режиме форума. Всего комментариев: 4
Не проходите мимо! Оставьте Ваш комментарий в форуме! >>>