Меню Рубрики

Установка web сервер altlinux

Вебсервер 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

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

источник

Установка Интернет-сервера на Alt Linux

Содержание

Общая информация

Эта пошаговая инструкция написана для установки Интернет-сервера на базе Alt Linux 4.0 Server (altlinux.ru). По ней можно также настраивать и Desktop версию, просто графический интерфейс не рассматривается.

  • сеть с тремя подсетями:10.0.0.0/24, 10.0.10.0/24, 10.0.20.0/24.
  • выход во внешний мир (есть спул адресов 192.168.100.16/28, т.е. у нас 14 внешних адресов).
  • компьютер с двумя сетевыми картами.
Читайте также:  Установки bios при установке с диска

Хотим: получить полностью функциональный Интернет-сервер со следующими возможностями (см содержание):

Установка ОС, настройка маршрутов

— Загрузившись с CD/DVD выбираем язык меню — F2 и по желанию исследуем его пункты. Начав установку, иногда можно получить сообщение, что невозможно найти диск с дистрибутивом. Жмём Retry — находит.- Следуем шагам мастера установки:1) Выбираем язык установки и принимаем лицензионное соглашение.2) Указываем как будем менять раскладку клавиатуры.а3) Разбиение жесткого диска. На ваш выбор, в зависимости от планируемых задач. Мы сделаем простую разбивку. Для этого выберем профиль подготовки диска «вручную». Жёсткий диск у меня 75 Гб и RAM 1 Гб, под раздел подкачки принято выделять объём в полтора раза превышающий объём оперативной памяти, я сделал в 2 раза больше:

Раздел Объём
swap 2000 Mb
/ остаток

Последовательно выполняем шаги:

    Для каждого диска создаём одинаковое количество разделов, одинакового размера. В нашем случае sda1=sdb1=2Gb и sda2=sdb2=73Gb. Тип файловой системы для каждого раздела Linux RA >

4) Для дистрибутива Alt Linux 4.х Desktop выбираем тип установки: сервер.

5) Устанавливаем загрузик в md1.

6) Задаём пароль для Администратора системы (пользователь root).

7) Заводим системного пользователя, например, pavel.

8) Выбор групп пакетов: SMTP server, Proxy, NTP, POP3/IMAP, FTP.

9) Настраиваем сетевые карты. Интерфейс eth0 для локальной сети настроим позже, сейчас настраиваем доступ в Интернет через eth1 на закладке «IP интерфейсы»:

  • СтавиМ крестик на «Интерфейс включен»
  • IP-адрес 192.168.100.18
  • Маска сети 255.255.255.240
  • Шлюз: 192.168.100.17

На закладке «Общие сетевые настройки»:

  • Имя машины: teo.mynetwork.ru
  • Сервер DNS: 217.116.158.3

— После перезагрузки заходим пользователем root. Проверяем работоспособность сетевых настроек. Для этого пингуем адреса Интернета и проверяем внешний DNS сервер пингуя какой-нибудь узел по имени (само сабой мы должны быть 100% уверены, что все эти ресурсы сейчас доступны):

Если пинги не проходят, то, скорее всего, проблема с сетевой картой.

— Доустанавливаем столь необходимый Midnight Commander:

— Обновляем установленную ОС через Интернет (не обязательно, но желательно). Перед обновлением раскомментируем источники обновления на Master и Sisyphus (в последнем могут быть нестабильные пакеты, т.ч. сомневающиеся могут оставить этот источник закоментированным, но там находится более свежее ПО), перечисляемые в /etc/apt/sources.list.d/server.alt.list.

Если прокси требует пароля, то:

начинаем полное обновление системы:

— Добавляем маршруты между нашими подсетями, где 10.0.0.1 маршрутизатор между локальными подсетями:

Оба синтаксиса команд эквивалентны. Добавим эти строки в конец файла /etc/rc.d/rc, чтобы команды выполнялись при загрузке ОС.- Обновлять и доустанавливать пакеты можно и без доступа в интернет. Как это настроить можно узнать, прочитав Решение проблем в Linux

— Настраиваем eth0. В /etc/net/ifaces/eth0/options:

Применяем настройки и проверяем, пингуя локальную станцию:

— Теперь можно заходить на сервер с рабочего места администратора по протоколу ssh, если из Windows, то можно использовать PuTTY (см статью Терминальное подключение к серверу Linux с помощью ключей ssh без паролей). Подключаемся пользователем pavel и меняем пользователя на root:

