Учителям и ученикамВторник, 03.12.2024, 20:03

Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Навигация

Рекомендуем
Урок 21. Новые задачи (строим сеть с "нуля")
Урок 20. Настраиваем Ubuntu 11.10
Урок 19. Знакомимся с ОС Uuntu 11.04
Урок 18. Меняем OpenOffice на LibreOffice
Урок 17. Ставим программу (практическая работа)
Урок 16. Установка программ в Ubuntu
Урок 15. Добавляем репозитарий
Урок 14. Права доступа

О работе сайта
О наших планах
Руководства по ПСПО
Работа продолжается
К урокам информатики
Дистрибутивы для школ


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Мастер-класс » Web-кодинг

Урок 9. Создаем Web-сервер в Ubuntu 10.10

Часто можно услышать вопрос: есть ли аналог Денвера в Линуксе? Нет, аналога Денвера в Линуксе нет. Более того, пакет Денвер создавался как удобный инструмент для создания Web-сервера в Windows, используя связку Linux + Apache + MySQL + PHP, или LAMP, которая родом их Линукс. В Линуксе никакого пакета Денвер не требуется и разворачивание сайта на локальном компьютере значительнее проще, чем в Windows. Сегодня мы в этом начнем убеждаться.

Мы рассматриваем три ОС Линукс: Mandriva 2010 (Edu), Ubuntu 10.10 (Edu) и Alt Linux p5 (очень редко пока). В первой и третьей ОС LAMP установлен по умолчанию, чего нельзя сказать о Ubuntu 10.10 Maverick Meerkat, ориентированного на домашних пользователей (десктопная версия). Здесь наблюдается разделение релизов в Ubuntu 10.10, так как для создания сервера существует Ubuntu 10.10 Server. Так как мы пользуемся десктопной версией, то нам придется установить недостающие компонетнты LAMP.

Ставим Apache

Первым делом  нужно установить  сервер Apache. Запускаем менеджер пакетов Synaptic (Система - Администрирование - Менеджер пакетов Synaptic), вводим пароль администратора, в строке поиска вводим apache2 (Текущая версия  Apache 2.2.x, вот поэтому apache2).



Отмечаем пакет apache2 (версия 2.2.1 на настоящий момент) для установки. Система попросит дать согласие на установку дополнительных пакетов, нужных для нормального функционирования сервера Apache. Соглашаемся, нажимая на Применить, ждем окончания установки.

После окончания установки проверяем работу Apache, набрав в браузере http://localhost/. Если появляется то, что показано на рисунке, значит сервер Apache работает.


Кстати, можно вместо http://localhost/ набрать http://127.0.0.1/ - результат должен быть таким же.

Теперь познакомимся с командами управления сервером Apache. Запустим консоль под рутовыми правами. Наберем команды, которые можно видеть на рисунке.


Команды start, stop, restart, reload, status не требуют пояснений. Стоит пояснить следующее:

  • /etc/init.d/apache2 - путь к серверу;
  • выполняются команды под правами root по причине запрета работать под правами пользователя с портами от 0 до 1024 (мы используем порт 80);
  • конфигурационный файл сервера Apache находится по адресу /etc/apache2/apache2.conf;
  • корневым каталогом для сервера является /var/www/
Страница, оборажаемая в браузере после набора http://localhost/, находится именно в этом каталоге (index.html).

Ставим PHP

PHP - это интерпретируемый язык для создания активных Web-страниц. Программа на PHP вставляется в HTML-страницу. Синтаксис PHP основан на синтаксисе языков Си, Java и Perl.

Для установки PHP запускаем Synaptic и вводим в строке поиска php5. Процедура установки такая же простая, как и установка пакета Apache2: отмечаем пакет php5 для установки, соглашаемся с установкой дополнительных пакетов и жмем Применить. После окончания процедуры установки желательно проверить работу системы PHP. 

Для проверки работы PHP нужно созать файл с расширением .php и поместить его в папку /var/www. Назвать его можно, например, test.php. Для создания файла используем текстовый редактор gedit. Создавать файл придется с правами администратора, т.к. кроме root никто не может изменять что-либо в папке /var/www.

В терминале набираем sudo gedit /var/www/test.php. Так как файла test.php не существует, поэтому редактор gedit просто создает его в указанной папке. Набираем следующий код:

<?php
phpinfo();
?>


Набираем в браузере http://localhost/test.php и видим результат (см. рисунок). PHP установлен. Желательно немного отредактировать конфигурационный файл php.ini, для чего открываем с правами root файл для редактирования:

sudo gedit /etc/php5/apache2/php.ini

Находим строчку "display_errors=Off" и меняем на "display_errors=On". Тем самым мы устанавливаем вывод ошибок. Если этого не сделать, то при ошибках в коде, будет выводиться пустая страница.


