Apache для alt linux

Apache для alt linux

Если Web-интерфейс повсеместно используется для управления всевозможными техническими системами, то что мешает использовать его для управления работой коллектива? На сайте организации можно разместить много полезной информации: новости, распоряжения руководства, образцы документов, прайс-листы, список телефонов и т. д. Доступ к сайту осуществляется обычным способом: через браузер по протоколу http. Сайт будет виден только пользователям локальной сети.

Без каких-либо сложных настроек мы можем создать такой сайт.

ALT Linux Server включает два Web-сервера — Apache и Apache2 — мы используем, конечно, более современный.

Запустим его навсегда (из консоли на сервере, подключившись по SSH):

# service httpd2 start

# chkconfig httpd2 on

Попробуем на клиентском компьютере набрать в адресной строке браузера http://server1. Если получим на экране надпись «It works!» (Он работает), значит мы все сделали правильно.

Файл index.html, который обеспечивает вывод этой надписи, находится в папке /war/www/apache2/html. Если мы заменим index.html своим (с разметкой только в HTML), добавим другие html-файлы, рисунки, zip-архивы, все, что необходимо для сайта организации, то мы этот сайт создадим. Время до его появления будет определяться временем подготовки нужных материалов (рис. 8.9).

Рис. 8.9. Так может выглядеть локальный сайт организации

В принципе, на этом раздел можно было бы закончить.

Но, допустим, нам мало «чистого» HTML, мы хотим использовать еще PHP 5.

Посмотрим, что у нас есть из относящегося к web-серверу Apache:

# apt-cache search apache

Вывод будет примерно такой:

alterator-apache2 — alterator module for apache2
apache2 — The most widely used Web server on the Internet
apache2-common — Files common for apache2 installations
apache2-httpd-prefork — Traditional model for Apache HTTPD 2.1
apache2-mod_ssl — SSL/TLS module for the Apache HTTP server
httpd-alterator — Apache HTTP Server (alterator edition)
libapr1 — Apache Portable Runtime shared library
libaprutil1 — Apache Portable Runtime Utility shared library
libssl6 — OpenSSL shared libraries
openssl — OpenSSL tools
perl-CGI — Simple CGI class for Perl
python-modules-logging — Logging package for Python
apache — The most widely used Web server on the Internet
apache-common — Files common for apache and apache-mod_perl installations
apache-devel — Module development tools for the Apache web server
apache-manual — Apache Manual
apache-mod_perl — Russian Apache Web server with a built-in Perl interpreter
apache-suexec — Suexec binary for Apache
apache2-devel — Module development tools for the Apache web server
apache2-httpd-worker — High speed threaded model for Apache HTTPD 2.1
apache2-manual — Apache Manual
apache2-mod_auth_mysql — mod_auth_mysql module for Apache 2 HTTP Server
apache2-suexec — Suexec binary for Apache
libapr1-devel — Apache Portable Runtime development files
libaprutil1-devel — Apache Portable Runtime Utility development files
libssl-devel — OpenSSL include files and development libraries
libsubversion — Shared libraries required for subversion
mailgraph-apache — apache-related config and control(8) call
mailgraph-apache2 — apache2-related config and control(8) call
mailgraph-common — Simple mail statistics for Postfix
mod_auth_mysql — mod_auth_mysql module for Apache 1.3 HTTP Server
mod_geoip — GeoIP database access module for Apache
mod_ssl — An SSL module for the Apache Web server
nginx — Fast HTTP server
openssl-doc — OpenSSL documentation and demos
perl-Apache-DBI — Persistent database connections for mod_perl
queuegraph-apache — apache-related config and control(8) call
queuegraph-apache2 — apache2-related config and control(8) call
subversion — A version control system
subversion-perl — Perl bindings for Subversion
subversion-server-common — Common files required to maintain subversion server
subversion-server-dav — Subversion server module for Apache
subversion-server-standalone — Subversion standalone server

Читайте также:  Права доступа linux chmod

Да, много чего есть, но PHP (и, кстати, mySQL) мы здесь не найдем (они есть в ALT Linux 4.0 Server, но не в Office Server).

