Библиотека сайта rus-linux.net
Установка web-сервера Apache под PCLinuxOS
Оригинал: Setting Up A Web Server On PCLinuxOSАвтор: YouCanToo
Дата публикации: ноябрь 2012 г.
Перевод: Семененко В.
Дата перевода: январь 2013 г.
Программа Apache является одним из самых популярных web-серверов, при этом самой привлекательной его чертой можно назвать то, что он абсолютно бесплатный. Помимо этого, данный сервер имеет большое число настроек, что расширяет его функционал и делает чрезвычайно гибким, так как с помощью Apache можно создавать огромное число самых разнообразных по типу web-сайтов. Сервер Apache используется повсеместно - от создания персональных страничек до серьезных сайтов корпоративного уровня.
Но, прежде чем мы начнем установку сервера Apache, немного уклонимся от темы и сделаем некоторые замечания.
Обратите внимание: запуск сервера на домашнем компьютере является довольно рискованным занятием с точки зрения безопасности, поэтому перед тем, как будет начата установка, проверьте, что на вашей операционной системе установлены все новейшие патчи и обновления. Данное руководство рассчитано на опытных пользователей, которые умеют редактировать текстовые конфигурационные файлы и открывать 80-й порт на локальном компьютере для доступа к нему извне, из Интернета. Как правило, рекомендуется использовать надежный файерволл с четко настроенными пользовательскими правилами для него. Еще не передумали?
Тогда приступим.
Что нам потребуется:
- Компьютер с запущенной на нем вашей любимой операционной системой Linux. Конечно же, это должна быть PCLinuxOS!
- Широкополосный доступ к Интернет (DSL или кабель).
Шаг первый. Установка пакета Apache.
Открываем менеджер пакетов Synaptic и выполняем в нем поиск (с помощью кнопки "Искать" (Search)) пакета по имени Apache.
Когда пакет и вес его зависимости будут найдены, в получившемся списке необходимо отметить следующие программы, которые будут установлены совместно с Apache:
- apache-base
- apache-mod_deflate
- apache-mod_perl
- apache-mod_php
- apache-mod_ssl
Убедитесь, что все отмеченные пакеты будут установлены вместе с их зависимостями, которые проконтролирует менеджер пакетов Synaptic. После этого нажимаем кнопку "Применить" (Apply). В открывшемся новом окне менеджер пакетов представит полную информацию о том, какие пакеты будут установлены, объем каждого из них, общий объем скачиваемых пакетов и сколько места на жестком диске они займут после установки. Еще раз проверяем правильность выполненных нами действий и снова нажимаем кнопку "Применить" (Apply).
Сразу после нажатия Synaptic запустит указанные для него задачи. Первоначально все необходимые пакеты будут скачаны из репозитория. Затем будет произведена их установка в систему PCLinuxOS.
После успешного завершения всех задач Synaptic можно закрыть, так как web-сервер Apache установлен в системе.
Шаг второй. Запуск web-сервера.
Открываем эмулятор консоли и переходим в систему под учетной записью root. Вводим в командной строке пароль суперпользователя и нажимаем Enter. При этом обратите внимание, что вводимый пароль не будет отображаться на экране монитора - это нормально и сделано из соображений безопасности.
Заметили, что текст в консоли изменил свой цвет с белого на красный, а значок приглашения командной строки поменялся с $ на #? Эти изменения говорят о том, что вы успешно перешли в учетную запись root и можете продолжать выполнение следующих команд.
Вводим первую команду, которой производится запуск сервера Apache (демон httpd
):
service httpd start
В консоли появится строчка: "Starting httpd: [OK]"
Данная строка говорит о том, что демон 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. Например, так:
Примечание переводчика: при поиске строки по ее номеру в файле httpd.conf
указанные в статье номера строк могут не совпадать с реальными номерами строк в редактируемом файле. Скорее всего, это связано с различиями в версиях пакета Apache. Поэтому надежнее и удобнее пользоваться поиском параметра по его имени, как показано выше.
В файле найдите строку "DocumentRoot" под номером 425. По умолчанию эта строка выглядит следующим образом:
DocumentRoot "/var/www/html"
В нашем случае необходимо изменить ее и привести к следующему виду:
DocumentRoot "/home/username/Music/"
Затем нужно изменить строку под номером 454 со значения:
Directory "/var/www/html"
на значение:
Directory "/home/username/Music/"
Нам потребуется изменить еще несколько строк в этом конфигурационном файле. Находим и изменяем строку с номером 475 AllowOverride None на AllowOverride All. Строку с номером 465 Options -Indexes FollowSymLinks MultiViews на Options Indexes FollowSymLinks MultiViews. В этой строке был удален префикс "-" перед словом Indexes. И последняя строка для изменения - под номером 504. В ней меняем значение AccessFileName .htaccess на # AccessFileName .htaccess. То есть, мы добавили значок "#" перед этой строкой (другими словами, закомментировали ее).
Теперь необходимо сохранить внесенные в этот файл изменения. Для этого в редакторе nano нажимаем сперва комбинацию клавиш Ctrl+O (сохраняем изменения), а затем комбинацию Ctrl+X для закрытия файла httpd.conf
и выхода из редактора nano.
Запомните, что каждый раз после изменения настроек конфигурационного файла httpd.conf
вам необходимо перезапустить web-сервер Apache, чтобы внесенные изменения вступили в силу. В консоли перезапуск сервера можно выполнить под учетной записью root с помощью следующей команды:
service httpd restart
В окне терминала у вас должно появиться следующее сообщение:
Напротив обеих записей должно стоять зеленое ОК. Если хотя бы одна из строк подсвечена красным "FAIL" или какой-либо другой ошибкой, вернитесь назад и проверьте, правильно ли вы ввели предыдущие команды, не совершили ли ошибок при редактировании конфигурационного файла httpd.conf
.
Снова запустите web-браузер (если вы успели к этому моменту его закрыть) и введите в его адресной строке:
http://localhost/
Если все было выполнено верно и без ошибок, то в окне браузера отобразится список файлов директории Music:
Примечание переводчика: браузер может и не открыть данную директорию, выдав ошибку 403 - Access allowed only for registered users. Выдержка из Википедия: "403 Forbidden — сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу...". В моем случае проблема была решена изменением прав доступа к директории Music на "Просмотр содержимого" для "Группа" и "Остальные":
Шаг четвертый. Поздравьте самих себя.
Вы только что запустили свой собственный домашний web-сервер!
Если ваша операционная система не защищена файерволлом, то вы можете получить доступ к запущенному на вашем компьютере web-серверу извне, с другого компьютера, введя в адресной строке web-браузера IP-адрес вашего компьютера. Если вдруг вы его не знаете, то воспользуйтесь сервисом What Is My IP для того, чтобы узнать его. Если сервис показал, что IP-адрес вашего компьютера 12.34.567.890
, то введите в адресной строке браузера http://12.34.567.890
.
Примечание переводчика: в моем случае внешний IP-адрес выглядел следующим образом (привожу для наглядности):
Если же ваш компьютер находится за файерволлом (наподобие беспроводного маршрутизатора), то вам потребуется открыть порт под номером 80 на файерволле и создать перенаправление траффика с этого порта на компьютер. Однако, эта задача выходит за рамки данной статьи.