Alt linux настройка apache

Обновлено: 04.07.2024

Apache - это популярнейший свободный веб-сервер. Состоянием на 2020 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного того сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA. Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.

Установить Apache в Linux можно с помощью нескольких команд, но программа предоставляет очень большое количество настроек, которые можно изменить, а также модулей, после включения которых она будет работать лучше. В этой статье будет рассмотрена установка и настройка Apache, в качестве основной системы мы будем использовать Ubuntu, но вы можете повторить эти действия в любом другом дистрибутиве. Будет рассмотрена не только установка самой программы, но и способы ее настройки, настройка виртуальных хостов apache, а также самые полезные модули.

Установка Apache

На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:

sudo apt update
sudo apt upgrade

Затем установка apache2:

sudo apt install apache2

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

sudo systemctl enable apache2

Настройка Apache

Уже прошло то время, когда конфигурация Apache хранилась в одном файле. Но оно и правильно, когда все распределено по своим директориям, в конфигурационных файлах легче ориентироваться.

Все настройки содержатся в папке /etc/apache/:

  • Файл /etc/apache2/apache2.conf отвечает за основные настройки
  • /etc/apache2/conf-available/* - дополнительные настройки веб-сервера
  • /etc/apache2/mods-available/* - настройки модулей
  • /etc/apache2/sites-available/* - настойки виртуальных хостов
  • /etc/apache2/ports.conf - порты, на которых работает apache
  • /etc/apache2/envvars

Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

Сначала давайте рассмотрим главный файл конфигурации:

apache

Timeout - указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.

KeepAlive On - очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.

MaxKeepAliveRequests 100 - максимальное количество запросов за одно соединение, чем больше, тем лучше.

KeepAliveTimeout 5 - таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.

User, Group - пользователь и группа, от имени которых будет работать программа.

HostnameLookups - записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.

LogLevel - уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error

Include - все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.

apache1

Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:

<Directory /адрес/в/файловой/системе/>
Параметр значение
</Directory>

Здесь доступны такие основные опции:

AllowOverride - указывает нужно ли читать .htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All - разрешать все, None - не читать эти файлы.

DocumentRoot - устанавливает из какой папки нужно брать документы для отображенияа пользователю

Options - указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All - разрешить все, FollowSymLinks - переходить по символическим ссылкам, Indexes - отображать содержимое каталога если нет файла индекса.

Require - устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied - всем запретить, Require all granted - всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.

Здесь все эти директивы не используются, поскольку нас устраивают значения по умолчанию, но вот в файлах .htaccess они могут быть очень полезны.

У нас остался файл /etc/apache2/ports.conf:

apache2

В нем только одна директива, Listen, которая указывает программе на каком порту нужно работать.

Последний файл /etc/apache2/envvars, его вы вряд ли будете использовать, в нем указанны переменные, которые можно использовать в других конфигурационных файлах.

apache3

Дальше поговорим немного о htacess. Совсем немного.

Настройка сервера Apache через htaccess

Файлы .htaccess позволяют настраивать веб-сервер на Ubuntu для поведения в определенной директории. Все инструкции, указанные в этом файле выполняются как бы они были обвернуты в тег <directory адрес_папки> если бы находились в основном файле.

Важно заметить, что для того, чтобы сервер читал инструкции из .htaccess настройки для этой папки в основном файле или файле виртуального хоста не должны содержать AllowOverride None, чтобы могли работать все настройки нужно AllowOverride All.

А в остальном, здесь может выполняться любая настройка сервера apache, от включения модулей, до обычного изменения доступа к папке. Поскольку все параметры мы уже рассмотрели просто приведем пару примеров:

Order Deny,Allow
Deny from all

Запрещает всем доступ к этой папке, важно применить, для папок с конфигурацией. Чаще всего .htaccess используется для работы с модулем mod_rewrite, который позволяет изменять запросы на лету:

RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Но это очень обширная тема и выходит за рамки этой статьи.

Настройка модулей Apache

Как я уже говорил, Apache - модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

apache4

Включить модуль можно командой:

sudo a2enmod имя_модуля

sudo a2dismod имя_модуля

После включения или отключения модулей нужно перезагрузить apache:

sudo systemctl restart apache2

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

apache5

Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

apache6

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

a2disconf имя модуля

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

sudo a2enmod expires
sudo a2enmod headers
sudo a2enmod rewrite
sudo a2enmod ssl

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

Настройка виртуальных хостов Apache

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

Настройки хостов Apache расположены в папке /etc/apache2/sites-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:

  • ServerName - основное имя домена
  • ServerAlias - дополнительное имя, по которому будет доступен сайт
  • ServerAdmin - электронная почта администратора
  • DocumentRoot - папка с документами для этого домена

apache7

Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:

sudo a2ensite test.site

Здесь test.site - имя файла виртуального хоста. Для отключения тоже есть команда:

sudo a2dissite test.site

Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:

Вот, ну теперь будет работать, открывайте браузер, проверяйте.

Выводы

Вот и все. Установка и настройка Apache linux завершена, вы можете использовать программу для размещения ваших сайтов. Более того, вы не просто настроили ее, вы разобрались со всеми подробностями и теперь знаете чуточку больше. Если у вас остались еще вопросы, пишите в комментариях!

Запуск

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Имеем:

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

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

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

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

Можно для надёжности создать RAID массив. Мы рассмотрим простой случай - софтверный RAID1 (зеркало). Софтверный потому что далеко не всегда удаётся найти драйвера для raid-контролллера, а если и находится, то ещё реже удаётся найти второй такой контроллер в случае выхода первого из строя, а это значит, что всю информацию мы теряем. Cофтверный RAID, где роль контроллера выполняет сама ОС, таких недостатков лишён. Для RAID1 понадобится два жёстких диска, крайне желательно одной модели. Система даст им обозначения sda и sdb (или hda, hdb если интерфейс IDE).

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

  1. Для каждого диска создаём одинаковое количество разделов, одинакового размера. В нашем случае sda1=sdb1=2Gb и sda2=sdb2=73Gb. Тип файловой системы для каждого раздела Linux RAID
  2. Добавляем созданные разделы к RAID
    1. Создать RAID. MD - устройство уровня RAID1. Выделяем объекты sda1, sdb1. Выбираем файловую систему swap. Создаётся устройство md0
    2. Создать RAID. MD - устройство уровня RAID1. Выделяем объекты sda2, sdb2. Выбираем файловую систему ext2/3. Точка монтирования "/". Опции = default. Создаётся устройство md1

    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

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

    10) Выбираем часовой пояс.

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

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

    Например, 3Com 3C905-TX не единожды себя компрометировала тем, что вроде бы работает и даже пингует сама себя, но в сеть через неё выходить не удавалось.

    - Доустанавливаем столь необходимый 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

    - Устанавливаем пакет bind

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

    FTP-сервер. vsftpd

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

    Прокси. Squid

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

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

    Web-сервера. Apache

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

    См. также статью Apache.

    СУБД. MySQL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    - Создаём виртуальный домен. Для этого добавляем следующие строки, учитывая что у нас пользователь vmail имеет uid=501 и gid=504 (если нет, то подставить свои):

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

    - Создадим файлы доступа к MySQL. Пользователь postfixadmin будет создан позже, при установке Postfix Admin. Создаём файл /etc/postfix/virt_alias.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 для управления почтовыми ящиками через веб-интерфейс

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

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

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

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

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

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

    Если возникла ошибка:

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

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

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

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

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

    - Устанавливаем антивирус 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.

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

    - Настраиваем доступ к БД 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, чтобы прокси сервер принимал запросы только из локальной сети и компьютера, где установлен:

    Настройка веб-сервера Apache под Linux

    1. Установка Apache под Linux

    Установка веб-сервера и публикация информационной базы для операционной Linux будет продемонстрирована на базе Ubuntu 18.04 LTS. Все, что касается настроить информационной базы не зависит от конкретной версии дистрибутива Linux. Установка же веб-сервера может отличаться.

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

    Итак, предполагается, что есть только что установленная операционная система Ubuntu 18.04 LTS без графического интерфейса пользователя.
    Перед тем как продолжить, нужно проверить доступные версии программного обеспечения дистрибутива. Выполняем команду:


    В выводе результата команды можно увидеть, что доступны обновления. Рекомендуются их обновить с помощью команды (подсказка "Run ‘apt list –upgradable’"):

    По завершению обновления пакетов приложений можно приступить к установке непосредственно веб-сервера.

    После этого нужно выполнить команду:


    Необходимо дождаться окончание выполнения команды и убедиться, что в момент установки никаких ошибок не возникло. В данном случае установка прошла без проблем.


    Далее нужно проверить, что помимо самой установки, веб-сервер запустился и готов обрабатывать запросы (для данной команды использование sudo не обязательно):

    В ответ можно увидеть, что состояние службы active (running). Это значит, что веб-сервер работает в штатном режим и можно переходить к публикации информационной базы с помощью командного интерпретатора bash, либо к генерации самоподписанного сертификата (если в этом есть необходимость).


    2. Выпуск самоподписанного сертификата

    После установки Apache в операционной системе уже должен быть установлен openssl как зависимость к дистрибутиву. Поэтому можно сразу приступить к генерации сертификата.

    Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:


    После чего требуется ввести команду генерации сертификата, где вместо <SERVER> нужно подставить имя компьютера, на котором планируется размещен Apache:


    Во время выполнения команды будет задано несколько вопросов. Для "Common Name (e.g. server FQDN or Your bane)" нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме "Country name" - здесь можно оставить по умолчанию).

    3. Публикация информационной базы

    Так в данной статье идет настройка публикации информационных баз без использования графического интерфейса, то публикация информационной базы будет также производиться из командного интерпретатора.

    Если до этого сервер "1С:Предприятие" был уже установлен на данном компьютере, то следующие 2 шага можно пропустить. Иначе в качестве подготовительной работы нужно скачать последний доступный дистрибутив платформы и распаковать его временную директорию с помощью команды:


    После разархивирования нужно инициировать процедуру установки пакетов.


    Как только все готово, необходимо перейти к публикации информационной базы. Для этого требуется перейти в директорию установленной платформы и выполнить команду:


    В директории платформы следом нужно выполнить команду:

    где нужно заменить:

    ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации

    ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие


    После этого следует перейти в директорию публикаций:


    С помощью любого удобного редактора нужно отредактировать файл 000-default.conf и добавить в самый конец файла следующий текст настройки:

    После добавления нужно сохранить и закрыть файл и выполнить команду для включения модуля ssl для Apache:


    И после этого нужно перезапустить Apache и убедиться, что ошибок не возникает.


    4. Проверка публикации

    Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:

    Читайте также: