Вход в систему

Логин:
Пароль:
Вход Зарегистрироваться Вспомнить   пароль

Новейшие статьи

Интернет
Все статьи
Популярные за месяц
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Интересное в Сети
PC
Комментариев: 0
Kingdoms of Amalur: Reckoning
PCPS3X360
Комментариев: 13
The Binding of Isaac
PC
Комментариев: 15
Battlefield 3
PCPS3X360
Комментариев: 91
Мороз по коже. Тестирование процессорного кулера Cooler Master «Дед Мороз»
PC
Комментариев: 22
Carrier Command: Gaea Mission
PC
Комментариев: 9
Ace Combat: Assault Horizon
PS3X360
Комментариев: 38
BlizzCon 2011. День второй
PC
Комментариев: 40
BlizzCon 2011. День первый
PC
Комментариев: 43
Might and Magic: Heroes 6
PC
Комментариев: 143
Rage
PCX360PS3
Комментариев: 146
Rage
PCX360PS3
Комментариев: 146
Might and Magic: Heroes 6
PC
Комментариев: 143
Battlefield 3
PCPS3X360
Комментариев: 91
Hard Reset
PC
Комментариев: 71
Red Orchestra 2: Heroes of Stalingrad
PC
Комментариев: 67
«ИгроМир 2011». Дни второй и третий
PC
Комментариев: 47
«ИгроМир 2011». День первый
PC
Комментариев: 44
BlizzCon 2011. День первый
PC
Комментариев: 43
«ИгроМир 2011»: краткий путеводитель
PC
Комментариев: 43
BlizzCon 2011. День второй
PC
Комментариев: 40


ЛКИ
№10/2011

www.lki.ru

Мир фантастики
№11/2011

www.mirf.ru

Mobi.ru
экспертный сайт о цифровой технике

www.Mobi.ru

Информация на данной странице предоставлена нашим информационным партнером Игромания.ру

Двигатель сетевого прогресса. Как сделать сайт на движке PHP Nuke, часть 3

Авторы: | Дата: 01.10.2004
>    Всего два номера назад мы с вами начинали строительство “продвинутого” сайта на популярном сетевом движке. Теперь пришло время для заключительной статьи. Те, кто прилежно штурмовал вместе с нами высоты PHP-Nuke, наверняка уже имеют в интернете рабочую версию сайта. Что-нибудь вроде имя_сайта.что_то.ru. За это время сайт, вероятно, неоднократно менялся — обрастал страницами, хорошел новыми версиями дизайна. По самым скромным ожиданиям, ваш сайт уже имеет 10-20 уникальных посетителей в день. Увеличить их количество можно разными способами. Об этом мы неоднократно рассказывали на страницах журнала. Да и любая поисковая система выдаст тысячи страниц по сочетанию “раскрутка сайта”. Сложнее выполнить другую задачу — удержать посетителей. Чтобы они не только однажды зашли к вам на огонек, но и регулярно возвращались обратно. Поэтому сайт нужно совершенствовать.
Рис. 1. Сохраним бэкап БД на
винчестер.
Сегодня мы займемся дальнейшей отточкой: обновим движок (за прошедшие месяцы вышел новый релиз), изменим цветовое оформление форума, научимся устанавливать новые модули. Применим полученные знания на практике, добавив несколько удобных модулей.

    Новое платье для короля
   
Эволюция любого программного обеспечения заключается в расширении его возможностей и избавлении от возможных ошибок (во всяком случае, так должно быть). Web-программы не исключение. Не успели мы рассказать вам о движке PHP-Nuke, как вышла его новая версия под номером 7.3. К счастью, кардинальных отличий в процессе построения сайтов нет.
Рис. 2. Такое сообщение выдает
скрипт апгрейда БД после
успешного выполнения
операции.
Все, что вы уже успели прочитать в предыдущих статьях, имеет силу. Ничего переделывать и перестраивать не нужно. Процедура обновления максимально упрощена. Вам всего лишь необходимо загрузить новые файлы на сервер и конвертировать базу данных (далее БД). Процедура несложная.
    Устанавливайте дистрибутив PHP-Nuke с нашего CD/DVD или качаете его с уже известного вам (по предыдущим статьям) сайта www.rus-phpnuke.com.
    Прежде всего создадим “точку отката” нашей базы данных (на случай чрезвычайных обстоятельств). Для этого перейдем в контрольную панель (далее КП) сайта и кликнем по значку Сохранить БД. В стандартном окне сохранения указываем имя