Установка базы данных MySQL

Для утановки БД MySQL опять используем Synaptic. Вводим в строку поиска "mysql-server-5.1", отмечаем для установки, соглашаемся с установкой дополнительных пакетов, нажимаем Применить, ждем окончания установки. Важное замечание: во время установки нам придется вводить пароль root-пользователя базы данных. Не путайте этот пароль с паролем root для операционной системы. Придумайте и запомните другой пароль.

Для того, чтобы убедиться в правильной работе БД, выполним следующее:

В консоле вводим mysql -u  root -p. В ответ на запрос пароля вводим пароль для root-пользователя MySQL. Увидим следующее:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.1.49-1ubuntu8.1 (Ubuntu)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Строка mysql> это приглашение для ввода команд MySQL. Вводим

show databases;

Не забудем в конце команды поставить ";". Видим следующее:


Теперь вводим exit для выхода из БД, и закрываем (exit) консоль. Для управления БД (запуск, остановка и перезагрузки) используем start, stop, restart. Например,

sudo /etc/init.d/mysql start

Иногда бывает, что перечисленные команды не работают, и в ответ выдается такое:

Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql

В этом случае попробуйте использовать следующие команды:

sudo service mysql start (stop, restart, status)

Остается сказать, что конфигурационный файл БД находится в /etc/mysql/my.cnf, а каталоги с базами данных находятся в /var/lib/mysql.

Устанавливаем phpMyAdmin

Для удобства работы с базами данных MySQL имеется Web-интерфейс phpMyAdmin. Его устанавливаем опять же из Synaptic. Процесс установки описывать не будем, он ничем не отличатся от, например, установки PHP5. Но во время установки нам нужно будет ввести некоторые данные.


Здесь мы выбираем сервер Apache2, после чего переходим далее (Вперед).


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

Проверяем работу phpMyAdmin, введя в браузере http://localhost/phpmyadmin. Вводим логин (root) и пароль к phpMyAdmin.


Вот и все. Остается добавить, что конфигурационный файл phpMyAdmin находится в /etc/phpmyadmin, а phpMyAdmin в /usr/share/phpmyadmin

Дополнительные работы

Для полноценной работы нашего Web-сервера устанавливаем библиотеку php-curl (через Synaptic). Описывать не будем, все понятно из рисунка:


Просто жмем Применить и ждем. После окончания установки проверяем набором http://localhost/test.php (надеемся, что этот файл вы не удалили).  Далее перезагружаем apache2 /etc/init.d/apache2 restart. И видим:


По мере изучения возможностей связки LAMP нам придется ставить дополнительные модули сервера Apache. Часть из них уже установлены и работают (изучайте результат работы нашего файла test.php, в котором содержится просто функция phpinfo(), смотрите графу Loader Modules), часть установлены, но не запущены, часть не установлена.

На первом этапе рекомендуется запустить модуль mod_rewrite, который уже установлен, но не запущен. Просмотреть установленные модули можно в /etc/apache2/mods-available/

Для включения нужного модуля используется команда Apache2 enable module, т.е.

sudo a2enmod модуль

В нашем случае это будет sudo a2enmod rewrite. Не забывайте после запуска модуля перезагрузить Apache2.

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

Удачи.




Категория: Web-кодинг | Добавил: vens (12.02.2011)
Просмотров: 3745 | Комментарии: 5 | Рейтинг: 0.0/0
Всего комментариев: 5
1 asd3d  
Огромное спасибо после винды под ubuntu незнаю куда тыркатся немог даже найти папку www побольше бы таких статей для переходящих на linux юзеров

2 qwer  
Что нужно сделать, чтобы созданный сайт нормально отображал русский язык, а то одни кракозябры вместо русски букв?

3 vens  
выбрать правильную кодировку. Например, для UTF-8:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
Это должно быть в начале html-кода. Чтобы понять более детально, просмотрите исходный код нескольких web-страниц (для Firefox: Вид - Исходный код страницы.

4 qwer  
Благодарю, мета-тег очень помог :)

5 visitor  
Спасибо! Превосходно! Очень доступно и подробно! Автору респект!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Форма входа

Облако тегов
вирусы на флешке система команды контентная фильтрация СКФ ALT Linux Mandriva Команды su линукс СпО Опытная зона ПСПО пиратский софт Исполнитель Кумир Программирование робот Ubuntu ставим Ubuntu установка LTSP Wi-Fi локальная сеть Mandriva Ubuntu Дистрибутивы Рейтинг edubuntu

Друзья
Сайт



Никнейм vensor зарегистрирован!
Сорокин В.Н. - Vens © 2024