Практика "Разработка Web-сайта с использованием современных информационных технологий"
Содержание
Настройка Web-сервера
Теоретическая часть
Для работы любого сайта необходим хостинг
Хостинг - место под сайт, выдаваемое юридическому или физическому лицу хостинг-провайдером (или хостером).
В данном случае под местом под сайт следует понимать возможность входа на удаленный Web-сервер для размещения там материалов.
Большинство хостинг-провайдеров предоставляют доступ к хостингу через протокол FTP - File Transport Protocol.
Существуют провайдеры, которые наряду с доступом к файлам по FTP предоставляют доступ по протоколу SSH. Протокол SSH полезен, когда провайдер выдает своему клиенту целую виртуальную машину, на которой клиент может делать все, что захочет: устанавливать свои программы, управлять доступом к файлам и папкам, администрировать СУБД и т.д.
Хостинг бывает нескольких видов.
- статический - хостинг файлов. На таком хостинге можно лишь опубликовать статическую веб страницу без возможности её динамического обновления пользователями, напирмер хостинг от narod.yandex.ru
- хостинг с поддержкой интерпретируемых встраиваемых в разметку языков, таких как, например PHP(в большинстве случаеа), PERL(при использовании программ CGI)
- хостинг с поддержкой интерпретируемых встраиваемых в рзметку языков и с поддержкой баз данных, например Mysql, Postgresql
Для администрирования баз данных используется либо протокол SSH, через который пользователь удаленно по зашифрованному каналу получает полный доступ к системе, либо специальные программы с Web интерфейсом, например phpmyadmin.
А рамках данной темы практики мы научимся:
- заходить на сервер по протоколу SSH
- устанавливать необходимые программы для того чтобы наш Web сервер мог предоставлять хостинг по протоколу FTP с поддержкой СУБД MysqlServer и встраиваемого в разметку интерпретируемого языка PHP
- администрировать СУБД посредством Web интерфейса phpmyadmin (создавать базы данных и настраивать доступ к ним)
Практическая часть
Вход на сервер по SSH и смена пароля на собственный
1. Через меню Приложения, подменю Стандартные найдите и запустите Терминал.
2. Выясните у преподавателя: ip адрес сервера, к которому Вы будете подключаться, логин пароль
3. После получения нужных данных в запущенной консоли выполняем подключение к сервера с помощью команды ssh:
ssh ip адрес -l логин
Например: ssh 192.168.5.220 -l vasya_pupkin
и нажмите Enter
4. При первом подключении к серверу вам будет выдана сигнатура открытого ключа сервера. Согласитесь с ее использованием для шифрования данных передаваемых между вашим компьютером и сервером.
5. Для подтверждения правильности сигнатуры открытого ключа наберите Yes и нажмите клавишу Enter.
6. Удаленный сервер попросит вас ввести пароль, соответствующий, указанному после ключа -l логину на сервере.
7. Введите пароль и если авторизация прошла успешно вы должны увидеть приглашение сервера:
administrator@lab-srvXX:~$
где, XX - номер вашего сервера
8. Преподаватель дал Вам временный пароль. Его необходимо изменить на свой собственный. Для этого введем команду passwd
administrator@lab-srvXX:~$passwd
и нежмем Enter
9. Сервер выдаст запрос на ввод сначала текущего пароля. Введем его
Changing password for administrator. (current) UNIX password:текущий пароль
и нажмем Enter
10. Затем сервер выдаст запросы сначала на ввод нового пароля и затем на подтверждение нового пароля. Введем их, подтверждая свой ввод Enter-ом
Enter new UNIX password:новый пароль Retype new UNIX password:новый пароль
11. В случае успеха операции сервер уведомит Вас и вернет приглашение
passwd: password updated successfully administrator@lab-srv26:~$
Примечание: Ввод паролей в консоли никак не отображается. Такова политика безопасности UNIX систем
12. Для отключения от сервера достаточно закрыть терминал.
13. Теперь отключитесь от сервера и занова зайдите на него по SSH используя данный Вам логин и Ваш собственный пароль, который мы только что установили
Установка необходимых для Web сервера программ
Теоретическая часть
Нам необходимо установить классический веб сервер, часто называемый LAMP (Linux Apache Mysql PHP)
1. Linux - Сетевая операционная система с открытым исходным кодом. В нашем случае она уже установлена и мы имеем возможность управлять ей через удаленное подключение по SSH
2. Apache - Самый популярный в мире бесплатный кросплатформенный Web сервер, на котором работает более 70% интернет в мире. Веб сервер Apache служит для отдачи статического контента браузеру (картинки, html-разметка, разметка+JavaScript, CSS)
3. Mysql - СУБД (Сервер Управления Базами Данных). Сервер предоставляет авторизированный доступ к базам данных, в которых хранятся наддые различных сайтов, функционирующих на Web-хостинге
4. PHP - Интерпретатор языка PHP. Служит прослойкой между исходным кодом на языке PHP и веб сервером Apache (встраивается в apache). Принимает исходный код и превращает его в статическую разметку.
LAMP - это 4 базовые компоненты для построения полнофункционального Web-сервера
Для удобства администрирования сервера (закачки на него файлов и конфигурирования баз данных в СУБД) необходимо установить сервер FTP - для доступа к папке с контентом сайта и программу phpmyadmin - для конфигурирования баз данных в MysqlServer
Названия программных пакетов, необходимых для установки:
apache2 (Apache) mysql-server (Mysql) php5 (PHP) proftpd (FTP-сервер) phpmyadmin (phpmyadmin - веб интерфейс для управления базами данных в Mysql)
Практическая часть
Подключение репозитария в систему
Для подключения репозитория необходимо отредактировать файл
/etc/apt/sources.list
то есть добавить в него 4 строчки, которые подключат нашу систему к набору программного обеспечения для его утановки
1. Откройте терминал. Зайдите на сервер по SSH
ssh server_address -l username
2. Возьмите суперпользовательские привелегии командой sudo su
administrator@lab-srvXX:~$sudo su
введите пароль
[sudo] password for administrator: пароль
При успешном выполнении операции приглашение должно смениться с $ на #
root@lab-srvXX:/home/administrator#
3. Очистите файл /etc/apt/sources.list записав туда пробел командой echo
root@lab-srvXX:/home/administrator#echo "" > /etc/apt/sources.list
4. Откройте файл на редактирование программой nano
root@lab-srvXX:/home/administrator#nano /etc/apt/sources.list
5. Вставьте эти строчки туда
deb ftp://repo/repositories/hardy hardy main restricted universe multiverse deb ftp://repo/repositories/hardy hardy-security main restricted universe multiverse deb ftp://repo/repositories/hardy hardy-updates main restricted universe multiverse deb ftp://repo/repositories/hardy hardy-backports main restricted universe multiverse
6. Сохраните файл используя сочетания клавиш Ctrl+O
7. Выйдите из программы nano используя сочетания клавиш Ctrl+X
8. Обновите информацию о программном обеспечении репозитария командой aptitude update
root@lab-srvXX:/home/administrator#aptitude update
Мы подключили репозитарий с программами в систему. Теперь из этого репозитария можно устанавливать нужные нам программы
Установка программ
Вспомним названия программных пакетов, необходимых для установки:
apache2 mysql-server php5 proftpd phpmyadmin
Все эти программы можно легко установить выполнив одну единственную команду aptitude install apache2 mysql-server php5 proftpd phpmyadmin
root@lab-srvXX:/home/administrator# aptitude install apache2 mysql-server php5 proftpd phpmyadmin
В процессе установки этих программ система будет задавать различные вопросы для конфигурирования начальных настроек программ:
1. Do you want to continue? [Y/n/?] - Отвечаем Y и нажимаем Enter
2. New password for the MySQL "root" user: - Вводим пароль для пользователя root для последующего доступа к Mysql серверу и нажимаем Enter
3. Repeat password for the MySQL "root" user: - Повторно вводим пароль для пользователя root и нажимаем Enter
4. Web server to reconfigure automatically: - Выбираем Web-сервер, с которым будет работать phpmyadmin. В нашем случае это apache2. Выберете его нажав пробел и нажмите Enter
После того как сервер вернул нам консоль
root@lab-srvXX:/home/administrator#
установка программ закончена. Осталось несколько мелких настроек
Настройка рабочей папки
Для получения доступа к папке /var/www, в которую мы будем загружать файлы необходимо сменить хозяина этой папки на пользователя administrator. Для этого выполним команду chown administrator /var/www -R
root@lab-srvXX:/home/administrator#chown administrator /var/www -R
Для удобства нахождения папки /var/www сделаем ссылку на него в домашнюю папку администратора
root@lab-srvXX:/home/administrator#ln -s /var/www/ /home/administrator/www
Настройка сервера закончена. Теперь мы можем подключаться к серверу по FTP и управлять содержанием файлов в www каталоге Web сервера. Также мы можем управлять базами данных на сервере Mysql посредством интерфейса phpmyadmin
Проверка работы Web сервера
Отройте браузер и наберите в адресной строке IP_адрес_вашего_сервера.
Если браузер загрузил файл, в котором написано It Works, значит настройка сервера прошла успешно
Проверка работы программы phpmyadmin
Отройте браузер и наберите в адресной строке IP_адрес_вашего_сервера/phpmyadmin.
Если браузер загрузил окно авторизации phpmyadmin, значит установка phpmyadmin прошла успешно
Теперь для управления базами данных в системе можно зайти в phpmyadmin с логином root и паролем, который мы указали при установке и настройке