|
Никогда еще управление сайтом не было таким простым! Благодаря движку
PHP-Nuke вы можете забыть о рутине и ежедневных мучениях, связанных
с обновлением собственного ресурса.
Вам ам никогда не приходила мысль,
что Интернет очень похож на
кладбище затонувших кораблей?
Бродишь иногда по сайтам, которые не
обновлялись два-три года, по гостевым
книгам и форумам, беседа на которых
замерла еще прошлой зимой, кликаешь
на ссылки и наблюдаешь одну и ту же
страницу — с ошибкой за номером 404.
Причин тому несколько. Но одна из
них заключается в том, что на самом
деле создание и поддержка полноценного рабочего персонального сайта —
задача намного более сложная, чем это
кажется на первый взгляд. Вовсе не достаточно зарегистрироваться на бесплатном хостинге, зайти в конструктор
сайтов и выбрать готовый шаблон. Конечно, иногда такой сайт выглядит да-же очень эффектно, но когда владелец
свежеиспеченной странички решит добавить в нее пару-тройку записей, разместить фотоальбом, настроить для
друзей отдельный доступ к файлам, суровая действительность повернется к
нему лицом, и, скорее всего, помучившись немного, бедный пользователь
плюнет на свое творение, и оно благополучно канет в Лету.
Что же делать? К счастью, выход есть.
Покупаете учебник по PHP или Perl,
изучаете и… Шутка. Хотя, разумеется,
знание языков программирования никогда не помешает. В общем, есть еще
один выход — использование специализированных программных пакетов. Таких пакетов существует великое множество. Среди них есть универсальные,
подходящие для любых целей, а также
пакеты, специально предназначенные
для реализации тех или
иных задач (например, организации форума, фотоальбома, блога и т. д.). Есть мощные
пакеты, рассчитанные на специалистов, есть пакеты для новичков. Из
всего этого разнообразия мы выбрали
один продукт — PHP-Nuke, на примере которого подробно расскажем,
как сделать функциональный и удобный веб-сайт.
Начало
Прежде всего вам необходимо определиться с хостингом. На этом пункте подробно останавливаться не будем. Скажем только, что хостинг
должен обязательно поддерживать
язык PHP 4.0 или выше и работать с
базой данных MySQL.
Перед тем как приступить непосредственно к процессу создания сайта, хотелось бы обратить внимание
еще на один нюанс. Если у вас хорошая выделенная линия и бесплатный
или неограниченный доступ в Интернет, можете смело пропустить пару
следующих абзацев. Остальным же
пользователям сведения, изложенные
ниже, помогут значительно сэкономить время и деньги.
Во время создания сайта вам неизбежно придется постоянно что-то изменять, добавлять и удалять. А так как,
чтобы увидеть изменения на сайте,
обязательно нужно обновить страницу,
в случае работы с удаленным хостом такая процедура может стать серьезным
испытанием для ваших нервов и нанести серьезный удар по бюджету.
Намного приятнее отладить сайт
у себя на компьютере, а затем перенеэту идею в жизнь, вам необходимо
установить на локальном компьютере
веб-сервер, сервер баз данных и язык
программирования PHP. Потом все это
настроить и запустить. Звучит страшновато. Так оно и было бы, если бы не
хорошие люди из лаборатории dklab
(www.dklab.ru), которые позаботились
о нашем с вами удобстве. Они создали
специальный комплект под названием
«Денвер». Этот комплект объемом
2,5 Мбайт, доступный на нашем компакт-диске, содержит в себе все необходимые компоненты для полноценной работы веб-сайта.
Установка комплекта не займет и пяти минут, а по сложности она вполне
сопоставима с задачами на сложение.
В процессе установки инсталлятор попросит вас ответить на несколько вопросов. Первый вопрос касается папки,
в которую вы хотели бы установить
программу. Разработчики «Денвера»
настоятельно рекомендуют устанавливать его в каталог первого уровня, то
есть в C:WebServers, а не, например, в
C:My WebServers. Это освободит вас
от проблем в будущем, когда понадобится установить дополнительные расширения к «Денверу». Дело в том, что
инсталляторы пакетов расширений
ищут базовый комплект именно на первом уровне по всем дискам.
Далее вам предложат ввести имя виртуального диска, который будет связан с
только что указанной директорией. Рекомендуем вам согласиться со значением по умолчанию (Z:).
Вот, в общем-то, и все. «Денвер» установлен, и теперь ваш компьютер превратился в маленький, но вполне работоспособный веб-сервер.
Продолжение
Очень вжно создать в корне паки с PHP-Nuke файл .htacces(или если он уже есть) написать в нем строку:
php_value error_reporting 7
После того как вы скачаете дистрибутив
PHP-Nuke (с сайта http://rus-phpnuke. com
или нашего компакт-диска), вам необходимо будет его установить. Как? Довольно просто.
На Рабочем столе вашего компьютера
появились три ярлычка — «Start Server»,
«Restart Server», «Stop Server». Они служат для запуска, перезапуска или остановки локального веб-сервера. Жмите
на «Start Server».
Теперь вам необходимо найти тот каталог, в который установился базовый
комплект «Денвера». Чаще всего на этот
каталог ссылается виртуальный диск Z:,
который автоматически создается в системе после установки «Денвера». Перейдите на этот диск, а затем в каталог home.
Каталог home является тем самым местом, где будут храниться все ваши будущие сайты. Его еще часто называют
корневым каталогом, или просто корнем. Создайте в нем каталог с точно
таким же именем, какое будет носить адрес вашего сайта. Например, если сайт
имеет URL yoursite.ru, то каталог тоже
назовите yoursite.ru. Правда, есть одна
небольшая оговорка. Точнее, совет. Для
того чтобы впоследствии вам не запутаться, где локальная версия, а где на-
стоящий сайт, лучше будет назвать каталог в точности так же, но без «.ru».
Создали каталог? Отлично. Заходите
в него и создавайте подкаталог с названием www. Именно туда необходимо
скопировать все файлы и папки из каталога html, который находится в скачанном вами архиве с PHP-Nuke. Кроме этого каталога вам еще понадобится
файл nuke.sql из каталога sql. Перепишите его тоже.
Важное примечание. Если вы переписываете сайт на сервер, работающий под
операционной системой Unix/Linux,
обязательно установите для всех папок
атрибут «777», а для файлов — «666». Эта
процедура займет у вас не так уж и много времени, зато польза от нее есть несомненная, главным образом это касается
поддержания на должном уровне защиты вашего сайта.
Помните, что, после того как вы замените какой-либо файл или добавите какой-либо новый модуль или блок, данную
процедуру для новых и измененных файлов нужно будет повторить.
Идем дальше. Так как во время работы PHP-Nuke активно использует
сервер баз данных, следующим шагом
станет создание БД. Для этого запустите
браузер и в адресной строке введите
www.localhost/phpmyadmin (в некоторых
случаях просто www.phpmyadmin). На
экране должно появиться нечто похожее на приветствие от базы данных.
Очень может быть, что вместо этого вы
увидите системное сообщение, которое
будет спрашивать вас, следует ли компьютеру подключиться к Интернету или
нужно продолжать работать автономно.
Это контроллер удаленного доступа.
Запомните, это важно! Всегда на такие
вопросы отвечайте однозначно: «Подключиться», и никогда не позволяйте
ему работать автономно. Контролер удаленного доступа — штука хитрая и без
боя не сдается. Если в ответ на вашу команду «Подключиться» он начнет набирать номер на модеме или спрашивать
опять, идите в «Сервис - Свойства обозревателя - Подключение» и в разделе
«Настройка удаленного доступа» поставьте флажок «Не использовать (Never
Dial a connection)».
В поле «Создать новую БД» введите
любое название. Например, nuke. После
этого нажмите на кнопку «Создать». Новая база данных готова.
Теперь эту базу необходимо заполнить.
Сделать это совершенно несложно. В ле-
вой колонке (там, где написано «Базданных») из выпадающего списка выберите базу nuke (будем считать, что вы назвали ее именно так), а после, уже в правой части экрана, выберите вкладку
«SQL». Если вы сделали все правильно, то
должны увидеть надпись «Местоположение текстового файла», а рядом кнопку
«Обзор». Нажмите на нее и затем найдите
каталог, в который вы распаковали PHPNuke,
а в нем — тот самый файл nuke.sql,
который вы должны были скопировать,
если внимательно читали все, что написано выше. Теперь нажмите на кнопку «По-
шел» и немного подождите. Если на экране появилась надпись «Ваш SQL-запрос
был успешно выполнен: Содержимое
файла было импортировано. (319 Инструкции)», это означает, что вы все сдела-
ли правильно. Теперь phpmyadmin можно
закрыть — больше он нам не пригодится.
Осталось сделать всего один, последний шаг, и мы, наконец, сможем хоть на
что-нибудь посмотреть. Необходимо отредактировать файл config.php, который
лежит в корне сайта. Для этого откройте
его в обычном текстовом редакторе и найдите следующие строчки:
$dbhost = "localhost";
В этой строчке следует указать IP-адрес
или URL сервера баз данных. Если вы
настраиваете сайт для работы на локальном компьютере, оставьте значение
«localhost». В случае наличия удаленного
сервера необходимо вписать тот адрес,
который вам должен выдать ваш хостер.
$dbuname = "root";
Имя для входа в базу данных. Для локального компьютера — root, для удаленного хоста — спрашивайте, соответственно, у хостера.
$dbpass = "";
Пароль для доступа к базе данных. Для
локального компьютера обычно пустой.
Для удаленного хоста — все данные
узнайте у хостера.
$dbname = "nuke";
Имя вашей базы данных. Помните, мы
задали имя «nuke». Вот его и вписываем.
$prefix = "nuke";
$user_prefix = "nuke";
Префиксы нужны для корректной работы системы, так что без особой нужды
изменять их не следует.
$dbtype = "MySQL";
Скорее всего, на вашем хосте будет использован сервер баз данных MySQL.
Если это так, оставьте параметр $dbtype
без изменений. Если нет, впишите сюда
тип вашей БД. Поддерживаются следующие системы: MySQL, mysql4, postgres,
mssql, oracle, msaccess, db2 и mssql-odbc.
$sitekey = "SdFk*fa28367-dm56w69wlb3a2fDS+e9";
Секретный код. Измените этот непонятный набор символов на любой другой — главное, чтобы он был таким же
непонятным. Секретный код используется для генерации другого секретного
кода, который, в свою очередь, используется при регистрации пользователей
на сайте и служит для пресечения регистрации роботов. Вы, наверное, встречались с такими кодами на многих сайтах.
При регистрации нового пользователя
его просят повторить несколько цифр,
которые он видит на картинке. Если он
делает это правильно, регистрация проходит успешно.
$gfx_chk = 7;
Этот флаг описывает поведение секретного кода.
1: выводится только для авторизации
администратора;
2: только для авторизации пользователя;
3: только при регистрации нового пользователя;
4: для авторизации и регистрации пользователя;
5: для авторизации пользователя и администратора;
6: для регистрации пользователя и администратора;
7: выводить всегда.
После того как вы внесли все необходимые данные, сохраните файл. На этом
установка системы закончена. Загружайте браузер. Набирайте в адресной строке
www.nuke (если вы ввели это имя) и наслаждайтесь результатом.
Иногда красивую картинку нормально
работающего сайта портит выделенное
жирным шрифтом предупреждение:
«Warning: Cannot modify header information
— headers already sent by (output started
at/header.php:32) in/includes/sessions.php
on line 25»
или что-нибудь в этом роде.
Причем таких предупреждений может
быть очень и очень много. Мало того что
эти сообщения портят вид сайта, они
еще и выдают с головой полный путь инсталляции, что в некоторых случаях
сильно упрощает атаку на сайт. Как же с
этим бороться?
В файле header.php после строчки
$header = 1; необходимо вставить следующий код:
if (!ob_get_level()) ob_start();
В некоторых случаях, возможно, придется еще добавить в файл footer.php код
ob_flush(); flush(); [перед строчкой die();]
Настраиваем
В первую очередь вам необходимо создать учетную запись администратора.
Для этого перейдите на страницу
www.nuke/admin.php и заполните несколько полей. После того как все будет
сделано, вы попадете в меню администратора — машинный отсек, или лучше
сказать, в рубку управления всем сайтом.
Для начала следует зайти в «Настройки» и заполнить необходимые для корректной работы сайта параметры.
Название сайта: записывается в тег
title — то, что показывается в верхнем
поле браузера. Очень важно для правильного индексирования сайта поисковыми машинами.
URL сайта: адрес вашего сайта.
Логотип: логотип вашего сайта. В стандартных темах показывается в верхнем
левом углу страницы.
Приветствие: эквивалент тега description,
также важен для поисковых машин.
Дата размещения: дата, которая появится в модуле статистики и которая
указывает на день и месяц создания
вашего сайта.
E-mail администратора: адрес, на который система будет посылать уведомления о новых статьях, добавленных на
сайт, а также сообщения модуля «Контакт с автором».
Количество на страницу: определяет,
сколько новостей могут отображаться на
основной странице модуля новостей.
Количество статей на главной: определяет, сколько новостей отображать
на заглавной странице (если модуль
новостей установлен как модуль главной страницы).
Количество статей в архив-боксе: определяет, сколько статей может отображаться в архиве статей.
Активизировать Ultramode? — определяет возможность для других сайтов импортировать новости с вашего сайта.
Разрешить анонимам публикации? —
определяет, могут ли анонимные посетители добавлять свои статьи (новости).
Стандартная тема: определяет, какое
оформление будет использоваться в качестве темы по умолчанию.
Язык: определяет, какой язык будет
являться языком по умолчанию.
Местный формат времени: определяет
формат локального времени (зависит от
сервера, если он использует Linux — управляется в /usr/share/locale).
Активировать многоязыковые свойства? — выберите, должен ли поддерживать
сайт многоязыковые свойства или нет.
Показывать флаги вместо выпадаю-
щего меню? — если многоязычность активизирована, тогда есть выбор, должен
ли блок отображать иконки государственных флагов вместо списка языков.
Активизировать баннеры? — определяет, разрешено ли демонстрироватьна
сайте баннеры.
Сообщения внизу — форма для ввода
нижних колонтитулов сайта.
Строка 1: сюда вписывается текст, который вставляется в первое сообщение.
Строка 2: сюда вписывается текст, который вставляется во второе сообщение.
Строка 3: текст для вставки в третье
сообщение.
Backend заголовок: название в блоке,
при помощи которого другие сайты будут
импортировать новости с вашего сайта.
Backend язык: определяет язык экс-
портируемых новостей.
Сообщать о новых статьях на E-mail? —
определяет, сообщать ли администратору о новых статьях (новостях), добавленных на сайт.
E-mail: адрес, на который будет послано уведомление.
Заголовок: заголовок письма, сообщающего о новой статье.
Сообщение: текст уведомления (например, «Вы получили новую статью»).
Откуда письмо: кто послал уведомление
(например, «Письмо с вашего сайта»).
Тип модератора: выбор, должны ли
комментарии модерироваться или нет.
Лимит (в байтах): установка максимального количества знаков для записи
комментариев.
Стандартное имя анонимного пользователя: назначает имя посетителям,
которые решили не регистрироваться
(например, «Гость»).
Разрешить графику в меню администратора? — определяет, показывать ли
иконки или простые ссылки в меню администратора.
Минимальная длина пароля: определяет минимальное количество символов
в паролях пользователей вашего сайта.
Активизировать HTTP-рефералы: определяет, вести ли статистику, с каких
URL были заходы на ваш сайт.
Сколько рефералов вы хотите максимально? — количество последних рефералов, которое система должна сохранять (максимум 2000).
Комментировать опросы? — допускаются комментарии в опросах или нет.
Активировать комментарии в статье? —
разрешены ли комментарии к статьям.
Собираем
Ну а дальше работа с сайтом очень похожа на детский конструктор. Все функциональные блоки, которые вы планируете
разместить на вашем сайте (например,
блок новостей, статей, онлайн-магазин,
фотоальбом), являются модулями, которые можно подключать и отключать.
Изначально в базовом комплекте PHPNuke
содержит в себе следующие модули.
News (Новости)
Можно сказать, что в самом начале это
был основной и единственный модуль
PHP-Nuke. В прошлых версиях PHPNuke
он являлся главной страницей
сайта, теперь вы сами можете определять, какой модуль на вашем сайте станет основным (будет отображаться на
главной странице по адресу /index.php).
Данный модуль расширяется на многие
страницы, на первой из них отображается краткое содержание новых статей
(вводный текст), а их количество вы определяете сами. Сделать это можно на
странице администратора в разделе
«Свойства сайта». По ссылке «Read
more» вы переходите к полной версии
статьи. Данный модуль имеет довольно
сложную структуру и в этой связи наделен множеством элементов. К примеру,
на главной странице у каждой новости
имеется своя иконка. Нажав на нее, вы
попадаете в тематический раздел, к которому принадлежит данная статья. Помимо этого, статьи могут разделяться
еще и на категории.
Downloads (Каталог программ)
Данный модуль предоставляет возможность вести на сайте каталог программ
(файлов). Он снабжен различными элементами для более комфортной работы с
ним как посетителей сайта, так и авторов
публикуемых программ.
Feedback (Контакт с автором)
Модуль позволяет посетителям сайта отправлять свои сообщения администратору проекта. Для этого нужно всего
лишь заполнить несколько полей, после
чего данный модуль отформатирует сообщение и перешлет его на адрес администратора.
Member List (Список пользователей)
Модуль предоставляет полный список
зарегистрированных на сайте пользователей. Имеется возможность сорти-
ровки списка по различным данным:
по имени, дате регистрации, почтовому адресу и т. д. О пользователе дается краткая информация, такая как
почтовый адрес (если он дает на это
разрешение), адрес его сайта, географическое местоположение, дата регистрации и т. д.
Private Messages (Приватные сообщения)
Все зарегистрированные посетители могут использовать внутреннюю систему
связи (приватные сообщения). Для того
чтобы воспользоваться данной возможностью, пользователю достаточно на
странице своей учетной записи пройти
по ссылке «Сообщения».
Recommend us (Рекомендовать сайт)
Модуль служит для отправки сообщения
в виде электронного письма кому-либо
(например, вашим друзьям) с рекомендацией посетить данный сайт.
Reviews (Рецензии)
Благодаря этому модулю посетители сайта могут высказать свое мнение (написать рецензию) о каком-либо продукте.
Список того, что можно рецензировать,
зависит только от вашей фантазии, ну и,
разумеется, от тематики сайта. Объекты
для обсуждения могут добавлять как администратор сайта, так и его посетители.
Навигация по представленным объектам
происходит в алфавитном порядке.
Search (Поиск по сайту)
Основной поисковый модуль (основной,
потому что многие модули в системе
PHP-Nuke снабжены своей собственной
функцией поиска) производит поиск
ключевых фраз сразу по нескольким
модулям, таким как News, Sections,
Reviews и т. д. Имеется возможность указывать критерии поиска (поиск по авто-
ру, теме или категории).
Sections (Специальный раздел)
Данный модуль схож с модулем News,
в нем применяется тот же принцип тематических разделов, которые сопровождаются графическими иконками.
Администратор создает различные тематические разделы и заполняет эти разделы содержанием (статьями). Модуль
снабжен функцией оптимизации содержания перед распечаткой.
Statistics (Статистика сайта)
Модуль статистики; предоставляет основную статистическую информацию о
сайте и его посетителях.
Stories archive (Архив статией)
Модуль, в котором хранятся все старые
статьи, опубликованные при помощи
модуля News. Статьи рассортированы по
времени, а список разбит по месяцам.
Остается выбрать необходимый период,
за который вы желаете просмотреть статьи. Модуль снабжен функциями оптимизации перед печатью, отправки ссылки на статью другу.
Submit news (Добавить статью)
При помощи этого модуля пользователи
сайта или простые посетители могут
предлагать к публикации свои материалы. После добавления материала в базу
администратор получает об этом сообщение (если эта функция установлена),
проверяет присланный материал, в случае необходимости редактирует его, определяет для него тематический раздел,
после чего публикует (или удаляет).
Surveys (Опросы)
Модуль опросов (голосований). Снабжается блоком, при помощи которого текущий опрос демонстрируется на всех
страницах сайта. Опросы возможно комментировать, имеется возможность просмотреть уже проведенные голосования,
принять в них участие или просто ознакомиться с результатами.
Впечатлены? И это еще далеко не все
имеющиеся в наличии модули. Но даже
если и их вам будет мало, то энтузиастами PHP-Nuke написано огромное количество самых разнообразных модулей. Большой их каталог расположен
по адресу http://rus-phpnuke.com/ modules.
php?name=Files&go=cat&cid=13.
Теперь переходите в раздел «Блоки».
Надо сказать, что вся информация, которая размещена на сайте, оформлена
именно при помощи блоков. Вы желаете разместить в правом верхнем углу опрос общественного мнения? Это блок.
Подписка на новости — тоже блок. Статья — блок. Форум — большой блок.
И так далее. Каждый блок имеет набор
характеристик, которые описывают поведение и вид блока на странице.
Заголовок — заголовок блока, который отображается на cайте.
Позиция — место, где будет размещен
блок (в правой колонке, в левой колонке, по центру вверху, по центру внизу).
Положение — размещение относительно других блоков. Если, допустим, в
левой колонке у вас имеется три блока
(«Кто сейчас на сайте», «Погода» и «Регистрация пользователя»), то, используя
этот пункт, можно выставить их в необходимой последовательности.
Статус — включено/выключено. С этим,
надеемся, все понятно.
Кто видит — видимость блока. Укажите те группы пользователей, для которых данный блок будет видимым (все
пользователи сайта, только администраторы сайта, только анонимные пользователи, только зарегистрированные
пользователи).
Новые блоки устанавливать не сложнее, чем управлять уже имеющимися.
Самое главное — найти нужный блок
в Интернете. Нашли? Замечательно.
Теперь необходимо переписать папки
blocks и images в точно такие же папки на
своем сайте.
Не забудьте установить необходимые
атрибуты для папок и файлов (об этом
см. выше).
Вот и все — блок загружен, осталось его
включить. Входим через admin.php в раздел «Блоки», добавляем новый, выбираем
из списка новое название, положение,
время обновления, видимость для разных
групп пользователей и сохраняем!
Меняем внешний вид
Конечно, совсем не обязательно, чтобы
все сайты, основанные на PHP-Nuke,
выглядели как братья близнецы. Изменить внешний вид вашего проекта
можно как вручную, так и с помощью готовых тем. Описать процесс создания
новой темы в рамках данной статьи не
представляется возможным, но не расстраивайтесь — в Интернете огромное количество очень красивых тем.
Для того чтобы установить новую тему, ее, во-первых, нужно скачать, затем
распаковать скачанный архив, загрузить все файлы, не меняя их структуры,
на сервер, а после зайти на страницу
администратора и в разделе «Свойства
сайта» установить данную тему в качестве стандартной.
Заключение
Кажется, все. Разумеется, в данной статье многое не рассказано, потому что
движок (или даже программный продукт) PHP-Nuke — система достаточно
развитая, и на ее полноценное изучение нужно потратить не одну неделю.
Но в целом, оперируя сведениями, изложенными выше, вы точно сможете
самостоятельно создать вполне достойный веб-сайт.
Другие серверы
Справедливости ради стоит отметить, что
помимо «Денвера» имеются и другие подобные комплексы программ. Например,
MyServer или AppServ for Windows. Кроме
того, для совсем ленивых есть специальная
версия «Денвера» — DenverNuke, установка которого и вовсе сводится к нажатию
всего лишь одной клавиши. Кроме того, эта
специальная версия сразу же устанавливает на ваш компьютер и PHP-Nuke. Дистри-
бутив DenverNuke расположен по адресу
http://rusphpnuke.com/modules.
php?name=Files&go=view_file&lid=312.
Автор: Денис Самарин
|
|