файла отката БД и запоминаем его местонахождение. Теперь нам предстоит скопировать обновленные файлы. Откроем
Рис. 3. Скопируем файлы новой
версии движка, заменяя
существующие.
архив с дистрибутивом Nuke и скопируем файлы из папки html в корень сайта. Если вы четко следовали всем указаниям, которые мы давали ранее, то на вашем локальном сервере эта папка будет находиться по адресу С:\WebServers\home\nuke.igromania.ru\www\. Перед копированием стоит просмотреть еще раз содержимое файла config.php. Как вы помните, там хранятся основные настройки сайта, такие как имя пользователя БД, пароль доступа к БД и др.. Сам файл находится в корне сайта. После загрузки файлов отрегулируем, если это необходимо, содержание файла config.php. Далее нам нужно обновить БД сайта. Чтобы это проделать, загрузим три файла из директории upgrades\7.x\ дистрибутива: upgrade70-71.php, upgrade71-72.php, upgrade72-73.php.
    Поочередно запустим их на выполнение, набрав в строке браузера, например, http://nuke.igromania.ru/upgrade70-71.php. По завершении процесса система выводит на любой запрос однообразные сообщения: “PHP-Nuke Update finished! You should now delete this upgrade file from your server”. Успокоим ее, последуем совету и удалим с сервера вышеупомянутые файлы. Вот так, легко и просто, меняется сетевой двигатель! Cайт уже стал лучше, хотя на данный момент никаких видимых изменений не наблюдается.

   
Подключение новых модулей
   
Значительно расширяет возможности сетевого движка использование специальных модулей. В простейшем случае их подключение не сложнее только что проделанной работы по обновлению самого двигателя. Нам нужно загрузить на сервер файлы модуля и обновить (и то не всегда) БД. Ниже будет рассмотрена процедура установки модуля каталога файлов.
    Как вы уже, наверное, заметили, стандартный модуль каталога файлов позволяет размещать только ссылки на файлы. Это удобно, если мы размещаем ссылку на что-нибудь вроде официального патча к игре. Нужно лишь узнать прямой линк на архив и указать его в модуле. Но если мы хотим разместить уникальный файл — будь то новая карта к Warcraft или симпатичная самопальная флэшка, — нам придется предварительно загружать ее по FTP. Только потом можно будет указывать ссылку на этот архив. Это совсем не сложно, но со временем начинает порядком утомлять. К тому же не всем стоит доверять такую серьезную вещь, как FTP-доступ. Во избежание потери трудоспособности по причине преждевременного разрушения нервных клеток (которые, как известно, не восстанавливаются) мы установим новенький модуль, способный загружать файл прямо из Web-формы. Так работать значительно приятней.
Рис. 4. Открыв архив с новым
модулем каталога файлов, мы
увидим следующие файлы.
    Лучшим модулем загрузок, по мнению многих, является NukeStyles Enhanced Downloads Module v2. Но он платный и местами весьма странный (много интересного о нем можно узнать на форуме www.rus-phpnuke.com, поискав по ключевому слову NukeStyles). Поэтому, несмотря на все его достоинства, многие тратят много времени на поиски более доступных модулей (как по методу распространения, так и для понимания). Я предлагаю вам установить на сайт модуль Download&Upload. Это практически копия стандартного модуля. Только добавлена функция загрузки файлов с винчестера. Берете его с нашего CD/DVD, либо скачиваете со странички http://www.skoks.com.ru/nuke/ (там расположены все файлы к статьям этого цикла).
    Распаковав полученный архив, мы увидим одинокую папку html. Из нее в корень сайта следует скопировать каталог modules, заменив все существующие файлы и папки. Теперь, зайдя в модуль загрузок, щелкнув левой кнопкой мыши (далее ЛКМ) в стандартной форме добавления файла по надписи Добавить, — увидим вместо поля указания URL-адреса поле выбора файла с винчестера. Однако попытка что-нибудь загрузить на сайт окончится пока неудачей. Экраны сообщений утверждают, что произошла “Ошибка при загрузке файла. Войдите в контакт с администратором”. Чтобы все загружалось, нам предстоит поковыряться в настройках. Нужно открыть файл d_config.php, который лежит по адресу modules\Downloads\ в корневой папке сайта. В нем хранятся данные о настройке модуля. Ниже приводится описание самых полезных и важных параметров.
    $perpage: сколько файлов можно показывать на одной странице.
    $popular: уровень популярности. Сколько обращений к этому файлу необходимо, чтобы он считался популярным (разумеется, для вашего сайта, а не для мировой общественности).
    $downloads_anonadddownloadlock: можно или нет загружать файлы незарегистрированным посетителям (1 — блокировать загрузку; 0 — не блокировать). Рекомендуем поставить 1. Мало ли кто какую гадость захочет загрузить. О зарегистрированном пользователе мы хотя бы что-то знаем...
    $blockunregmodify: разрешить или нет изменение файлов незарегистрированным пользователям, рекомендуется 1. А то найдется какой-нибудь перчик и так повеселится на вашем сайте, что вам придется долго его восстанавливать.
    $enable_upload: позволить или нет загрузку файлов с компьютера посетителя (1 — можно; 0 — нельзя). Ставим 1 — иначе какой смысл в установке этого модуля?
    $uppath: путь к директории, в которую будут загружаться файлы (например, modules/Downloads/files). Не забудьте на самом деле создать указанную папку!
    $upbaseurl: то же самое, только www.nuke.igromania.ru/modules/Downloads/files/.
    Теперь файлы должны загружаться на ваш сайт без проблем.
    Для полного счастья можно посоветовать поменять названия ссылок Укажите путь к файлу и Добавить на что-нибудь более понятное. Сделать это легко. Надо подправить пару строк в файле modules\Downloads\language\lang-russian.php.
    Заменим 44-ю строку:
    define(“_ADDDOWNLOAD”,”Добавить”); на define(“_ADDDOWNLOAD”,” Загрузить файл”);
    и 200-ю строку:
    define(“_ADDLINK”,”Укажите путь к файлу”); на define(“_ADDLINK”,”Добавить ссылку на файл”);
    Теперь пользователю будет гораздо проще понять, как добавить файл в каталог сайта. При желании, действуя точно так же, вы можете изменить в этом файле и другие фразы диалога.

    Цвета демократии
   
