Публикация проекта в интернете

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

  1. Для сайта необходимо выбрать/купить/зарегистрировать имя - домен, например: site.ru
  2. Готовый сайт (он может состоять из одной странички или из сотен файлов и папок + БД) необходимо перенести на хостинг (сервер умеющий отдавать html-странички по запросу браузеров пользователей).
  3. На одном железном сервере может под управление вебсервера (например apache) работать множество сайтов (виртульных хостов) - нужно прописать в один из них путь к папке нашего сайта и указать домен
  4. Чтобы сайт стал видим в интернете необходимо настроить DNS, т.е. связать действительный адрес сервера - IP с человеческим именем - доменом.

Все придется делать в терминале - текстовом (не графическом) окне операционной системы семейства Unix. Хорошо иметь такой у себя под рукой, чтобы не упражняться на удаленном чужом.

Для начала познакомимся с несколькими утилитами - это видеоуроки (классический образец - http://www.youtube.com/watch?v=3I8CTfHhbwE - скринкаст установки убунты).

Практическое занятие. Подготовка к отладке вебпроекта на локальном компьютере.

Здесь собраны все видеоуроки (скринкасты - озвученные ролики, записанные с экрана во время работы), относящиеся к созданию и оживлению вебпроекта.
Для учебы это очень удобно, т.к. ролик можно перемотать назад, поставить на паузу и рассмотреть картинку или десять раз прослушать, что там шепелявит преподаватель.

Контекст: 
Вы работает на своем персональном компьютере с операционной системой Linux (на скринах дистрибутив Ubuntu, но это не принципиально).
В ней установлен вебсервер apache с поддержкой скриптового языка PHP и СУБД MySQL.

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

Термины:
Хост - компьютер, настроенный для работы в качестве вебсервера, обеспечивающий доступ к сайтам через интернет.
Хоститься - располагать свой сайт (файлы и папки) на хосте.
Локальный хост - компьютер имеющий все признаки хоста, кроме доступа сайтов через интернет. Используется разработчиком сайтов для отладки проектов.
Виртуальный хост - часть ресурсов (память, процессор) хоста выделенная вебсервером для отдельного домена (проекта).
Вебсервер - программа-демон запущенная на хосте и обеспечивающая выдачу по запросам браузеров HTML-страниц (вебстарниц). Обычно это apache, но есть и другие.
Сайт - совокупность .вебстраниц связанных гиперссылками, имеющий адрес в интернете - домен. Все страницы одного сайта располагаются на одном домене.
Домен - человеко-понятное имя сайта на естественном языке.
IP-адрес - физический адрес, номер компьютера (хоста) в едином для всего интернета адресном пространстве. Состоит из 4-х групп чисел по 1-3 цифре в каждой, разделенных точками, наример сайт mgimo.ru имеет IP 212.16.16.172, localhost всегда (так принято) 127.0.0.1

Вопросы можно задавать в комментах к этой странице. Но вначале необходимо просмотреть все пронумерованные (1-12) ролики и попытаться повторить описанные там действия. Ролики короткие (от 5 секунд до 5 минут), действия несложные - если все это занятие (в обозначенном выше контексте) займет у вас больше 15 минут, значит вы полный тупица или просто записались не на тот курс :-)


Утилиты командной строки Unix

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

Ролики №№ 1-10:
  1. Открыть терминал
  2. Что в нем?
  3. Подстроим профиль под свой вкус
  4. Просмотр листинга текущей папки (каталога, директории - это синонимы)
  5. Просмотр листинга текущей папки в деталях
  6. Открыть существующую папку
  7. Создать новую папку
  8. Создать новый файл
  9. Очистить экран
10. Универсальный справочник

Midnight Commander

В mc можно работать с помощью одних только клавиш или использовать мышь или и то и другое вперемежку.

Ролик №11: Повторить операции выполненные в пп. 4-8 в mc

Apache и файл hosts

Для того чтобы иметь возможность готовить проект к публикации на своем компе, нужно настроить вебсервер apache.
Еще желательно вместо настоящего DNS прописать в локальном файле /etc/hosts какой-нибудь домен. Поскольку он будет работать только у вас и никто в большом мире его не увидит, это домент может быть каким угодно, хоть mgimo.ru или google.com. Лично я придумал себе зону .xx и все свои проекты отлаживаю в ней.

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

Техника настройки апачи заключается в том, чтобы прописать в файле конфигурации (можно сделать под каждый проект отдельный файл, при запуске апач считывает их все) вот такой блок:

<VirtualHost *:80>
    ServerName test.xx
    DocumentRoot /var/www/test
    DirectoryIndex index.php index.html
    AddDefaultCharset UTF8
</VirtualHost>

Настройка локального хоста разжевана в ролике.

Ролик №12: Подготовка к отладке вебпроекта на локальном хосте

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

Видеоуроки по темам: Терминал, Midnight Commander, Apache, Hosts

Смотреть можно прямо с ютуба или скачать на свой компьютер (они довольно тяжелые).

1. Необязательная утилита key-mon (вспомогательный инструмент для визуализации нажатых клавиш - очень помогает при создании видеоуроков - скринкастов)

Скачать в высоком качестве 246Мб

2. Утилита clear - очищает дисплей

Скачать в высоком качестве 148Мб

3. Утилита ps - показывает запущенные процессы (демоны)

Скачать в высоком качестве 452Мб

4. Утилита top - показывает запущенные процессы в динамике. Обновляет информацию каждую секунду. Остановка клавишей Q

Скачать в высоком качестве 332Мб

5. Midnight Commander - файловый менеджер. В нем можно на сервере создать простой web-проект. В mc можно работать с помощью одних только клавиш или использовать мышь или и то и другое вперемежку

Скачать в высоком качестве 390Мб

6. Настройка apache и localhost`а для запуска/прогона на нем тестового проекта.
В этом ролике рассказано и показано, как можно на своем локальном компьютере запустить свой проект. Придется настроить апач точно как на сервере (да это и есть сервер), а вместо DNS, прописать домен в файле /etc/host

Скачать в высоком качестве 700Мб