На диске ALT Linux Office Server мы тоже ничего не найдем. Но это нас не остановит. Придется поступить так, как было описано в разделе 1.5.2. Нам потребуется установочный DVD диск ALT Linux 4.0 Server или его ISO-образ.

Скопируем с него папку ALTLinux на сервер в папку /home.

Посмотрим, что находится в этой папке и добавим в файл /etc/apt/sources.list.d/sources.list строку:

rpm file:/home ALTLinux classic

Дадим команду на подключение нашего нового местного репозитория:

Установим PHP 5:

# apt-get install apache2-mod_php5

Установится около десяти компонетов.

# service httpd2 restart

Для проверки создадим файл /war/www/apache2/html/info.php с таким содержимым:

Наберем в браузере клиентской машины адрес http://server1/info.php.

Скорее всего, мы увидим надпись в окне «PHP is working», но функция phpinfo() работать не будет.

Вернемся в консоль сервера и дадим команду:

Получим диагностическое сообщение:

Warning: phpinfo() has been disabled for security reasons in /var/www/apache2/html/info.php on line 3

Отключена из соображений безопасности. Правильно, безопасность превыше всего.

Источник

Вебсервер Apache2 на ALT Linux

Просмотры

Имеем ОС ALT Linux 4.1.1, обновлённую до бранча.

Содержание

Установка

Устанавливаем apache2 из пакета:

Собственно, вебсервер установлен.

В процессе установки создаётся директория /etc/httpd2/conf, где по дефолту располагаются конфиги. Если имеется предыдущая неудачная установка с кривыми конфигами и кучей мусора, то перед установкой директорию необходимо переименовать или удалить:

Запуск

Запустить Apache2 можно непосредственно из управления системой или из командной строки:

Теперь можно набрать в строке адреса веб-браузер заветное http://localhost/ и получить дежурную фразу: It works!

Если вызвать команду без параметров (или с неправильным параметром), то в консоли будет выведен список доступных опций, таких как остановка и перезапуск.

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

или набросать симлинков на запуск/остановку в /etc/rcX.d в соответствующих runlevel, по полной должно получиться примерно так:

Напомню, что дефолтовый запуск ALT Linux с графическим интерфейсом идёт на 5 уровне, остановка на 0 и перезагрузка на 6. Первая буква в симлинках означает соответственно Start и Kill, а число — порядок запуска/остановки.

Рабочая директория и юзеры

В этом разделе предположим, что веб-разработчик имеет имя webdev и входит в группу webdev. Сразу условимся, что это единственный пользователь (точней, веб-разработчик), имеющий права на изменение файлов тестового «хостинга» на данном компьютере.

Рабочую директорию создадим в /home. Нет никакого желания пихать её внутрь пользовательской директории, и ещё больше не хочется оставлять в системной.

Определимся со структурой, что где будет жить:

К всем файлам внутри /home/www наш юзер webdev должен иметь доступ на запись. Так как это единственный веб-разработчик на этом компьютере, сделаем его владельцем директории /home/www и всего что в ней будет лежать.

Вебсервер (пользователь apache2) должен как минимум, читать директорию /home/www. Для этого введём apache2 в группу webdev, для чего правим файл /etc/group. В итоге должно получится примерно следующее:

Читайте также:  Регулятор громкости звука для windows

Разрешаем имена хостов

Вебсервер у нас один. Однако, планируется поддержка нескольких сайтов. Естественно, у каждого должно быть своё имя.

Для разрешения доменных имён сайтов можно поднять какой нибудь DNS-сервер, однако, это выходит за рамки данной статьи. Добавляем по простому, в /etc/hosts.

Здесь Ctrl+D завершает ввод текста. Не забудьте оставить пустую строку или две после. Так как неизвестно, есть ли пустая строка в конце файла, перед вводом своих записей я добавил её на всякий случай.

Не следует давать имена, соответствующие именам сайтов, размещённым в инете, иначе просто на них не попадёте 🙂

Конфигурирование веб-сервера

Мы уже условились, что часто востребованные конфиги отдадим нашему webdev. Для начала поправим строчку, описывающую расположение конфигов виртхостов в httpd.conf, в самом конце. Существующую строку я закомментировал. Должно получиться так:

