Установка и настройка Apache, PHP, MySQL в Ubuntu

Установка, разработка конфигурации и дальнейшее администрирование веб-сервера Apache в системе в Ubuntu. Настройка операционной системы и удаленного управления. Основные команды; соединение и передача данных. Аутентификация, способы доступа к серверу.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 24.06.2014
Размер файла 3,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Минобрнауки России

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Российский государственный гуманитарный университет»

Институт информационных наук и технологий безопасности

Факультет информатики

Реферат

по курсу «Разработка распределённых приложений»

на тему «Установка и настройка Apache, PHP, MySQL в Ubuntu»

Выполнил:

студент 4к. 1 гр.

Великохатько Н.Н.

Проверил: д.ф-м.н.

Соколов Сергей Михайлович

Москва 2014

1. Теоретическая часть

сервер apache удаленный аутентификация

Программная часть сервера состоит из трех основных составляющих:

а) Apache.

Сайт представляет из себя набор текстовых файлов, в которых размещен сам контент, а также правила его отображения и инструкции по загрузке картинок, видео и т. д.

Компьютер, на жестком диске которого размещены файлы сайта, обладает уникальным идентификатором -- IP-адресом (да и вообще, любой компьютер, подключенный к сети интернет напрямую, обладает уникальным IP-адресом).

Посредством программы Apache, компьютер способен отправить файлы сайта в ответ на запрос посетителя. Происходит это следующим образом: посетитель, зная IP-адрес компьютера-сервера, соединяется с ним и требует сайт; Apache, в ответ на это требование, отправляет файлы подключившемуся посетителю; браузер посетителя обрабатывает инструкции в полученных от Apache текстовых файлах и формирует привычный вид веб-страницы.

Обычно пользователь не знает IP-адрес компьютера, на котором расположен сайт. Он знает только доменное имя сайта, а о том, какой IP-адрес соответствует данному URL, знает NS-сервер.

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

На одном IP-адресе может быть размещено несколько сайтов с разными доменными именами.

Теперь следует тему NS-серверов и локальной среды разработки.

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

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

Последовательность обработки запроса посетителя сайта будет следующей: посетитель сайта ввел в браузер доменное имя, NS-сервер сообщил соответствующий IP, запрос по полученному IP пришел на компьютер к Apache, Apache, в соответствии своим настройкам, показал посетителю те или иные файлы.

Разница в настройках локальной среды разработки и глобального хостинга лишь в том, что в глобальном случае приходится настраивать NS-сервер для того, чтобы все компьютеры интернета знали IP сайта, а в случае использования локальной среды разработки для тестирования динамического сайта доступ к нему нужен только его разработчикам, поэтому никакие NS-сервера не требуются, разработчики будут править файл hosts, расположенный на жестком диске компьютера.

Файл hosts представляет собой не что иное как локальный NS-сервер. В нем можно указать доменное имя сайта и IP-адрес, ему соответствующий.

В Ubuntu данный файл расположен по следующему пути: /etc/hosts

Для того, чтобы его отредактировать, требуется ввести команду в терминале (Меню Ubuntu/Приложения/Стандартные/Терминал): sudo gedit /etc/hosts

Директива sudo включает режим суперпользователя для редактирования служебных файлов. Gedit -- это название программы для редактирования текстовых файлов в Ubuntu. Ну а /etc/hosts -- это путь к редактируемому файлу.

Слева написаны IP-адреса, справа, через табуляцию, -- доменные имена.

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

IP-адрес 127.0.0.1 -- это адрес данного локального компьютера.

Файл hosts есть и в Windows. Расположен он по адресу C:\WINDOWS\system32\drivers\etc\hosts и выполняет точно те же самые действия.

б) PHP. Это программа, которая устанавливается на сервер с целью обработки php-кода в текстовых файлах сайта. Посредством данной программы php-код преобразуется в HTML-инструкции и передается браузеру пользователя посредством Apache.

в) MySQL. Данная программа представляет из себя сервер баз данных, который обеспечивает хранение информации и доступ к ней.

2. Практическая часть

Установка Apache.

В Терминале необходимо выполнить команду:

sudo apt-get install apache2 libapache2-mod-auth-mysql

Команда apt-get install запускает менеджер пакетов в режиме установки нового ПО.