В Alt Linux 4 настройка некоторых параметров системы и служб значительно упростилась благодаря использованию альтераторов (alterator), позволяющим делать это через web-интерфейс. Посмотрим, что уже установлено:

Посмотрим, что вообще есть:

Можно удалить некоторые ненужные альтераторы:

Теперь можно зайти на страницу администрирования по адресу https://10.0.0.2:8080, указав имя ползователя «root». На данном этапе посетим только следующие страницы:

  1. «Web-интерфейс — Сервер» редактируем параметры сертификата и пересоздаём его, нажав соответсвующую кнопку. Нажимаем кнопку «Перезапустить HTTP-сервер»
  2. «Статистика — Сетевой трафик» . Запускаем службу и включаем в автозапуск.
  3. «Дата и Время» — «Дата и Время». Проверем, что правильно установлены дата и время.

Firewall (брендмауэр). iptables

— Делаем из компьютера маршрутизатор. Раньше для этого нужно было изменить 0 на 1 в /proc/sys/net/ipv4/ip_forward. Теперь, когда для управления сетевыми настройками используется проект etcnet, нужно указать в /etc/net/sysctl.conf:

— На этом можно закончить шаг 2 и приступить к шагу 3, а можно дать доступ к Интернету для наших пользователей в локальной сети. Для этого добавим правило прямого доступа (без прокси сервера) к Интернет для адреса 10.0.0.244

Параметр MASQUERADE равен SNAT —to 192.168.100.18, но не привязывается к IP адресу, что удобней, однако у меня были случаи когда с ним правило не работало, а с IP адресом работало. В причинах я не разбирался, но имейте в виду при отладке.

— Проверяем добавленную запись

— Если ошиблись, то удаляем, изменяем и прописываем заново

где 1 это номер правила по порядку, или удаляем все правила из таблицы POSTROUTING

— В целях отладки можно добавить правило выпускающее команды ping и traceroute от клиентов во внешний мир

Читайте также:  Установка пищалок на заднюю полку

— Запомнить конфигурацию файрвола можно командой iptables-save, восстановить iptables-restore, хранится она в /etc/sysconfig/iptables.

— После установки прокси-сервера нужно не забыть добавленные правила убрать, иначе останется возможность попадать в Интернет в обход прокси.

DNS. Bind

На этом шаге мы будем поднимать свой DNS сервер, если этого не требуется и достаточно внешнего, то этот шаг можно пропустить. Однако, если у нас не будет своего DNS, то нужно будет просить кого-нибудь (напр. провайдера) разместить у себя нашу зону teo.mynetwork.ru и у провайдера ip адреса прописать обратную зону.

— Добавляем DNS серверы на административной странице (в веб интерфейсе) «Сеть» — «Общие настройки сети» или в файле /etc/resolv.conf:

FTP-сервер. vsftpd

  • В Alt Linux vsftpd можно настроить через альтератор в web-интерфейсе. Зайдя на страницу «Серверы — Сетевой суперсервер», убираем ограничение «только с адресов» (оставляем поле пустым). На странице «Серверы — FTP-серве» ставим нужные галочки в «Общих настройках» (у меня все кроме анонимного пользователя), нажимаем «Принять». Добавлем локального пользователя и даём ему право на запись.

Прокси. Squid

  • Автоматизировать загрузку squid при старте компьютера можно через альтератор в web-интерфейсе.
  • На административной веб-странице «Серверы — Прокси-сервер» добавляем squid в автозапуск.
  • Можно установить альтератор для lightsquid:

но там статистика будет не столь подробная, как если его устанавливать отдельно.

Web-сервера. Apache

— На ряду с административным защищённым веб-сервером у нас будет работать и обычный. Для этого на административной странице переходим: «Серверы — Web-сервер — запустить. службу». Не забудем поставить галочку на «Запуск при старте системы».

— Файл настройки находится в /etc/httpd2/conf/httpd.conf, но собственно ничего в нём редактировать не придётся.

СУБД. MySQL

— Можно посмотреть как он запустился в /var/log/mysql/info:

— Подсоединяемся к служебной базе MySQL c одноимённым названием:

— Меняем пароль рута на new_pass (или другой) и выходим. Служебная команда PASSWORD зашифровывает пароль.

— Подсоединяемся к серверу ещё раз, только теперь с паролем

— Из таблицы user удаляем запись пользователя ‘%’ и (какая есть), т.к. эта запись предоставляет доступ любому пользователю.

— Т.к. мы изменили пароль пользователя root, то теперь не сможет работать logrotate. Для исправления добавляем в конец файла /var/lib/mysql/my.cnf соответсвующие параметры. Здесь же закоментируем строку skip-networking :