Однако, нам нужно сохранить пару дефолтовых конфигов. Сделаем на них симлинки:

Впрочем, из второго нужна только одна строчка NameVirtualHost *. А первый описывает дефолтовый виртхост, тот самый, который отдаёт «It works!». Можете вместо симлинков нарисовать свой файлик. В любом случае, следует учесть, что имя конфига дефолтового сайта должно быть ранее всех других по алфавиту. Потому оно начинается с нескольких нулей.

Теперь конфиги виртхостов:

Аналогично делаем и для остальных. Для мегаприверженцев русских кодировок: чтоб не спрашивать про крякозябрики, укажите нужный DefaultCharset!

Посмотреть настройки, с которыми был скомпилирован suexec можно командой:

Тестовый файлик для test0.local:

Открываем веб-браузер, набираем в адресной строке http://test0.local/ и видим на страничке:

Это тестовый сайт test0.local

Облегчаем себе жизнь

Рекомендую шаблон конфига виртхоста положить куда то недалеко, например, в папку /home/www/.sites, тогда при создании нового виртхоста, достаточно будет его скопировать и указать имя/алиас(ы) сервера и документрут. Не забудьте, что имя файла конфига обязательно должно заканчиваться на .conf, иначе Апач его проигнорирует.

Итак, файлы сайтов и конфиги мы отдали нашему пользователю. Теперь он может их править и создавать новые виртхосты Чтоб наш пользователь webdev смог без проблем перезагрузить вебсервер, дадим ему необходимые права на рестарт вебсервера и релоад без ввода пароля, для этого добавим пару строк. Должно получиться примерно следующее:

Осталось бросить на десктоп ярлык с командой

Впрочем, более правильным будет вместо restart дать команду reload

По желанию (по кнопке «Дополнительно») отключить отклик запуска и поставить галку «Выполнять в терминале»

Источник

Apache2/Configs

Система конфигурации apache2