Через пробел следуют названия устанавливаемого ПО: apache2 libapache2-mod-auth-mysql -- самого Apache и дополнительного модуля.

Apache установлен.

Установка PHP.

Все, что необходимо для работы PHP, можно установить одной командой: sudo apt-get install php5-common php5 libapache2-mod-php5 php5-cli php5-cgi php5-mysql

Установка MySQL.

Команда для установки: sudo apt-get install mysql-server mysql-client. После установки MySQL потребует задать пароль пользователя root для подключения к базам данных.

На этом установка всех необходимых компонентов закончена.

Настройка сервера.

Для начала создадим каталог на жестком диске, где будут располагаться файлы сайтов. Например, пусть это будет папка /home/<username>/sites.

В директории sites будут располагаться поддиректории с файлами отдельных сайтов. Каждая поддиректория в sites будет представлять из себя хранилище файлов отдельного сайта.

В качестве примера будет налажена работа тестового сайта.

Для этого в каталоге sites администратор создаёт каталог test, содержащий две поддиректории: logs -- для хранения логов и www -- для хранения файлов сайта.

Пару слов о том, что же такое логи. В ОС семейства Linux принято писать подробные и человекопонятные отчеты об ошибках. В случае возникновения непредвиденной ситуации Apache запишет в папку logs отчет, из которого администратор сайта сможет понять, что именно пошло не так. Рекомендуется не забывать о полезности чтения логов.

На скриншоте представлен внешний вид замечательного файлового менеджера ОС семейства Linux под названием Midnight Commander. Запустить его можно, набрав в терминале комаду mc.

Теперь в папке www свежесозданного хранилища файлов сайта test необходимо создать текстовый файл index.php. В Midnight Commander для создания текстового файла можно воспользоваться комбинацией клавиш Shift + F4.

В файле index.php, для проверки, помещены следующие сроки:

<p>Привет, Мир!</p>

<?php echo phpinfo() ?>

Первая строка приведенного выше кода выводит на экран статический текст «Привет, Мир!» Вторая строка предназначена для проверки работоспособности PHP: если все в порядке, функция phpinfo() выведет таблицу с информацией о версии PHP, установленной на сервере.

Настройка Apache

При работе в операционной системе на базе Linux необходимо помнить о замечательной особенности: в Linux существует и свято соблюдается понятие прав доступа, и дальнейшая работа бессмысленна без рассмотрения этой важной темы.

Права доступа

У каталогов и файлов ОС, построенной на базе Linux, существует три степени доступа для трех категорий пользователей.

1. Категория владелец файла или каталога. В данном случае создание каталога /sites/test/www/logs и файла index.php, проводилось от имени пользователя, под которым вошли в операционную систему.

Увидеть имя пользователя, под которым ведётся работа, можно в окне Терминала.

Владельцем, созданных в сеансе активности пользователя nicolas каталогов и файлов, будет назначен пользователь nicolas.

Запустив файловый менеджер Midnight Commander в режиме суперпользователя командой sudo mc, можно получить доступ к работе со служебными файлами и каталогами. Однако, владельцем созданных файлов и каталогов в режиме суперпользователя будет назначен уже не пользователь nicolas, а суперпользователь root.

Работа в режиме суперпользователя идентифицируется знаком # в конце командной строки, в отличии от знака $ при работе в обычном режиме.

2. Следующая категория -- группа владельца. Дело в том, что все пользователи ОС Linux распределены по группам. Рассматриваемая категория доступа относится к пользователям, входящим в туже группу, что и владелец.

3. Третья категория носит название все остальные. В данную категорию входят пользователи не попавшие в первую и вторую категории. Для каждой из вышеописанных категорий пользователей может быть назначен свой уровень доступа к каталогам и файлам. Увидеть и отредактировать его можно, кликнув правой мышкой на папке или файле и выбрав пункт Свойства. Воспользоваться Терминалом и посмотреть информацию о правах доступа посредством команды ls -la <путь к папке или файлу>.

Выделенные на рисунке строки предоставляют полную информацию о правах доступа к папке test, которая расположена в каталоге /home/nicolas/sites/.

Обозначения:

Первая буква d информирует нам о том, что test -- это директория;

rwxr-xr-x -- обозначение степени доступа по три символа для каждой категории пользователей.

Необходимо затронуть тему степеней доступа.