— Проверим, осуществляется ли автоматический запуск mysqld:

видим, что нет. Добавляем и проверяем:

ещё раз добавляем и проверяем:

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

— Смотрим журнал /var/log/mysql/info. Заметим, что теперь прослушивается порт 3306:

— Если работу с MySQL планируется вести постоянно, то полезно будет установить phpMyAdmin (http://php-myadmin.ru)

Несколько полезных команд

SHOW TABLES; показать таблицы в БД
SHOW COLUMNS FROM db; показать поля таблицы db
USE mysql; перейти в БД mysql
SELECT host,user FROM user; показать поля host, user таблицы user
DROP TABLE transport; удалить таблицу transport
DELETE FROM user WHERE user=’acct’ AND host=’%’; удалить конкретную запись
UPDATE db SET Delete_priv=’Y’ WHERE user=’acct’; изменить значение поля в записи
FLUSH PRIVILEGES; применить внесённые изменения
mysql -u root -p12345 postfix
ALTER TABLE mailbox DROP uid; удаляем поле uid из таблицы mailbox

Больше информации в спец статье по MySQL.

Почтовый сервер. Postfix

См. также как Postfix устанавливается под Debian. Большинство настроек схожи

Postfix отвечает за приём почтовых сообщений и раскладки их по каталогам на сервере. Отдавать письма будет Courier.

Установка Postfix c поддержкой TLS и MySQL

— Начиная с версии 2.2 поддержка TLS встроена в Postfix. Список поддерживаемых баз данных можно узнать выполнив:

— Доустанавливаем поддержку MySQL:

К сожалению, в Alt Linux даже после установки этого пакета, информация, выдаваемая postconf не обновилась (в отличае от Debian).

— Заводим пользователя vmail:

— Проверяем какой номер пользователя (uid) и группы (gid)в ситсеме:

— Вносим изменения в /etc/postfix/main.cf. Обратите внимание, что перед названием параметра не должно быть пробела или табуляции, иначе (как я выяснил на собственном опыте) параметр игнорируется:

— По умолчанию Postfix ограничивает размер почтового ящика 50 Мб и максимальный размер письма 10 Мб. Если нужно изменить эти параметры, то добавляем (исправляем если есть) строки:

— Создаём виртуальный домен. Для этого добавляем следующие строки, учитывая что у нас пользователь vmail имеет u >

— Создадим указанный каталог для спула:

— Создадим файлы доступа к MySQL. Пользователь postfixadmin будет создан позже, при установке Postfix Admin. Создаём файл /etc/postfix/virt_alias.cf:

— Создаём файл /etc/postfix/virt_domain.cf:

— Создаём файл /etc/postfix/virt_mailbox.cf:

— Создаём файл /etc/postfix/transport.cf:

указывая в hosts IP адрес, мы принуждаем Postfix соединяться с MySQL через порт, если же указать localhost, то он будет стараться соединиться через сокет, а так как оба чрутятся в разные каталоги, то найти сокет он не сможет и выдаст в /var/log/maillog ошибку:

— Чтобы проверить, что мы задали верные параметры соединения с базой, выполним:

— В /etc/postfix/master.cf убираем комментарии со строк (второй строки может не быть):

— Посмотреть настройки Posfix, отличающиеся от настроек по умолчанию, можно командой:

Так мы можем убедиться, что все заданные параметры вступили в силу, если нет, то скорее всего при его определении мы не убрали перед ними пробелы.- Перезапускаем Postfix:

Postfix Admin

Устанавливаем Postfix Admin для управления почтовыми ящиками через веб-интерфейс

Берём последнюю версию пакета с http://sourceforge.net/projects/postfixadmin (на данный момент это 2.2.0).

-Доустанавливаем пакет работы со строками для PHP и telnet для проверки:

— Распаковываем и копируем всё содержимое каталога postfixadmin-2.2.0 в /var/www/apache2/html/postfixadmin:

— Заходим на настроичную страничку: http://10.0.0.2/postfixadmin/setup.php и, если ошибок в настройках нет (иначе подскажет где они), создаём администраторский почтовый ящик, скажем postadmin@teo.mynetwork.ru

— Переименовываем настроичный скрипт setup.php в setup.php.disabled и заходим на http://10.0.0.2/postfixadmin/login.php. Регистрируемся, указывая в «Имя (название ящика)» только что созданный postadmin@teo.mynetwork.ru и получаем доступ к административной странице.

— Добавляем домен teo.mynetwork.ru и почтовые ящики test и test2.

— Можно сделать резервную копию всех таблиц в виде SQL выражений. Для этого на странице администратора нажать кнопку Backup.

— Теперь в консоли проверяем как работает доставка почты, т.е. smtp:

— Идём в наш почтовый каталог /var/spool/vmail/ там, если не был, появился каталог test2@teo.mynetwork.ru, а в нём (в каталоге new) сообщение.

Шифрование соединения и принимаемой почты.

— Для шифрования параметров аутонтификации (по умолчанию имя пользователя и пароль передаются открытым текстом) доустанавливаем поддержку TLS:

То, согласно подсказкам, выполняем:

— Конфигурируем Postfix. Добавляем настройки tls в /etc/postfix/main.cf:

Какими ключами будем подписывать сервер пока не важно. Их можно будет создать отдельно для Postfix, или взять от Courier, когда их там создадим, или оставить от Apache, как мы сейчас сделаем. Копируем /etc/httpd2/conf/ssl.crt/server.crt в /etc/httpd2/conf/ssl.ca/ca.crt (создав этот каталог), таким образом создав фиктивный главный (подписывающий) ключ.Проверяем:

— В случае сбоев смотреть лог-файл:

— Для выхода из less нажмите q.

ClamAV (проверка почты на вирусы)

Мы установим из пакета, но можно скачать исходники с http://www.clamav.net

— Устанавливаем антивирус ClamAV:

— Смотрим в файле /etc/clamsmtpd.conf какой порт clamsmtpd прослушивает (Listen) и на какой отдаёт обратотанную почту (OutAddress)

— Добавляем в /etc/postfix/main.cf:

— Добавляем в /etc/postfix/master.cf:

На этом с Postfix всё. Можно ещё раз проверить с помощью telnet, что почта, проходя через антивирусную защиту, доходит в ящик пользователя.Дополнительную информаци по настройке postfix, защите от спама и полезные ссылки смотрите в дополнительной статье по Postfix.

Courier-IMAP с поддержкой MySQL.

Сourier-IMAP отвечает за отдачу почты пользователю. Исходники можно взять с ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/

Устанавливаем Courier.

После установки дополнительно требуемого пакета tcl видим сообщение:

Выполняем предложенные команды:

— Смотрим куда установилась поддержка MySQL (зависит от версии пакета) :

— Настраиваем доступ к БД MySQL. Для этого добавляем поддержку установленного модуля в /etc/courier-authlib/authdaemon.conf:

— Редактируем файл /etc/courier-imap/imapd:

— Редактируем файл /etc/courier-imap/pop3d:

— Проверяем можем ли забрать почту, т.е. работоспособность pop3:

Как видим, одно письмо на 470 байт лежит. Можно его просмотреть командой retr 1 (конечно перед quit)

Устанавливаем Cyrus-SASL2 для шифрования отдаваемой почты.

— Расскажем SASL, где и как искать пароли, когда к нему обратится postfix. Аутонтификацию будем проводит методом saslauthd. Для этого создадим файл /usr/lib/sasl2/smtpd.conf следующиго содержания:

— Альтернативный метод — auxprop. Чтобы использовать его, нужно в /usr/lib/sasl2/smtpd.conf прописать:

Создаём сертификат

— Если в /var/lib/ssl/certs/ лежат файлы pop3d.pem и imapd.pem, то это и есть сертификаты и они уже созданы, чтобы пересоздать их со своими данными удалим эти файлы и отредактируем /etc/courier-imap/pop3d.cnf, где ST короткое (2-3 буквы) название города:

— На этом настройка почтового сервиса закончена.

Полезные ссылки

Введение сервера в «боевой» режим

Если мы устанавливали и отлаживали свой сервер, как часто бывает, в тестовом режиме, паралельно с работающим старым сервером, то перед установкой сервера в «боевой» режим нужно внести следующие изменения:

— Изменить настройки сетевых интерфейсов на боевые (ip адрес, маска, шлюз, DNS).

— Прописать реальные имена в /etc/hosts.

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

— SAMS. Исправить IP адрес на административной странице «SAMS»: «Администрирование SAMS»- Postfix. Исправить IP адреса в параметре mynetworks в файле /etc/postfix/main.cf

— Courier. Если менялось имя почтового домена, то исправить в /etc/courier-authlib/authdaemon-mysql.conf и пересоздать сертификаты.

— Apache. Исправить директивы NameVirtualHost и VirtualHost в конфигурациях виртуальных хостов (если создавались).

источник

Добавить комментарий