В прошлой статье мы рассмотрели, как изменять дизайн сайта. Но, как вы уже заметили, изменение общего стиля никак не влияет на художественное оформление форума. Вопрос изменения дизайна форума решается несколько по-другому.
    В форуме есть возможность использовать собственные темы оформления, но они не добавляют ничего значимого. Поэтому мы ограничимся только изменением цветового оформления. Сделаем так, чтобы оно подходило для нашей свежесозданной темы для сайта.
    Для начала переходим в КП форума — http://nuke.igromania.ru/modules/Forums/admin/index.php. В ней нас интересует пункт Стили/Управление. Воспользуемся ссылкой Изменить справа от единственной установленной темы.
    На экране появятся интуитивно понятные настройки дизайна форума. Остается лишь настроить их под общий дизайн сайта. Точно так же меняются стандартные картинки на новые (собственного производства). Картинки для темы хранятся в папке modules\Forums\templates\subSilver\images\.
Рис. 5. Чтобы изменить цветовое
оформление форума, нужно
перейти в КП.
    Многие web-мастера пропускают этот этап. Не хотят возиться с настройками форума отдельно. Из-за этого их “народная трибуна” смотрится странно. Такое впечатление, что форум сам по себе, а сайт — сам по себе. К тому же подобная халатность плодит “близнецов”. Существует огромное количество сайтов, авторы которых оставили настройки форумов заданными по умолчанию (в прошлой статье мы разбирали, что phpBB — это еще и самостоятельный форум). Они похожи друг на друга как две капли воды. Не трогать настройки в этом случае — не самое лучшее решение.

    Полезные мелочи
   
Сайт готов. Однако по ходу работы с ним вы можете столкнуться с некоторыми неудобствами. Есть целая куча удобных мелочей, которые значительно облегчают обслуживание сайта и помогающих пользователям в обследовании вашего ресурса. Их использование не обязательно, но крайне полезно. Остановимся на некоторых из них.
    Для начала поставим счетчики посещаемости сайта (вроде www.spylog.ru или www.rax.ru). Они позволят наблюдать за посещаемостью сайта. Пользуясь этой “доморощенной” статистикой, можно проверять правильность общей политики вашего проекта. Как только наблюдается снижение цифры уникальных посетителей (имеющих разные IP-адреса), стоит проверить свои последние действия. Надо искать, что именно не понравилось серферам. Может, новый дизайн? Может быть, последние материалы вызвали серьезное разочарование? Счетчики не подскажут вам, каковы причины.