В случае анализа прав доступа к директории первые три символа приведенной буквенно-дефисной последовательности (rwx) характеризуют степень доступа категории владелец и означают следующее: категория владелец имеет право просматривать содержимое директории test (символ r), создавать новые файлы и подкаталоги в данной директории (w), переходить в директорию test (x).

В случае анализа прав доступа для файла: r -- чтение файла, w -- запись в файл, x -- запуск файла.

Следующие три символа r-x характеризуют права одногруппников владельца на данную директорию. Символы r-x означают, что читать и переходить в данный каталог одногруппники владельца могут, но писать туда им запрещено, т. к. вместо w стоит прочерк.

Для всех остальных пользователей назначены точно такие же права, что и для одногруппников.

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

Ответ на этот вопрос можно найти в файле конфигурации Apache: /etc/apache2/apache2.conf. Параметры User и Group задают пользователя и группу, от имени которых будет действовать Apache.

Значения переменных ${APACHE_RUN_USER} и ${APACHE_RUN_GROUP} указаны в файле /etc/apache2/envvars:

Из скриншота видно, что Apache будет работать от имени пользователя www-data, состоящего в группе www-data.

Для сайта test владельцем папок и фалов которого является пользователь nicolas, www-data будет относится к третей категории пользователей, а именно все остальные.

Но часто возникает необходимость давать полный доступ (rwx) пользователю, от имени которого работает Apache, к файлам и папкам сайта. А значит, требуется выдать полный доступ третей категории пользователей (всем подряд), чего делать не рекомендуется из соображений безопасности.

Поэтому следует поступить следующим образом - добавить пользователя www-data к группе владельца файлов и папок сайта.

Для начала проверим, какая группа у владельца сайта. Воспользуемся командой ls -la:

Как видно из скриншота, группа владельца каталога с файлами сайта носит название nicolas.

Остается добавить пользователя www-data в группу nicolas. Сделать это можно командой: sudo usermod -a -G nicolas www-data

Воспользуемся командой для просмотра групп пользователя, чтобы убедиться в успехе проделанной операции: groups www-data

Теперь необходимо задать права для каталогов и файлов сайта, исходя из следующих соображений.

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

Одногруппники, одним из которых является пользователь www-data, от чьего имени работает Apache, должны иметь возможность просматривать содержимое каталогов и файлов, а также запускать файлы (r-x). Однако, нужно иметь ввиду, что для некоторых папок сайта (например, тех куда Apache записывает новые файлы) требуются полные права (rwx).

Категории пользователей все остальные можно вообще не давать никаких прав (--).

Следует выполнить следующие команды: sudo chmod -R 750 /home/nicolas/sites/

Данная команда дает полный доступ (rwx) для владельца директории sites (7), доступ на чтение и запуск (r-x) одногруппникам владельца (5) и запрещает доступ всем остальным (0 в конце).

Ключ -R говорит о том, что выполнить операцию смены прав доступа нужно рекурсивно, т. е. для всех файлов и подкаталогов внутри директории sites и для нее самой.

Теперь можно заняться непосредственно настройкой Apache.

В Ubuntu существует некая особенность в настройке нового сайта. Конфигурационный файл для каждого из сайтов, запускаемых с компьютера, должен быть свой. Хранятся они в папке /etc/apache2/sites-available.

Содержимое созданного при выполнении практической части test.conf:

В первой строке указывается доменное имя, по которому данный сайт будет доступен.

Вторая строка -- это синоним доменного имени, по которому осуществляется доступ к этому же сайту. В данном случае она закомментирована символом «#», и в настройках не участвует.

Ниже указывается адрес эл. почты администратора.

Настройки правил работы Apache с файлами сайта, расположенными в каталоге /home/nicolas/sites/test/www.

Строка с директивами Options -Indexes FollowSymLinks MultiViews задает опции работы Apache с указанной директорией:

-Indexes -- запрещает показ в браузере содержимого каталогов в случае отсутствия запрашиваемого файла.

FollowSymLinks MultiViews -- разрешения следовать по символическим ссылкам и разрешает поддержку многих языков.

AllowOverride All разрешает использовать файлы дополнительной конфигурации.htaccess.

Следующий далее набор директив разрешает доступ к файлам сайта.

ErrorLog /home/nicolas/sites/test/logs/error.log -- задает путь к файлу логов ошибок.

