среда, 2 июля 2008 г.

Создание сайта на бесплатном хостинге (часть 1)

Спонсор поста: Бесплатные домены на всю жизнь.

Начиная с этого поста, я буду рассказывать о создании сайта на бесплатном хостинге. Будем переходить от простого к сложному: сначала подберем подходящий под ваши нужды хостинг, затем собственно разместим на нем наш сайт. Оговорюсь: сайт с поддержкой динамических технологий. Попутно ознакомимся с необходимым инструментарием веб-мастера. Главное — не спешить: все будем делать поэтапно. С чего начнем? Начать придется с теории, а потом уже и к практике обратимся.


Первая часть – (Джентльменский набор web-разработчика).

Давным-давно, создавая свой первый сайт, я не догадывался о существовании каких-либо CMS-движков. Мое творение представляло собой набор статичных HTML-страничек. И для того, чтобы обновить на сайте информацию, приходилось проделывать всяческие хитрые операции: копаться в HTML- коде, каждый раз закачивать файлы на сервер и т.п. Да, когда сайт обновляется не часто, особых проблем возникнуть не должно (поначалу не возникало и у меня). Но все было скучным и однообразным! В конце концов, сайт мне надоел — он был совершенно не интерактивным. Я даже не знал, заходят посетители на него или нет, а посетители, в свою очередь, не могли оставить на сайте даже комментария. Однако вскоре я узнал о существовании CMS-движков. Давайте же разберемся, что это такое.

CMS-движок (англ. Content Management System — система управления содержанием сайта) представляет собой программу, исполняемую на сервере. Эта программа написана на определенном языке программирования — обычно PHP или Javascript. Информация сайта хранится в SQL-базе, а CMS-движок, взаимодействуя с ней, принимает, обрабатывает и отображает эту информацию нам в доступном виде. Хотя есть такие движки, которым SQL-база не нужна — например, GuppY, где в качестве базы данных выступают текстовые файлы. Но это только исключение из правила. Возможности движка обширны. Он определяет и структуру, и дизайн, и способ взаимодействия с посетителем или сайтовладельцем. С его помощью осуществляется управление сайтом, изменение его содержимого, добавление пользователей и т.п. Работа с движком сайта осуществляется через браузер, будь то простое добавление содержания или смена дизайна. Впрочем, не следует забывать, что у CMS-движка есть свои "системные" требования. Что необходимо для его работы? В первую очередь это виртуальный сервер, который отвечает за выполнение скриптов. У любого хостера он уже установлен. А что же делать нам? Неужели каждый раз закачивать файлы движка на удаленный сервер и там тестировать? Нет:). Виртуальный сервер можно соорудить и «в домашних условиях», то бишь на вашем компьютере. Для этого обычно предназначена связка Apache+PHP+Perl+MySQL.

Однако следует сказать, что:

1) вышеназванные программы работают только в тесной интеграции между собой, а это требует редактирования т.н. конфигурационных файлов;

2) общий размер пакета превышает 30-50 Mb — будут трудности при скачивании его из Интернета (UNIX’оидов не касаемся:)). К счастью, существуют «облегченные» версии данного комплекта. Самый распространенный — «Денвер». Занимает он всего 5.5 Mb (базовый пакет). Использовать его в качестве серьезного виртуального сервера не стоит, но для новичка это, пожалуй, самое оптимальное решение. Почему для новичка? Хотя бы потому, что «денверовцы» уже сконфигурировали все компоненты данного комплекса, снабдили его удобным инсталлятором и неплохим руководством на русском языке. Естественно, «Денвер» по сравнению с полным 30-40-мегабайтным пакетом (Apache+PHP+Perl+MySQL) подвергся многим изменениям. Были убраны, в основном, обычно не используемые компоненты. Из многочисленных модулей, которые есть в «полноценном» Apache, остался один mod_rewrite. От Perl’а оставили только ядро (стандартные библиотеки не включили). Убраны многие компоненты/модули к PHP и MySQL. Отсутствует и документация. Как видите, в пакете нет ничего лишнего. Разработчики сделали все для того, чтобы "Денвер" был максимально компактным. И мне нравится их позиция. Почему бы и не отбросить лишнее? Тем более, что все это компенсируется пакетами расширений, которые всегда доступны на сайте denwer.ru. Ну да ладно. Скачали базовый комплект «Денвера»? Приступим к его установке.


Установка "Денвера".

После запуска инсталлятора откроется окно установки, и вам нужно будет ответить на несколько вопросов. Для начала полагается указать место, где будет располагаться комплекс. Я бы порекомендовал вам выбрать корневую папку на диске (напр., D:\denver\). Дело в том, что установщики дополнительных модулей ищут необходимые им компоненты только в каталогах 1-го уровня, а если не находят там, то путь к серверу придется прописывать вручную. На следующем этапе вас попросят определить название виртуального диска. Выбирайте что-нибудь из последних букв алфавита — во избежание конфликтов с операционной системой. Далее после копирования файлов «Денвера» в выбранную вами папку будут предложены 2 варианта выбора:

1. Виртуальный диск (ВД) создается при запуске ОС и при завершении работы не отключается. Этот вариант предпочтителен для тех, кто работает с Perl'ом из командной строки.

2. ВД НЕ создается при запуске ОС. Вариант для тех, кому не понравился первый:). Т.е. ВД запускается и останавливается пользователем. На последнем этапе у вас спросят, создавать ярлыки на рабочем столе или нет. Соглашайтесь. Но если ваш аккаунт в Windows имеет русские буквы, ярлыки придется создать вручную. Вот и все: сразу после установки сервер готов к базовой работе.


Структура сервера.

Сейчас вкратце познакомимся с содержимым виртуального диска (примечательно, что структура папок точно такая же, как в UNIX). Видим 4 каталога: usr, tmp, home, etc.

ETC — в этой папке находятся Perl’овые скрипты, необходимые для запуска "Денвера".

HOME — здесь располагаются виртуальные хосты сервера. По адресу /cgi-glob/dnsearch/ расположены файлы утилиты Denwer Search. Особый интерес представляет папка www в директории localhost — именно сюда по умолчанию нужно помещать файлы для установки движка.

USR — содержит исполняемые файлы, конфиги и модули к Perl, Apache, PHP, MySql и заглушку Sendmail. В папке local/apache/bin/ лежат две утилиты: ab — для тестирования быстродействия сервера — и htpasswd — для создания аутентификационных файлов.

TMP — папка, куда сбрасываются различные временные файлы — результат деятельности sendmail, dnsearch и т.п.


Запуск сервера.

В "анатомии" "Денвера" немного разобрались — пора запускать сервер (ярлык Start servers на Рабочем столе). Сразу же замелькают окна, и в трее появится перышко Apache. Сервер запущен. Откройте любой браузер и введите в адресной строке «localhost» (кстати, прокси и Автономная работа должны быть отключены). Вы попадете на стартовую — тестовую — страницу "Денвера" — своеобразную панель управления комплексом. Здесь можно проверить свежеустановленый сервер на работоспособность. Еще на этой странице расположена информация об установленных пакетах документации. Здесь же список утилит, помогающих при работе с виртуальным сервером. Это:

Addmuser — облегчает добавление баз данных и их пользователей. Когда вам понадобится создать БД, вы заполняете нужные поля — и готово. Только запоминайте введенные данные — они понадобятся для последующей установки CMS-движков.

PhpMyAdmin — панель управления MySQL. Очень мощная утилита для администрирования баз данных — существенно облегчает работу. Импорт, экспорт, работа с таблицами, — все необходимые функции ей под силу. Очень хорошо, когда она установлена на удаленном сервере.

DnSearch (неполная версия) — поисковый скрипт по серверу с обширными возможностями (логика, фильтрация, выбор режима поиска, поиск в архивах, кэширование результатов поиска и др.).

SiteList — скрипт, который отображает список зарезервированных хостов.


Конфигурационные файлы.

Настройка "Денвера" производится методом редактирования конфигурационных файлов (КФ). Редактировать их можно с помощью любого текстового редактора (желательно с подсветкой синтаксиса). Все файлы поясняются комментариями (частично на русском). Далее приводится расположение КФ. Главный конфигурационный файл сервера — /etc/CONFIGURATION.txt
Apache — /usr/local/apache/conf/httpd.conf
PHP — /usr/local/php/php.ini
MySQL — /usr/local/mysql/my.cnf
Файл hosts (соответствие имен сайтов их IP-адресам):
для Windows 95/98/ME: %systemroot%\hosts.
для Windows NT/2000/XP: %systemroot%\system32\drivers\etc\hosts.

Примечание: имена каталогов и файлов могут варьироваться в зависимости от версий Apache/PHP/MySQL.


Пакеты расширений.

Как я уже говорил, базовый комплект «Денвера» вряд ли можно назвать полноценным сервером. Поэтому, если возникнет необходимость расширить его возможности, можно посетить сайт и скачать дополнительные модули и документацию. Приведу обзор некоторых дополнений, доступных на сайте.

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

PHP версии 4.
Более новая версия языка программирования, урезанная версия которого присутствует в БК "Денвера". По сравнению с 3-й версией было полностью переработано ядро, результатом чего стал новый движок — Zend Engine. Реализованы поддержка объектно ориентированного программирования, поддержка сессий, безопасные способы получение данных от пользователя, буферизация вывода и нововведения в самом языке.

