Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Установка web-сервера Apache под PCLinuxOS

Оригинал: Setting Up A Web Server On PCLinuxOS
Автор: YouCanToo
Дата публикации: ноябрь 2012 г.
Перевод: Семененко В.
Дата перевода: январь 2013 г.

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

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

Обратите внимание: запуск сервера на домашнем компьютере является довольно рискованным занятием с точки зрения безопасности, поэтому перед тем, как будет начата установка, проверьте, что на вашей операционной системе установлены все новейшие патчи и обновления. Данное руководство рассчитано на опытных пользователей, которые умеют редактировать текстовые конфигурационные файлы и открывать 80-й порт на локальном компьютере для доступа к нему извне, из Интернета. Как правило, рекомендуется использовать надежный файерволл с четко настроенными пользовательскими правилами для него. Еще не передумали?

Тогда приступим.

Что нам потребуется:

  1. Компьютер с запущенной на нем вашей любимой операционной системой Linux. Конечно же, это должна быть PCLinuxOS!
  2. Широкополосный доступ к Интернет (DSL или кабель).

Шаг первый. Установка пакета Apache.

Открываем менеджер пакетов Synaptic и выполняем в нем поиск (с помощью кнопки "Искать" (Search)) пакета по имени Apache.

Поиск пакета Apache в репозитории

Когда пакет и вес его зависимости будут найдены, в получившемся списке необходимо отметить следующие программы, которые будут установлены совместно с Apache:

  • apache-base
  • apache-mod_deflate
  • apache-mod_perl
  • apache-mod_php
  • apache-mod_ssl

Убедитесь, что все отмеченные пакеты будут установлены вместе с их зависимостями, которые проконтролирует менеджер пакетов Synaptic. После этого нажимаем кнопку "Применить" (Apply). В открывшемся новом окне менеджер пакетов представит полную информацию о том, какие пакеты будут установлены, объем каждого из них, общий объем скачиваемых пакетов и сколько места на жестком диске они займут после установки. Еще раз проверяем правильность выполненных нами действий и снова нажимаем кнопку "Применить" (Apply).

Пакеты для установки Apache

Сразу после нажатия Synaptic запустит указанные для него задачи. Первоначально все необходимые пакеты будут скачаны из репозитория. Затем будет произведена их установка в систему PCLinuxOS.

Загрузка пакетов Apache

После успешного завершения всех задач Synaptic можно закрыть, так как web-сервер Apache установлен в системе.

Шаг второй. Запуск web-сервера.

Открываем эмулятор консоли и переходим в систему под учетной записью root. Вводим в командной строке пароль суперпользователя и нажимаем Enter. При этом обратите внимание, что вводимый пароль не будет отображаться на экране монитора - это нормально и сделано из соображений безопасности.

Вход под учетной записью root

Заметили, что текст в консоли изменил свой цвет с белого на красный, а значок приглашения командной строки поменялся с $ на #? Эти изменения говорят о том, что вы успешно перешли в учетную запись root и можете продолжать выполнение следующих команд.

ввод пароля учетной записи root

Вводим первую команду, которой производится запуск сервера Apache (демон httpd):

service httpd start

В консоли появится строчка: "Starting httpd: [OK]"

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

Данная строка говорит о том, что демон httpd (сервер Apache) был успешно запущен в системе. Если же вы увидите в консоли красную надпись "Failed", вернитесь назад и проверьте, правильно ли вы выполнили предыдущие действия. В нашем случае "горит" зеленый ОК, поэтому открываем web-браузер (как правило, это Firefox в системе Linux) и вводим в адресной строке следующую строчку:

http://localhost/

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

Локальный хост в браузере

Шаг третий. Настройка Apache для предоставления общего доступа к директории.

Допустим, вам необходимо, чтобы музыкальная коллекция, расположенная на только что установленном web-сервере, была доступна для скачивания из Интернет обычными посетителями. При этом данная музыкальная коллекция располагается совсем не на сервере, а в домашней директории пользователя Linux-системы, например, по пути /home/username/Music/. Чтобы настроить возможность доступа сервера к этой директории, необходимо отредактировать текстовый конфигурационный файл /etc/httpd/conf/httpd.conf с помощью простого редактора, такого как консольный nano. Этот файл является главным конфигурационным файлом web-сервера Apache и для того, чтобы иметь возможность его редактировать, необходимо обладать правами root. Когда вы его откроете в nano, то увидите, насколько он длинный и устрашающий. Но не пугайтесь! Большинство из параметров данного файла прекрасно работают по умолчанию. Нам же потребуется изменить всего несколько из них.