Необходимо вспомнить, что в Apache, по сути, один главный файл конфигурации - apache2.conf. А сторонние файлы конфигурации отдельных сайтов подключаются в этом файле следующими строками:

.

Ссылки на дополнительные файлы, находящиеся по адресам на скриншоте, расположены в папке etc/apache2/sites-enabled.

Далее необходимо воспользоваться командой подключения файла конфигурации хоста test: a2ensite test

Данная команда создаст ссылку на файл конфигурации. Кстати, отключить надоевший хост можно командой a2dissite test.

Теперь осталось выполнить всего два действия:

Перезапустить Apache командой /etc/init.d/apache2 restart и добавить название нового хоста в файл /etc/hosts и перенаправление на IP-адрес 127.0.0.1.

После перезапуска Apache в каталоге /home/nicolas/sites/test/logs/ создастся файл лога ошибок error.log. Владельцем данного файла будет являться суперпользователь root. Поэтому, чтобы была возможность просматривать его содержимое, нужно расширить права доступа третей категории пользователей, разрешив им чтение данного файла (r--), ведь работа ведётся от имени пользователя nicolas, и файлы пользователя root без соответствующего разрешения прочесть невозможно: sudo chmod -R 774 /home/nicolas/sites/test/logs/error.log

774 означает:

· root может читать, писать и запускать;

· одногруппники могут читать, писать и запускать;

· все остальные - только читать.

Вот и все, теперь можно запускать браузер, вводить URL test и наблюдать содержимое файла index.php, обработанного Apache.

Вверху страницы выводится текст, так что изменим кодировку с Wiestern на Unicode, после чего получаем

Заключение

В ходе выполнения части работы возникли проблемы, вызванные наосведомлённостью о значительной роли apache2.conf, вследствие чего при попытке запуска хостинга последний вполне закономерно не обнаруживался, так как ссылки на файлы конфигурации сайта test не были добавлены. Также попутно был найден великолепный файловый менеджер Midnight Commander, крайне удобный при работе в Ubuntu. В ходе выполнения работы использовалась Ubuntu 14.04 desktop с установленным VirtualBox Guest Additions.

Размещено на Allbest.ru

...

