- Apache для alt linux
- Вебсервер Apache2 на ALT Linux
- Содержание
- Установка
- Запуск
- Рабочая директория и юзеры
- Разрешаем имена хостов
- Конфигурирование веб-сервера
- Облегчаем себе жизнь
- Apache2/Configs
- Содержание
- Основные отличия от Debian [ править ]
- Варианты включения модуля [ править ]
- Быстрый [ править ]
- Надёжный [ править ]
- Пример: включение HTTPS и виртуальных хостов в ALT Linux Centaurus 6.0 [ править ]
- Включение Apache2 [ править ]
- Шаблон сайта [ править ]
- Добавление виртуального хоста [ править ]
- Добавление ещё одного виртуального хоста [ править ]
- Пример 2: включение CGI printenv [ править ]
- Пример 3: документация к Centaurus [ править ]
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
Да, много чего есть, но 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. В итоге должно получится примерно следующее:
Разрешаем имена хостов
Вебсервер у нас один. Однако, планируется поддержка нескольких сайтов. Естественно, у каждого должно быть своё имя.
Для разрешения доменных имён сайтов можно поднять какой нибудь 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/
- 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 :
Источник