0c222efb
Дата публикации:

L2Rebellion Web Всё для создания своего сервера LineAge

 

 

 

Описание: Веб обвязка для Lineage Разработчик: L2rebelion Платформа: Java Размер: 6.33 MB Залито на: RGhost

 

 

 

  Описание:

Содержание: Условные обозначения Примечания Обратите внимание (обязательно прочесть) Описание основных файлов и каталогов дистрибутива веб-обвязки Установка и настройка веб-обвязки Создание дополнительных модулей обвязки 1. Условные обозначения "Корневая директория веб-обвязки" - основная директория веб-обвязки (она единственная), в которой находятся все основные функциональные файлы, а также каталоги веб-обвязки, а именно: "_funct.php", "_conf.php", "index.php", "admin.php", из каталогов "design", "data", "modules" и т.д. "Основной конфигурационный файл веб-обвязки" - это файл "_conf.php", он находится в корневой директории веб-обвязки (см. описание ниже для файла "_conf.php"). "DocumentRoot" - каталог веб-сервера, в который помещаются все документы (часто веб-приложения), будучи доступные из web'а, если используете веб-сервер Apache, то в этом случае настроить путь каталога можно в конфигурационном файле Apache httpd.conf, параметр DocumentRoot. 2. Примечания - Если в данной инструкции указывается, что нужно выставить права на чтение, запись и т.д. того, или иного каталога веб-обвязки, то следует выставлять эти права для пользователя PHP\Apache, либо root (не рекомендуется). Выставлять права следует рекурсивно для всех вложенных в них файвлов и папок. Для windows систем обычно права не выставляются, в этом случае просто не выполняйте данное действие. - В данной документации слова "каталог" и "директория" имеют один и тот же смысл. 3. Обратите внимание (обязательно прочесть) 1) Обязательно убедитесь в том, что ваш веб-сервер поддерживает работу с .htaccess файлами. Если не поддерживает - добейтесь этого, т.к. если веб-сервер не может работать с .htaccess файлами, то ваш сайт будет находится под опасностью взлома и может быть выведен из строя, кроме того вполне вероятна кража информации, взлом игровых аккаунтов и т.п. Альтернатива решения проблемы: Если все же файлы .htaccess никаким образом не поддерживаются веб-сервером, в таком случае каталоги веб-обвязки, такие как "data", "adm_log", а также каталог сохранения сессий обвязки, необходимо разместить вне DocumentRoot веб-сервера. Процедура настройки путей для файлов "data", "adm_log" описаны ниже в пункте "Описание основных файлов и каталогов дистрибутива веб-обвязки" 2) Данная обвязка корректно работает только под сервера команды L2Rebellion, на серверах иных разработчиков полная работоспособность не гарантируется. 4. Описание основных файлов и каталогов дистрибутива веб-обвязки "_conf.php" - главный (основной) конфигурационный файл веб-обвязки, содержит первоначальные настройки (по-умолчанию), а также системные настройки (такие как настройки PHP). "funct.php" - функциональный файл веб-обвязки, содержит различные функции, позволяющие веб-обвязке функционировать. Редактировать не рекомендуется по причине возможного отказа работоспособности. "_funct2.php" - второй функциональный файл веб-обвязки, также не желателен для редактирования, пользователям не имеющих навыков в программировании на PHP. "admin.php" - файл административной зоны. "design" - основная директория шаблонов веб-обвязки, все каталоги, принадлежащие ей, расцениваются обвязкой как очередной шаблон. В данную директорию не рекомендуется помещать файлы и папки, не относящиеся к шаблонам веб-обвязки, исключение составляют лишь "index.html", "readme.php", которые удалять не рекомендуется. Шаблоны веб-обвязки Имеют следующие подкаталоги: "html" - каталог, содержащий html шаблоны, они полностью подлежат редактированию на свой вкус, но не в коем случае не пытайтесь их удалять, т.к. в результате этого обвязка или ее отдельные модули, могут перестать корректно работать. "images" - каталог, содержащий графические файлы. Примечание: Вы можете самостоятельно, для реализации определенного скина добавить и другие различные подкаталоги. "etc_design" - каталог дополнительных файлов дизайна веб-обвязки, например, иконки игровых предметов, в основном это графика, причем графика, используемая по-умолчанию для всех скинов одновременно, именно поэтому для нее не отводится отдельного скина. "data" - основная директория, на которую должны быть выставлены права чтения и записи, предназначена для хранения динамической, т.е. постоянно изменяющейся информации в виде файлов. Обязательно должна содержать файл .htaccess, запрещающий доступ из web'а, а лучше всего данный каталог должен располагаться вне DocumentRoot каталога веб-сервера и в этом случае нужно будет настроить в основном конфигурационном файле обвязки "_conf.php" путь до данной директории, переменная "$db_cachedir". Также каталог "data" имеет вложенный каталог "db_cache", который предназначен для кэша запросов базы данных и может периодически очищаться в случае надобности. Примечание: Если выше перечисленные условия по безопасности соблюдены не будут, то ваш сайт будет находится под опасностью взлома и может быть выведен из строя. "adm_log" - каталог сохранения административных сессий (должны быть обязательно выставлены права на чтение и запись). Также данный каталог должен обязательно содержать файл .htaccess, запрещающий доступ из web'а, а лучше всего данный каталог должен распологаться вне DocumentRoot каталога веб-сервера и в этом случае нужно будет настроить путь до данной директории в файле "admin.php", переписав переменные $fn, содержащие пути "adm_log/sess_log.dat". Примечание: Если выше перечисленные условия по безопасности соблюдены не будут, то ваш сайт будет находится под опасностью взлома и может быть выведен из строя. "adm_design" - директория шаблонов Адм. зоны. Во избежании проблем с функционирование Адм. зоны, данную папку и её содержимое, перемещать / переименовывать не рекомендуется. Редактировать шаблоны Адм. зоны (с высокой осторожностью) допускается, но не менять их названия и не удалять. Внимание! почти во всех каталогах веб-обвязки находятся файлы .htaccess, index.html, распологаются они в данных каталогах по причине безопасности и удалять их запрещено. 5. Устнановка и настройка веб-обвязки 1) Распаковать дистрибутив веб-обвязки, например, с помощью архиватора WinRar (предполагается, что веб-обвязка уже была распакована, т.к. Вы читаете данное руководство). 2) Создать корневую директорию веб-обвязки на сервере (хостинге) в DocumentRoot веб-сервера, название каталога выбирается по желанию, но он не должен иметь пробелов и должен состоять только из букв латинского алфавита, цифр и знаков подчеркивания, выставить права на чтение на созданную директорию. Примечание: директорией веб-обвязки может являться сам DocumentRoot каталог веб-сервера, в данном случае необходимость в том, чтобы создавать новый каталог отпадает. Далее доступ к обвязке через веб-браузер будет осуществляться путем перехода в данный каталог, с учетом всех правил http протокола. 3) Скопировать все файлы и каталоги без исключения, входящие в дистрибутив веб-обвязки ("_funct.php", "_conf.php", "index.php", "admin.php", "design", "data", "modules" и т.д.), в созданную и подготовленную ранее корневую директорию веб-обвязки. Далее все действия по установке\настройке веб-обвязки будут производиться в этом каталоге. 4) Выставить права на чтение и запись (обязательно см. в пункте Примечания дополнительную информацию по этому поводу) для следующих каталогов "data", "adm_log". 5) Убедиться, что в конфигурационном файле PHP-интерпретатора - php.ini присутствуют следующие параметры: register_long_arrays = On session.auto_start = 1 session.use_cookies = 1 magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off Если они отсутствуют - добавить их. Если они у Вас настроены как-то иначе - перенастроить их так, как показано выше. 6) Настроить основной конфигурационный файл обвязки _conf.php следующим образом: Примечание: Каждая настройка _conf.php описана соответствующим комментарием, внимательно читайте и следуйте им. а) настроить каталог для хранения файлов сессий. Код строки (в конфигурационном файле есть соответствующий комментарий): ini_set("session.save_path","C:/server/php_sess"); В данной строке необходимо заменить путь "C:/server/php_sess",(указанный по-умолчанию), на путь до каталога, в котором сохраняются сессии веб-приложений. Если у Вас отсутствует такой каталог, то создать его и выставить права на чтение и запись. Также настоятельно рекомендуется создать каталог вне DocumentRoot web-сервера, если же нет такой возможности, то в каталог следует скопировать файл .htaccess, например, из каталога "data" веб-обвязки. Это защитит каталог от его просмотра из Web'a. Если каталог хранения сессий не будет защищен ни одним из описанных методов, то ваш сайт будет находится под опасностью взлома и может быть выведен из строя, кроме того вполне вероятна кража информации, взлом игровых аккаунтов и т.п. б) Изменить логин и пароль, (переменные $adm_first, $adm_first) данные для доступа в административную зону указаны по-умолчанию. в) Настроить реквизиты базы данных, следуя комментариям кода. г) Указать операционную систему сервера, на котором располагается веб-обвязка - переменная $os, если операционная система Unix (Linux, FreeBSD, SunOS) - ставим значение 1, если Windows NT, 2000, XP - ставим значение 2, если Windows 95, 98, ME - ставим значение 3. д) Настроить часовой пояс - переменная $conf Далее идут не обязательные настройки. Если Вы не понимаете смысл каких-либо нижеуказанных настроек, либо нет надобности в их изменении - не изменяйте их. е) По мере надобности настроить кодировку всех страниц веб-обвязки (кроме адм. зоны) - переменная $conf, для адми. зоны переменная $adm_content_type ж) По мере надобности настроить переменную $conf, хранящую url адрес до форума, ссылка на форум будет отображаться в главном меню веб-обвязки. з) По мере надобности настроить переменные $conf, $conf, $conf, определяющие параметры новых окон, которые также прокомментированы в коде. и) По мере надобности настроить переменные $mysql_charset, $mysql_character_set_client, $mysql_character_set_results, $mysql_collation_connection, определяющих кодировку базы данных. к) Для более опытных Администраторов веб-обвязки (понимающие основы PHP) по мере надобности можно настроить @setlocale(LC_CTYPE, array("ru_RU.CP1251", "ru_SU.CP1251", "ru_RU.KOI8-r", "ru_RU", "russian", "ru_SU", "ru")); - устанавливает локаль (кодировку). Если Вы не знаете зачем оно нужно, или как изменять данную строку - не изменяйте. 7) На этом этапе конфигурирование и установка обвязки закончены. Если Вы все сделали верно и настроили корректно, то перейдя по адресу http://ваш_сайт/корневая_директория_обвязки/index.php (для тех, у кого корневая директория обвязки и DocumentRoot - одно и то же, адрес приймет следующий вид http://ваш_сайт/index.php ) сайт должен открыться и нормально функционировать. Доступ в Административную зону осуществляется путем перехода по адресу http://ваш_сайт/корневая_директория_обвязки/admin.php (для тех, у кого корневая директория обвязки и DocumentRoot - одно и то же, адрес приймет следующий вид http://ваш_сайт/admin.php ). Логин и пароль используйте те, что указали в основном конфигурационном файле обвязки (переменные $adm_first, $adm_first). 5. Создание дополнительных модулей обвязки Данный раздел для опытных Администраторов, твердо знающих PHP как язык программирования. В обвязке существует возможность создания дополнительных модулей. Чтобы создать дополнительный модуль обвязки нужно выполнить следующее: 1) выбрать уникальное название модуля, которое может состоять только из букв латинского алфавита, цифр и знаков подчеркивания, далее мы это уникальное имя будем везде указывать как module_name 2) создать в каталоге modules PHP файл с этим уникальным именем, т.е. module_name.php - это и будет наш модуль. 3) Содержимое этого файла должно быть следующим: В данном коде module_name заменить на название нашего модуля. 5) Открыть основной конфигурационный файл обвязки Внимание! Дальнейшие действия требуют знаний PHP, если Вы не владеете этим языком, или владеете им плохо - продолжать работу не рекомендуется. 6) Найдите массив подключаемых модулей $modules, который выглядит примерно так (мы покажем его далеко не полностью, т.к. в разных версиях веб-обвязки он может выглядеть по-разному) 7) Тщательно изучите данный массив. Описание массива $modules: В массиве $modules каждый следующий элемент является модулем и имеет следующую структуру: "module_name"=>ПАРАМЕТРЫ; где ПАРАМЕТРЫ есть массив, имеющий структуру: 1 - prefix 2 - sub modules 3 - def 4 - check for off status Обязательным параметром является prefix. В обвязке переключение модулей осуществляется посредством двух переменных $cmd и $mod prefix - указывает на то, каким должен быть $cmd, в нашем случаи это module_name sub_modules - массив дополнительных (суб) модулей, массив имеет структуру идентичную описанной выше, за исключением того, что sub_modules, def (см. ниже) у него не используется, т.к. максимальная вложенность суб модулей равна двум модулям, а prefix идентифицирует $mod переменную, в нашем случае массив использоваться не будет. def - применяется только в модулях первого порядка, идентифицирует тот модуль, который должен грузиться по-умолчанию, в этом случае def должна принимать значение равное названию модуля, который следует грузить по-умолчанию. В нашем случае переменная использоваться не будет. check for off status - проверять ли модуль на отключенное состояние, статус включен, или отключен модуль, грузится из $conf. В нашем случае использоваться не будет. 8) Наш, приведенный в пример, массив модулей должен будет изменен следующим образом: Учитывая все особенности синтаксиса PHP, измените модуль, находящийся в основном конфигурационном файле веб-обвязки. 9) После этого, если все сделано правильно, перейдя по index.php?cmd=module_name, обвязка должна отображать текст "The Content" Теперь рассмотрим некоторые особенности и приемы скрипта созданного модуля: Данная функция возвращает контент в переменную {$page} шаблона. Все параметры, находящиеся вне зоны видимости данной функции, например конфигурации из _conf.php, необходимо объявлять как глобальные (global). все параметры, приходящие из GET \ POST запросов рекомендуется инициализировать функцией get_query_var(), пример: $serv = intval(get_query_var("serv")); В данном случае переменная $serv примет значение из GET \ POST переменной с именем serv. Работа с шаблонами: Если требуется, чтобы модуль возвращал шаблон, то необходимо использовать функцию парсенга шаблона: $text = t_parse(skn("module_name.html"),get_defined_vars()); где module_name.html - название файла шаблона в каталоге скина. Если требуется в шаблон выводить какие-либо значения переменных, то инициализируйте эти переменные до функции парсенга шаблона, далее в шаблоне выводим эти переменные в виде {$var_name}, где var_name - имя нашей переменной, если это массив, то {$var_name}. Кроме всего прочего, при создании модулей, работу может очень упростить функция автоматических таблиц html_table1(), принцип работы которой Вы можете проследить в других модулях веб-обвязки.