Подобные документы

  • Установка, разработка конфигурации и дальнейшее администрирование FTP-сервера на системе типа UNIX. Настройка операционной системы и удаленного управления. Основные команды; соединение и передача данных. Аутентификация, способы доступа к FTP-серверу.

    курсовая работа [1,3 M], добавлен 02.04.2015

  • Установка и настройка локального web–сервера и его компонентов. Конфигурационные файлы сервера Apache и их натройка. Настройка PHP, MySQL и Sendmail. Проверка работоспособности виртуальных серверов. Создание виртуальных хостов. Тест Server Side Includes.

    учебное пособие [6,2 M], добавлен 27.04.2009

  • Характеристика деятельности предприятия "Регион". Открытие общего доступа к папке или диску. Настройка DHCP-серверов в сети, обеспечивающая ряд преимуществ. Установка, тестирование и настройка Apache, MySQL. Организация терминального доступа к серверу.

    отчет по практике [131,6 K], добавлен 12.11.2014

  • Установка платформы виртуализации VirtualBox. Создание и настройка виртуальной машины VirtualBox с операционной системой Ubuntu. Ознакомление с операционной системой Ubuntu-desktop x32. Компиляция программ на С/С++ в терминале Ubuntu-desktop x32.

    лабораторная работа [2,6 M], добавлен 08.11.2022

  • Установка операционной системы Ubuntu. Создание виртуальной машины. Выбор атрибутов жесткого диска. Региональные параметры. Ввод параметров авторизации. Установка дополнения гостевой операционной системы. Список учетных записей, их права, вход в систему.

    лабораторная работа [2,6 M], добавлен 15.12.2013

  • Система управления базами данных (СУБД) MySQL. Установка, настройка и запуск MySQL. Окончательная настройка нового MySQL сервера. Основные утилиты и журнальные файлы. Работа с виртуальными хостами. Синтаксис для создания таблиц и управление данными.

    реферат [3,5 M], добавлен 24.06.2019

  • Скачивание и установка VMware Workstation 12 Player for Windows 64 – bit operating systems. Скачивание и установка HDP 2.3 on Hortonworks Sandbox for VMware. Настройка конфигурационных файлов. Поддержка целостности данных в HDFS. Проверка работы Hadoop.

    лабораторная работа [10,7 M], добавлен 19.09.2019

  • Общие сведения об операционной системе Linux. Анализ информации о серверах. Основные прикладные клиент-серверные технологии Windows. Сведения о SQL-сервере. Общая информация о MySQL–сервере. Установка и специфика конфигурирования MYSQL-сервера на LINUX.

    курсовая работа [1,3 M], добавлен 16.12.2015

  • Компоненты вычислительной системы, предоставляющие клиенту доступ к определенным ресурсам и обмен информацией. Функциональные возможности ядра веб-сервера Apache. Механизм авторизации пользователей для доступа к директории на основе HTTP-аутентификации.

    курсовая работа [105,6 K], добавлен 07.06.2014

  • Установка VirtualBox. Создание двух виртуальных машин с операционной системой CentOS. Настройка сетевых интерфейсов в режиме bridgeс и хоста как маршрутизатора для сети. Установка www-сервера. Настройка динамической маршрутизации по протоколу RIP.

    курсовая работа [807,5 K], добавлен 14.07.2012

  • Виртуальная файловая система. Файловая система Ext2fs (Linux ext2 File System). Использование операционной системы Linux. Настройка веб-сервера Apache. Управление Web-сервером. Комплекс системных программных средств, реализующих управление файлами.

    курсовая работа [167,4 K], добавлен 25.12.2013

  • Создание виртуальной машины для гостевой операционной системы Microsoft Windows Server 2003. Первоначальная настройка установленной операционной системы. Создание DHCP-сервера с диапазоном рабочих адресов. Настройка доменного имени для IP-адреса сервера.

    лабораторная работа [3,2 M], добавлен 20.12.2012

  • Виды серверов баз данных. MySQL как наиболее приспособленная для применения в среде СУБД. Хранимые и присоединенные процедуры. Операционная среда серверов. Согласованность чтения и тупиковые ситуации. Установка и настройка MySQL Server 5.6 на Windows 7.

    курсовая работа [3,0 M], добавлен 28.12.2015

  • Организационно-штатная структура офисного центра. Выбор и обоснование архитектуры сети. Сервисы конфигурации сервера. Выбор топологии сети. Установка и настройка Active Directory, DNS и файлового сервера под управлением СОС Windows Server 2012 R2.

    курсовая работа [2,5 M], добавлен 10.04.2017

  • Выбор и обоснование архитектуры локальной вычислительной сети образовательного учреждения СОС Ubuntu Server. Описание физической схемы телекоммуникационного оборудования проектируемой сети. Настройка сервера, компьютеров и программного обеспечения сети.

    курсовая работа [2,8 M], добавлен 12.06.2014

  • Быстрая загрузка, простая установка и автоматическое обновление чата. Поддержка форматирования текста. Аутентификация и различные пиктограммы пользователей. Установка и настройка чата под Linux. Подготовка к инсталяции чата. Безопасность на хостинге.

    лекция [3,4 M], добавлен 27.04.2009

  • Настройка и установка изолированной среды разработки для создания области, базы данных, ресурсов и ролей удалённого доступа к системам Cachе. Установка операционной системы и обязательных компонентов. Переключение пользователя на новую область при старте.

    презентация [783,5 K], добавлен 05.01.2014

  • Многопоточный веб-сервер с входным и обрабатывающими модулями. HTTP—протокол передачи гипертекста. Установка и настройка локального веб-сервера "OpenServer". Установка phpMyAdmin, конфигурация PHP. Настройка веб-сервера и виртуальных хостов, модулей.

    курсовая работа [3,2 M], добавлен 08.12.2013

  • Общее понятие, основные компоненты и функции операционной системы. Порядок установи операционной системы UbuntuLinux. Особенности инсталляции веб-сервера Nginx для передачи данных по протоколу HTTP. Установка системы управления базами данных MongoDB.

    курсовая работа [2,3 M], добавлен 11.06.2014

  • Разработка проводной локальной сети и удаленного доступа к данной сети с использованием беспроводной сети (Wi-Fi), их соединение между собой. Расчет времени двойного оборота сигнала сети (PDV). Настройка рабочей станции, удаленного доступа, сервера.

    курсовая работа [2,0 M], добавлен 10.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.