Начиная с apache2-2.2.4-alt14 для конфигурирования apache2 используется доработанная Debian`овская схема.

Содержание

Основные отличия от Debian [ править ]

Ссылки с описанием Debian`овского оригинала я не нашёл.

    Конфигурационные файлы conf/— передраны из Debian без существенных изменений. По их образу и подобию созданы conf/. Содержимое:

      conf/mods-available/ .load — файлы обеспечивающие загрузку модулей и содержащие описание их зависимостей. Примерной формат:
    • conf/mods-available/ .conf — конфигурация для модуля (если она нужна).
    • conf/sites-available/*.conf — конфигурации для сайтов (виртуалхостов).
    • conf/ports-available/*.conf — конфигурирования слушаемых портов.
    • conf/extra-available/*.conf — конфигурирования компонент общих для всех сайтов. За прототип взято содержимое conf/extra из апстримного apache-2.2.4 (не всё: часть переехала в другие каталоги).
    • conf/-enabled/*. — симлинки на соответствующие conf/-available/*. , используемые в httpd2.conf .
    • conf/include/*.conf — конфигурационные файлы включаемые в другие через:

Варианты включения модуля [ править ]

На примере модуля dir.

Быстрый [ править ]

Возможно отключение при выполнении / usr/sbin/a2chkconfig , если требование отключить его будет присутствовать в каком либо из /etc/httpd2/conf/mods-start.d/*.conf ( a2chkconfig может вызываться при установке/обновлении/удалении связанных с apache2 пакетов).

Важно! По умолчанию в дистрибутивах ALT Linux утилита sudo не настроена.

Надёжный [ править ]

Пример: включение HTTPS и виртуальных хостов в ALT Linux Centaurus 6.0 [ править ]

Задача: на машине с одним IP-адресом развернуть виртуальный хостинг сайтов в нескольких доменах; обеспечить поддержку работы по HTTPS.

Замечание 1. При использовании SSL можно выдать только один сертификат на все виртуальные хосты, так что предупреждения о несоответствии ключа доменному имени избежать почти нельзя (исключение: все доменные имена из одного и того же домена, а сертификат выписан на wildcard вида *.общее.доменное.имя ).

Замечание 2. Файл /etc/httpd2/conf/sites-available/ports_all.conf после установки 6.0 отличается от файла в пакете по умолчанию: вместо

И это очень хорошо. Если вы установили пакет из Сизифа и вам нужны виртуальные хосты с SSL, проще всего привести ports_all.conf в такое же состояние, иначе задать виртуальные хосты на разных портах (в данном случае, на 80 и 443) будет невозможно.

Вместо редактирования этого файла можно было создать свой, «включить» его, «выключить» ports_all.conf , да вдобавок позаботиться о том, чтобы ports_all не включался по умолчанию в каталоге настроек по умолчанию (в случае Centaurus имеется файл /etc/httpd2/conf/sites-start.d/000-default.conf , в котором надо удалить строчку ports_all=yes . Если не сделать последнего, ports_all будет включаться при каждом запуске a2chkconfig (в т. ч. при обновлении apache).

Включение Apache2 [ править ]

Через альтератор или вручную с помощью

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

Необходимо также убедиться, что пакет apache2-mod_ssl установлен (или установить его):

Шаблон сайта [ править ]

Несмотря на «Замечание 1», настройки SSL придётся задавать каждому виртуальному хосту. Более того, собственные настройки виртуального хоста для HTTP и для HTTPS практически совпадают. Следовательно, разумно будет завести три файла: базовый конфигурационный, содержащий include-ы настроек для HTTP и для HTTPS. Все три файла разместим в /etc/httpd2/conf/sites-available .

Базовый файл для сайта srv ( srv.conf ):

Содержательные настройка сайта srv ( srv.include ):

Общие настройки SSL ( ssl.include ):

Если для HTTP и HTTPS-версий сайтов ещё что-нибудь различается (например, ведутся раздельные журналы), эти настройки надо выносить из srv.include и явно указывать в srv.conf ,

Добавление виртуального хоста [ править ]

Принято располагать контент виртуальных хостов в каталоге /var/www/vhosts/ . Поэтому для начала надо создать подкаталоги, упомянутые в настройках:

Затем «разрешить» этот хост:

В результате в каталоге /etc/httpd2/conf/sites-enabled образуются следующие символьные ссылки:

Первые два файла ( 000-default.conf и 000-default_https.conf ) — ссылки на сайты по умолчанию (для HTTP и HTTPS соответственно) а ports_all.conf включает виртуальный хостинг на двух портах. Сайты по умолчанию показываются при обращении к серверу по имени, не совпадающему ни с одним виртуальным хостом (например, по Ip-адресу). Если выключить 000-default.conf и 000-default_https.conf , сайтом по умолчанию станет какой-то виртуальный хост.

Apache рекомендует после этого запустить service httpd2 condreload , однако в нашем случае сгодится и restart :

С этой поры по адресу http://srv должно быть видно содержимое /var/www/vhosts/srv/htdocs .

Добавление ещё одного виртуального хоста [ править ]

Если все виртуальные хосты типовые, добавление нового сводится к подмене имени и созданию каталогов (изменения происходят в каталоге /etc/httpd2/conf/sites-available :

Пример 2: включение CGI printenv [ править ]

Чтобы разрешить CGI, необходимо включить соответствующий модуль:

Разумеется, пакеты apache2-cgi-bin-printenv и apache2-cgi-bin должны быть установлены:

Однако http://localhost/cgi-bin/printenv покажет ошибку. Дело в том, что файл /var/www/cgi-bin/printenv после установки Centaurus — символьная ссылка на неисполняемый файл в /usr/share/apache2/cgi-bin :

Для управления тестовыми CGI-сценариями имеются соответствующие control-сценарии. В Centaurus достаточно выполнить

После этого файл станет исполняемым и сценарий заработает:

Пример 3: документация к Centaurus [ править ]

Документация к Centaurus 6.0 доступна по 80 порту на сервере. Включается этот доступ с помошью дополнительного блока настроек (т. н. «extra») под названием addon.d :

Источник

Читайте также:  Установка windows с внешнего жесткого диск
Оцените статью