Зато они вовремя просигнализируют о проблемах, что и позволит вовремя их решить.
    Как обычно, начинаем с КП. В ней открываем пункт основных настроек сайта. Там находим раздел Сообщения внизу. В нем имеются три формы, в которые можно ввести код выбранных счетчиков. Все просто и доступно. Если же понадобилось разместить счетчики не внизу, а сбоку, то придется создать новый блок (пункт КП Блоки) и уже там, в поле Контент, добавлять код счетчиков.
    Одним из способов раскрутки (и получения денег от сайта) являются баннерообменные системы (например, широко известные www.rle.ru, www.bannerbank.ru). Как это делается, в нашем журнале рассматривалось не раз. Мы же займемся практическим размещением кода баннера. Стандартный модуль Баннеры удобен только в том случае, если сам рекламодатель непосредственно обращается к вам с предложением разместить на вашем сайте рекламу. В этом случае вы можете указать ссылку, по которой пользователь отправится к рекламодателю, адрес картинки и количество заказанных показов. Но для размещения кода баннерообменной сети стандартный модуль неприемлем. Чтобы обойти ограничения, необходимо использовать пункт Народные методы, при этом проявить известную ловкость. Если баннер боковой (например 120х240), мы можем создать блок (как и в случае со счетчиком). Если баннер длинный горизонтальный (например 468x60), есть возможность разместить его внизу (как счетчики). А если баннер потребовался вверху, придется вставлять его код в файл shapha.html темы оформления (см. предыдущую статью). Редактируя тему, вы можете располагать баннер и по-другому.