PHP версии 5.
Один из новейших версий знаменитого интерпретатора. Теперь он стал действительно объектно ориентированным. Реализованы новые возможности — такие, как XML и SOAP, исключения, встроенная СУБД sqLite и др.

MySQL версии 5.
Хорошее, очень полезное дополнение (IMHO). Вот вам случай из собственного опыта. Однажды на сервере ХХХ, где размещен мой сайт, внезапно обновили MySQL до 5-й версии. Возникла проблема с переносом баз данных с домашнего компьютера. Скачал, поставил это расширение — все уладилось. Apache версии 2 как признаются разработчики "Денвера", пока еще не очень стабильный релиз. В целом Apache 2 работает быстрее 1-го, и ошибки, присущие первой версии, были частично исправлены.


Документация.

Вся документация к Apache, PHP, Perl, MySQL и др., к сожалению, не переведена.

Стандартные модули PHP4.
Как известно, «Денвер» из модулей к PHP содержит только gd2. В принципе, для базовой работы движков этого хватает, однако мало ли что. Например, по собственному опыту знаю, что некоторые специфические моды, хаки и т.п. к движкам частенько требуют наличие модулей, не включенных в базовый PHP. Установив этот пакет расширения, вы получаете полноценный PHP 4, включающий в себя такие модули, как db, bz2, gd, zip и многие другие.

Библиотеки ActivePerl.

Модулей у Perl’ а очень много, но БК «Денвера» Perl не включает в себя даже стандартные библиотеки. Данный пакет призван полностью исправить ситуацию.

ActivePython.

Язык программирования сверхвысокого уровня, чем-то похожий на Java, чем-то на Perl. Если вам нужно присутствие интерпретатора Python у себя на сервере, то скачивайте это расширение.

Parser 3 с поддержкой XML.

Детище Студии А. Лебедева. Представляет собой язык программирования, в чем-то похожий на HTML, но намного интереснее (и сложнее). Сочетает в себе и HTML, и XML, и даже PHP. Сам «Парсер» подобен конструктору, а основная его «фишка» — многомодульность, шаблонность. Благодаря этому на «Парсере» вы можете создавать даже сложные динамические сайты (с этим, правда, можно не согласиться). Расширение содержит БК «Денвера», собственно полную версию «Парсера-3» и библиотеки поддержки XML и MySQL.

Стандартные модули Apache.

В БК «Денвера» Apache включает единственный модуль — mod_rewrite. Это расширение содержит остальные модули.

СУБД FireBird (InterBase).

Альтернатива MySQL. Хотя насколько целесообразна такая замена? Решать вам.

Для установки вышеописанных пакетов расширений никаких особых навыков не требуется. Инсталлятор, написанный на Perl, здорово облегчает установку: вам нужно будет всего лишь ответить на несколько вопросов. Кстати, не забывайте: при установке сканируются, только, каталоги первого уровня, и, если вы устанавливали «Денвер» не как положено, то на время установки, просто, переместите папку с «Денвером» на первый уровень. Может возникнуть ситуация, когда придется редактировать КФ, в частности, файл CONFIGURATION.txt. Допустим, если вы установили MySQL 5 вместо 4-й версии, то должны изменить строчку mysql_dir = \usr\local\mysql на mysql_dir = \usr\local\mysql5. При установке Apache 2 такая же ситуация.

«Денвер» — вещь полезная. Он понадобится для освоения CMS-движков. О том, как установить эти самые движки на сервер, вы узнаете в следующей статье. Самое интересное еще впереди. Успехов вам и до скорой встречи!

9 комментариев:

  1. закинул пост к себе на социалку

    ОтветитьУдалить
  2. Да, Денвер - это вещь нужная и архиполезная. Особенно удобно установить его на флэшку и носить свои сайты всегда с собой. Такая популярная CMS, как WordPress на Денвере работает отменно.

    ОтветитьУдалить
  3. Жду продолжения, а то ведь Денвер это не сайт на бесплатном хостинге :) Можно как CMS для сайта взять Drupal (я имею ввиду того, что будет описываться в статье далее)?

    ОтветитьУдалить
  4. Продолжение на этой недельке!

    ОтветитьУдалить
  5. Интересный материальчик. Прочитал с удовольствием.
    Очень полезно для начинающих вэб - разработчиков, типа меня :))

    ОтветитьУдалить
  6. Очень рад, что материал понравился. Приходите еще, будет интересно!

    ОтветитьУдалить
  7. классная статья
    вот только бы побольше бы инфы о продвижении сайтов на поисковиках
    Мот кто подскажет, куда за этим сходить?

    ОтветитьУдалить
  8. статья очень интересная и подробная
    вот только совсем ничего о продвижении сайтов на поисковиках. Где бы об этом подробнее?

    ОтветитьУдалить
  9. сходи на форумы на гугле и яндексе
    там инфы на эту тему полно :-)

    ОтветитьУдалить