Примечание переводчика: при работе с консольным текстовым редактором nano для поиска нужной строки удобно пользоваться встроенным инструментом поиска, вызываемым комбинацией клавиш Ctrl+W. Например, так:

Поиск в редакторе nano

Примечание переводчика: при поиске строки по ее номеру в файле httpd.conf указанные в статье номера строк могут не совпадать с реальными номерами строк в редактируемом файле. Скорее всего, это связано с различиями в версиях пакета Apache. Поэтому надежнее и удобнее пользоваться поиском параметра по его имени, как показано выше.

В файле найдите строку "DocumentRoot" под номером 425. По умолчанию эта строка выглядит следующим образом:

DocumentRoot "/var/www/html"

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

DocumentRoot "/home/username/Music/"
Apache DocumentRoot

Затем нужно изменить строку под номером 454 со значения:

Directory "/var/www/html"

на значение:

Directory "/home/username/Music/"
Apache Directory

Нам потребуется изменить еще несколько строк в этом конфигурационном файле. Находим и изменяем строку с номером 475 AllowOverride None на AllowOverride All. Строку с номером 465 Options -Indexes FollowSymLinks MultiViews на Options Indexes FollowSymLinks MultiViews. В этой строке был удален префикс "-" перед словом Indexes. И последняя строка для изменения - под номером 504. В ней меняем значение AccessFileName .htaccess на # AccessFileName .htaccess. То есть, мы добавили значок "#" перед этой строкой (другими словами, закомментировали ее).

Apache AllowOverride

Apache Options Indexes

Apache AccessFileName

Теперь необходимо сохранить внесенные в этот файл изменения. Для этого в редакторе nano нажимаем сперва комбинацию клавиш Ctrl+O (сохраняем изменения), а затем комбинацию Ctrl+X для закрытия файла httpd.conf и выхода из редактора nano.

Запомните, что каждый раз после изменения настроек конфигурационного файла httpd.conf вам необходимо перезапустить web-сервер Apache, чтобы внесенные изменения вступили в силу. В консоли перезапуск сервера можно выполнить под учетной записью root с помощью следующей команды:

service httpd restart

В окне терминала у вас должно появиться следующее сообщение:

Apache restart

Напротив обеих записей должно стоять зеленое ОК. Если хотя бы одна из строк подсвечена красным "FAIL" или какой-либо другой ошибкой, вернитесь назад и проверьте, правильно ли вы ввели предыдущие команды, не совершили ли ошибок при редактировании конфигурационного файла httpd.conf.

Снова запустите web-браузер (если вы успели к этому моменту его закрыть) и введите в его адресной строке:

http://localhost/

Если все было выполнено верно и без ошибок, то в окне браузера отобразится список файлов директории Music:

Music Directory

Примечание переводчика: браузер может и не открыть данную директорию, выдав ошибку 403 - Access allowed only for registered users. Выдержка из Википедия: "403 Forbidden — сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу...". В моем случае проблема была решена изменением прав доступа к директории Music на "Просмотр содержимого" для "Группа" и "Остальные":

Права доступа к директории Music

Шаг четвертый. Поздравьте самих себя.

Вы только что запустили свой собственный домашний web-сервер!

Если ваша операционная система не защищена файерволлом, то вы можете получить доступ к запущенному на вашем компьютере web-серверу извне, с другого компьютера, введя в адресной строке web-браузера IP-адрес вашего компьютера. Если вдруг вы его не знаете, то воспользуйтесь сервисом What Is My IP для того, чтобы узнать его. Если сервис показал, что IP-адрес вашего компьютера 12.34.567.890, то введите в адресной строке браузера http://12.34.567.890.

Примечание переводчика: в моем случае внешний IP-адрес выглядел следующим образом (привожу для наглядности):

Сервис What Is My IP

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