Рис. 6. Изменить копирайты
можно в БД сайта.
    На сайтах, посвященных PHP-Nuke, лежит довольно много блоков разного назначения. Может возникнуть вопрос — каких таких блоков? Мы же всегда вручную вводили в форму содержимое блока из КП сайта. И это срабатывало. Однако бывают случаи, когда одного голого HTML и Java Script для блока недостаточно. Поэтому присмотримся к форме для создания блоков повнимательнее. В ее верхней части вы обнаружите выпадающий список Имя файла. С помощью него можно выбрать один из файлов, которые расположены в папке blocks корневой папки сайта. В случае, если выбирается готовый блок из файла, поле с контентом будет проигнорировано.
    Одними из самых удобных и полезных являются блоки “последних сообщений с форума” и “последних файлов в архиве”. Первый уже есть в PHP-Nuke. Он реализован как файл block-Forums.php (присутствует в списке как Forums). Чтобы его подключить, выбираете файл, указываете название блока и его позицию. Операция завершается щелчком по кнопке Создать блок. Второй — представлен списком из десяти самых популярных файлов, что не есть хорошо. Гораздо удобнее использовать блок “последних файлов”. Его можно взять с нашего CD/DVD либо скачать с www.skoks.com.ru/nuke/. Архив содержит три файла:
    readme.txt — описание;
    block-Infodownloads — статическое отображение информации;
    block-Infoscrolldownloads — отображение информации в виде бегущей строки (снизу вверх).
    Скопируете последние два файла в папку blocks. Используя их, получаете возможность воспользоваться одним из этих блоков на выбор.
    Сайт на основе PHP-Nuke обременен излишними копирайтами внизу каждой страницы. Часть из них можно убрать в КП через основные настройки (там, куда мы вставляли код счетчиков). Но некоторая, и совсем немалая, часть все равно остается. Исправить положение можно в БД. Для этого заходим в phpMyAdmin (http://localhost/phpMyAdmin/) и слева выбираем БД nuke. В базе ищем таблицу nuke_config, жмем кнопку Обзор, а затем на кнопочку Редактировать слева от единственной записи в таблице. В открывшемся окне с множеством полей ввода переходим к предпоследнему. Оно называется copyright. Изменяем его значение на желаемое. Оговорюсь, эта инструкция приведена только для того, чтобы вы смогли улучшить внешний вид сайта. Копирайт “Powered by PHP-Nuke” оставить все же надо. Хотя бы в благодарность создателям движка, которые предоставили вам его совершенно бесплатно.

   
Предусмотрительная безопасность
   
Многие винят движок в чрезмерной “дырявости”, хотя уязвимость сайта во многом зависит от вас самих. Несложные манипуляции обезопасят ваше творение от множества возможных неприятностей.
    Как это ни банально, очень часто первым и главным рубежом обороны становится пароль доступа. Это ключ к вашему ресурсу. Чем он проще, тем легче подобрать отмычку! Придумывайте нечто оригинальное, например “Паp0лИ_п03ак0vыРисТее”. Многие ставят одно и то же буквенно-цифровое сочетание на FTP,
Рис. 7. Если убрать
индексный файл, будет
отображаться его
содержимое в виде
таблицы файлов.
свою админскую запись и другие материалы сайта. Ни в коем случае так не поступайте! Подобрав (или украв) один пароль, взломщик получит полный доступ к сайту.
    С развитием проекта наверняка появятся новые авторы. Чтобы позволить им размещать статьи, добавлять новые опросы, их придется добавить к администраторам сайта. Для этого служит пункт КП Админы. В нем вы можете создать нового администратора и определить ему права доступа. Будьте внимательны, не давайте никому прав Суперпользователя. Ограничьтесь указанием разделов, которыми данный конкретный человек может управлять. Только советую не говорить ему об ограничениях... Почему-то “ущемление” в правах вызывает ненужные дебаты и недопонимания. Каждый раз ввязываться в длинные разбирательства на тему “Ты меня уважаешь?” — себе дороже.
    На многих сайтах в последнее время стали использовать картинки с секретным кодом (на рябом фоне рисунка видны сочетания букв или цифр, которые посетитель должен ввести в специальную форму). Это нововведение предназначено для блокировки регистрации на сайтах различных ботов (программных автоматов). Робот просто не видит
никаких цифр, поэтому не может правильно заполнить нужные поля. Соответственно, ему не удается, например, открыть массу новых ящиков электронной почты. Инструмент спамера вынужден уйти с такого сайта, не выполнив предназначения. Фактически, это проверка, кем на самом деле является пользователь — программой или человеком. Кроме того, такой подход усложняет подбор паролей к аккаунтам. В PHP-Nuke тоже есть такая возможность. Ее несложно активировать. Нужно открыть файл config.php, находящийся в корне сайта, и настроить в нем переменную $gfx_chk. Ее параметрами являются цифры от 0 до 7. Они имеют следующие значения:
    0 — никогда не выводить секретный код;
    1 — только для авторизации администраторов;
    2 — только для авторизации пользователя;
    3 — только при регистрации нового пользователя;
    4 — для авторизации и регистрации пользователя;
    5 — для авторизации пользователя и администратора;
    6 — для регистрации пользователя и администратора;
    7 — всегда выводить.
    Бесспорно, такой подход имеет как свои плюсы, так и минусы. Во-первых, бывают случаи, когда по ряду причин код просто не отображается (плохой коннект пользователя, загруженность сервера, отключение картинок в браузере). Некоторых здорово раздражает, если им приходится вводить его слишком часто. Практика показывает, что оптимальным будет использование кода только при регистрации нового пользователя. Если же поступают многочисленные жалобы на недоступность кода, то его стоит вообще отключить.
    При создании новых папок создавайте в них файл index.html. Эта страничка может быть совершенно пустой либо с переназначением на главную страницу сайта. Если папка не содержит файла индексации, то открывшим ее автоматически будут показаны названия всех файлов, которые содержит папка. Незачем раскрывать структуру сайта. Часто этим очень интересуются хакеры. К тому же, там может находиться то, что вы вовсе не желаете показывать кому попало. Для организации переназначения файл index.html может содержать, например, следующий код:
    <HTML>
    <HEAD>
    <TITLE>Здесь нет ничего интересного</TITLE>
    <META http-equiv=“refresh” content=“1;url=http://www.nuke.igromania.ru/index.php”>
    </HEAD>
    <BODY>
    Перейдите на одну из страниц сайта! <BR>
    Например на <A href=“http://www.nuke.igromania.ru/index.php”>главную</A>
    </BODY>
    </HTML>
   
Обязательно проверяйте поступающие от пользователей файлы. Мало ли что...

    Полезные ссылки
   
www.skoks.com.ru/nuke — файлы к статьям этого цикла;
    www.skoks.com.ru/next — голосование по материалам о PHP-Nuke;
    http://forum.ru-board.com/topic.cgi?forum=28&topic=28#1 — постоянно пополняющийся список галерей тем оформления для движка;
    http://clantemplates.com — множество игровых шаблонов;
    www.rus-phpnuke.com — русский сайт PHP-Nuke;
    www.phpnuke.org — официальный сайт разработчиков;
    www.evistudio.com/ — дизайн студия, делающая темы для PHP-Nuke;
    www.mtechik.net — дополнительные темы.

   
* * *
   
Мы с вами прошли длинный путь создания “продвинутого” сайта на бесплатном сетевом двигателе PHP-Nuke. Конечно, что-то можно еще улучшать, менять, дополнять (совершенству предела нет). Но крепкая основа уже в любом случае заложена. Не
бойтесь экспериментировать, устанавливать новые модули и темы оформления. Пока вы работаете с локальным сайтом, все ваши неудачи — дело сугубо интимное. Сохраняйтесь почаще (делайте бэкапы БД). И да пребудет с вами сила PHP-Nuke!
    Не забывайте, что все вопросы вы можете задать на нашем форуме и отправить непосредственно на почту рубрики — internet@igromania.ru.
Двери тут