Обзор операционной системы linux centos 8

Введение

Ранее я уже рассказывал, как публиковать файловые базы 1С. Схема простая и рабочая, но ее можно упростить еще больше, исключив систему Windows вообще. Все, что нужно для публикации баз 1С, есть в Linux. Рассказываю подробно, как это сделать. Вот что нам понадобится для публикации 1С баз:

  1. Операционная система Linux. В моем случае это будет Centos 8 или любой ее форк.
  2. Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем.
  3. Веб сервер Apache, который в rpm дистрибутивах носит имя httpd.
  4. Шрифты Microsoft’s Core Fonts.

Собственно и все. Набор софта простой и достаточно узкий. Ничего лишнего. Отдельно не забываем про клиентские лицензии 1С. Они могут быть установлены как на сервере, так и у клиентов. В моем примере лицензии будут клиентские, так что на сервер я их устанавливать не буду. Я проверял данное решение как на аппаратных usb ключах в локальной сети, так и софтовых по одной на каждом клиенте.

Введение

Думаю, не нужно каких-то подробных пояснений на тему того, что такое Докер и зачем он нужен. Сейчас этот продукт у всех на слуху. В частности, он используется по дефолту в популярном кластерном продукте по автоматическому развертыванию и управлению контейнерами — Kubernetes. По сути он стал стандартом отрасли, хотя поддерживает работу не только на базе docker, но по факту в основном используют его. Я это все к тому, что docker с нами надолго :)

Пару тройку лет назад считалось, что docker лучше всего разворачивать на Ubuntu. С Centos были некоторые проблемы, но где-то в середине развития 7-й ветки они все были решены. Подробности я уже не помню, но по факту сейчас нет принципиальной разницы. Я запускаю контейнеры как на ubuntu, так и на centos. Обычно разработчики просят убунту, так как она им привычна. Лично я сам предпочитаю Centos. Там еще пока нет рекламы в syslog.

Введение

Есть замечательный человек Remi Collet, который создал репозиторий пользующийся огромной популярностью у пользователей операционной системы CentOS. Познакомится с новостями репозитория можно на блоге Remi Collet.

В статье будет рассказано про использование репозитория на системах CentOS 7 и 8.

Les RPM de Remi repository поддерживает последние версии MySQL и PHP (бэкпорты федоровских rpm)

Пакеты этого репозитория необходимо использовать с осторожностью, так как они заменяют базовые пакеты

В другой статье вы можете узнать как использовать репозиторий WebtaticEL для CentOS 7. В нем так же используются последние версии PHP, но к сожалению там нет многих удобств которые есть у Remi. Например, используя репозиторий Remi можно всегда иметь последнюю версию phpMyAdmin.

Менеджер файлов

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

Я лично не вижу надобности в отдельном файловом менеджере. Без лишних телодвижений вы получаете ftp доступ к сайту, а в случае включения ssh доступа, учетная запись получает возможность подключаться к серверу по sftp протоколу. Я считаю это наиболее простым, безопасным и удобным способом работы с файлами сайтов напрямую. Под windows есть удобная программа для этого — WinSCP.

Advantages of atop

Atop is an ASCII full-screen performance monitor which can log and report the activity of all server processes. One feature I really like is that atop will stay active in the background for long-term server analysis (up to 28 days by default). Other advantages include:

  • Shows resource usage of ALL processes, even those that are closed/completed.
  • Monitors threads within processes & ignores processes that are unused.
  • Accumulates resource usage for all processes and users with the same name.
  • Highlights critical resources using colors (red).
  • Will add or remove columns as the size of the display window changes.
  • Includes disk I/O and network utilization.
  • Uses netatop kernel module to monitor TCP & UDP and network bandwidth.

Once atop is launched, by default, it will show system activity for CPU, memory, swap, disks and network in 10 second intervals. In addition, for each process and thread you can analyse CPU utilization, memory consumption, disk I/O, priority, username, state, and even exit codes.

Репозитории

Команда yum/dnf использует репозитории для своей работы

Очень важно понять, как с ними работать в системе. Конфиги репозиториев CentOS описывают пути, по которым система может брать установочные файлы для пакетов, а также правила работы с самими репозиториями

Примеры команд для управления репозиториями

1. Просмотр репозиториев.

Список включенных репозиториев:

yum repolist

Список включенных и отключенных репозиториев:

yum repolist all

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

yum repolist -v

Список отключенных репозиториев можно посмотреть отдельно командой:

yum repolist disabled

2. Добавление репозитория командой.

Для добавления репозитория мы можем воспользоваться командой yum-config-manager, для этого сначала нужно установить yum-utils:

yum install yum-utils

Теперь вводим:

yum-config-manager —add-repo <репозиторий>

Например:

yum-config-manager —add-repo https://yum.mariadb.org/10.5/centos8-amd64 

* на основе ссылки https://yum.mariadb.org/10.5/centos8-amd64 будет добавлен репозиторий.

3. Добавление репозитория через файл.

Также мы можем создать конфигурационный файл с описанием репозитория. Все файлы находятся в каталоге /etc/yum.repos.d. Например, создадим файл с добавлением репозитория mariadb:

vi /etc/yum.repos.d/mariadb.repo

name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1

* где:

  • name — произвольное имя репозитория.
  • baseurl — путь, по которому система может забирать пакеты из репозитория.
  • gpgkey — путь до открытого gpg-ключа. Нужен для проверки цифровой подписи пакетов.
  • gpgcheck — нужно ли проверять цифровую подпись пакетов.
  • enabled — опция включает или выключает репозиторий.

4. Временное включение и отключение репозиториев во время операций (на примере репозитория EPEL).

Отключить во время обновления:

yum update —disablerepo=epel

Включить во время обновления:

yum update —enablerepo=epel

Отключить во время установки:

yum install —disablerepo=epel

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

yum install —enablerepo=epel

5. Постоянное отключение/включение репозиториев.

Мы можем отключить наш репозиторий командой:

yum-config-manager —disable <имя репозитория>

* для выполнения данной команды мы должны установить в систему пакет yum-utils.

Например:

yum-config-manager —disable yum.mariadb.org_10.5_centos8-amd64

Разрешить репозиторий можно той же командой с опцией —enable:

yum-config-manager —enable yum.mariadb.org_10.5_centos8-amd64

Также мы можем выполнить настройку в конфигурационном файле, например:

vi /etc/yum.repos.d/mariadb.repo

Находим:

enabled=1

… и меняем на:

enabled=0

* в данном примере 1 разрешает репозиторий, а 0 запрещает.

6. Настройка опций.

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

yum-config-manager —save —setopt=<имя репозитория>.<имя опции>=<значение>

Например:

yum-config-manager —save —setopt=mariadb.module_hotfixes=1

Обслуживание

1. Удалить кэш для списков пакетов в репозиториях, а также загруженные исходники для пакетов:

yum clean —enablerepo=* all

Также мы можем удалить кэш только для определенных репозиториев, например:

yum clean all —disablerepo=»*» —enablerepo=»epel,nginx-thirdparty»

* обязательно, сначала должен следовать disablerepo, после enablerepo.

2. Сформировать кэш списков пакетов в репозиториях:

yum makecache

Шаг 12: Выберите среду и компоненты для установки

Теперь вам нужно будет настроить програмное обеспечение

Выберите, хотите ли вы установить CentOS с графическим интерфейсом (GUI) или минимальную установку без графического интерфейса. Вы также можете дополнительно выбрать нужные компоненты

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

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

Работает ли Total Commander в CentOS

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

Используйте Krusader — двухпанельный файловый менеджер для Linux:

Перейдите на страницу загрузки программы.

Прокрутите ее до появления активных ссылок на файлы с расширением «rpm».

Скачайте Binary Package.
Установите приложение. Ранее я рассматривал установку софта в Ubuntu

Обратите внимание на четвертый способ. В CentOS отличия будут незначительны.
В числе программ появится Krusader и вы сможете не менять свои предпочтения после перехода на Linux.

Вы предпочитаете CentOS или вам больше по вкусу Ubuntu?

Общая настройка системы

Установка пакетов

1. Обновляем CentOS:

dnf update

2. Устанавливаем репозиторий EPEL и дополнительные пакеты для загрузки и распаковки:

dnf install epel-release wget unzip

Время

1. Устанавливаем часовой пояс:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* данной командой мы установим часовой пояс по московскому времени.

2. Устанавливаем и запускаем службу для автоматической синхронизации времени:

dnf install chrony

systemctl enable chronyd

systemctl start chronyd

Настройка безопасности

1. Отключаем SELinux:

sed -i «s/SELINUX=enforcing/SELINUX=disabled/» /etc/selinux/config

setenforce 0

* первая команда редактирует конфигурационный файл, чтобы SELinux не запускался автоматически, вторая — отключает его разово. Подробнее читайте статью Как отключить SELinux.

2. Открываем необходимые порты в брандмауэре:

firewall-cmd —permanent —add-port={80,443,8080}/tcp

firewall-cmd —permanent —add-port={20,21,60000-65535}/tcp

firewall-cmd —permanent —add-port={25,465,587}/tcp

firewall-cmd —reload

* 80, 443 и 8080 порты для веб-сервера; 20, 21 порты нужны для работы FTP; 60000-65535 также необходимы для работы FTP (динамические порты для пассивного режима); 25, 465 и 587 порты нужны для работы почтового сервера по SMTP; последняя команда перезапускает firewalld, чтобы применить новые правила. Подробнее про настройку firewalld.

Установка сервера 1С и СУБД Postgresql на CentOS7

Рассмотрим установку сервера 1C на операционной системе линукс в связке с СУБД Postgresql.

  • В качестве ПО будут использованы:

  • Операционная сисетма CentOS7;
  • Суревер 1С:Предприятие 8.3.12-1685
  • СУБД Postgresql 9.6

Для нормальной работы сервера 1С требуется, правильная настройка DNS в сети, мы рассмотрим настройку без применения DNS сервера.

Прописываем соответствие DNS имени сервера и ip-адреса в файле /etc/hosts

cat /etc/hosts


127.0.0.1 1c-linux

Так же необходимо это соответствие будет прописать на все клиентах , которые будут работать с сервером 1С. В операционной системе Windows это прописывается в файле — C:\Windows\System32\drivers\etc\hosts

192.168.1.111 1c-linux

Установка необходимых зависимостей:

sudo yum install policycoreutils-python wget bzip2 net-tools \

 unixODBC ImageMagick fontconfig-devel

Устанавливаем шрифты microsoft

wget http://li.nux.ro/download/nux/dextop/el7/x86_64/ \

msttcore-fonts-installer-2.6-1.noarch.rpm

sudo yum localinstall msttcore-fonts-installer-2.6-1.noarch.rpm

Установка и настройка Postgresql

Для установки дистрибутивов PostgreSQL Pro необходимо подключить репозитории.

sudo rpm -ivh http://1c.postgrespro.ru/keys/ \

postgrespro-1c-centos96.noarch.rpm

Далее устанавливаем непосредственно дистрибутив PostgreSQL.

sudo yum install postgresql96 postgresql96-server

Логинимся под пользователем postgres

su postgres

Инициализируем служебные базы данных с русской локализацией.

initdb —locale=ru_RU.UTF-8 -D /var/lib/pgsql/9.6/data/

Утилита initdb находится в директории /usr/pgsql-9.6/bin/

После успешной инициализации базы, запускаем демона postgresql (из под root или пользователя, который может выполнять команды с sudo):

sudo systemctl enable postgresql-9.6

systemctl start postgresql-9.6

Изменение настроек сервера Postgresql
В файле /var/lib/pgsql/9.6/data/pg_hba.conf изменим строку

host all all 0.0.0.0/0 trusted

на 

host all all 0.0.0.0/0 md5

Эта дает возможность авторизовыватьсяпользователям СУБД по паролю и запрещает свободный доступ к СУБД.

Задаем пароль пользователю postgres, для того чтобы была возможность подключаться к серверу удаленно

Для этого подключаемся к СУБД локально под пользователем postgres

su – postgres

/usr/pgsql-9.6/bin/psql

Задаем пароль с помощью SQl-запроса:

ALTER USER postgres WITH ENCRYPTED PASSWORD "passwd";

Отключаемся от СУБД и перезапускаем сервер

sudo systemctl restart postgresql-9.6

Установка сервера 1С:Предприятие

Скачиваем из личного кабинета 1С дистрибутивы для вашей операционной системы, архив будет выглядеть вот так — rpm64_8_3_12_1685.tar.gz

Распаковываем архив:

tar xzf rpm64_8_3_12_1685.tar.gz -С /tmp/

И получаем дистрибутивы которые надо будет установить в систему

ls /tmp/

произвощдим установку:

cd /tmp/

sudo yum localinstall *.rpm

Запускаем сервер

systemctl start srv1cv83

systemctl enable srv1cv83

Сервер установлен

теперь необходимо установить клиента и добавить информационную базу через интерфейс клиента

После запуска клиента выбираем создать новую информационную базу, далее выбираем на сервере 1С и указываем настройки сервера:

  • Кластер серверов : 192.168.1.111 — адрес сервера 1С
  • Имя информационной базы : test — любое имя
  • Защищенное соединение : Выключено
  • Тип СУБД : Postgresql
  • Сервер базы данных : 192.168.1.111 — адрес сервера postgresql
  • имя базы данных : test — любое имя
  • Пользователь базы : postgres
  • Пароль пользователя : «пароль, который быз задан в СУБД»

Все остальное без изменений и жмем Далее.

Если все проходит без ошибое, то база будет создана и к ней можно подключаться и работать

Установка и настройка сервера Zabbix

Переходим к установке самого Zabbix сервера.

Установка

Сначала установим репозиторий последней версии Zabbix. Для этого переходим на страницу https://repo.zabbix.com/zabbix/ и переходим в раздел с самой последней версией пакета — затем переходим в ubuntu/pool/main/z/zabbix-release/ — копируем ссылку на последнюю версию релиза:

* в моем случае это ссылка на https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb. Чтобы понять, какое кодовое название нашей системы, вводим команду cat /etc/lsb-release | grep DISTRIB_CODENAME.

Скачиваем файл репозитория командой:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1%2Bbionic_all.deb

Устанавливаем его:

dpkg -i zabbix-release_4.2-1+bionic_all.deb

Обновляем списки пакетов:

apt-get update

Устанавливаем сервер, вводя команду:

apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-get

Настройка базы данных

Входим в оболочку ввода sql-команд:

mysql -uroot -p

Создаем базу данных:

> CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;

* мы создали базу zabbix.

Создаем пользователя для подключения и работы с созданной базой:

> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbixpassword’;

* в данном примете мы создали пользователя zabbix с доступом к базе zabbix и паролем zabbixpassword.

Выходим из sql-оболочки:

> \q

В составе zabbix идет готовая схема для СУБД MySQL/MariaDB или postgreSQL. В нашем случае, нам нужен MySQL.

Для применения схемы переходим в каталог:

cd /usr/share/doc/zabbix-server-mysql/

Распаковываем архив с дампом базы:

gunzip create.sql.gz

Восстанавливаем базу их дампа:

mysql -v -u root -p zabbix < create.sql

* после ввода команды система запросит пароль. Необходимо ввести пароль, который мы задали после установки mariadb.

Настройка zabbix

Открываем конфигурационный файл zabbix:

vi /etc/zabbix/zabbix_server.conf

Добавляем строку:

DBPassword=zabbixpassword

* мы настраиваем портал на подключение к базе с паролем zabbixpassword, который задали при создании базы для zabbix.

И проверяем следующие строки:


DBName=zabbix

DBUser=zabbix

* имя базы и пользователя должны быть zabbix (как мы и создали в mariadb).

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

mkdir /etc/zabbix/zabbix_server.conf.d

Также создаем каталог для логов и задаем владельца:

mkdir /var/log/zabbix-server

chown zabbix:zabbix /var/log/zabbix-server

Запуск zabbix-server

Разрешаем автозапуск сервера мониторинга:

systemctl enable zabbix-server

После запускаем сам сервер zabbix:

systemctl start zabbix-server

Настройка nginx

При установке zabbix-web файлы портала копируются в каталог /usr/share/zabbix. Наш веб-сервер работает с каталогом /var/www/html.

Меняем это — открываем конфигурационный файл nginx:

vi /etc/nginx/sites-enabled/default

Редактируем параметры root и set $root_path:


root /usr/share/zabbix;

set $root_path /usr/share/zabbix;

Перезапускаем nginx:

systemctl restart nginx

Установка портала для управления Zabbix

В следующем окне внимательно смотрим на результаты проверки нашего веб-сервера — справа мы должны увидеть все OK. Если это не так, проверяем настройки и исправляем предупреждения и ошибки, после перезапускаем страницу F5 для повторной проверки настроек.

Когда все результаты будут OK, кликаем по Next Step:

В следующем окне мы оставляем настройки подключения к базе как есть — дополнительно прописываем пароль, который задали при создании пользователя zabbix. После нажимаем Next Step:

* в нашем случае, пароль был zabbixpassword;

В следующем окне оставляем все как есть:

… и нажимаем Next Step.

В последнем окне мы проверяем настройки и кликаем Next Step.

Установка завершена — нажимаем Finish:

В открывшемся окне вводим логин Admin и пароль zabbix (по умолчанию) — откроется окно со сводной информацией по мониторингу:

Тюнинг веб-сервера

PHP

Открываем на редактирование следующий файл:

vi /etc/php.ini

И правим следующее:

upload_max_filesize = 512M

post_max_size = 512M

short_open_tag = On

date.timezone = «Europe/Moscow»

Перезапускаем php-fpm и httpd:

systemctl restart php-fpm

systemctl restart httpd

NGINX

Открываем на редактирование следующий файл:

vi /etc/nginx/nginx.conf

И внутри секции http добавляем:

client_max_body_size 512M;

После перезапускаем nginx:

systemctl restart nginx

Подробнее про тюнинг NGINX в статье Практические советы по тюнингу веб-сервера NGINX.

Postfix

Чтобы отправляемая почта меньше попадала в СПАМ, необходимо выполнить следующие шаги:

  1. Прописать PTR-запись.
  2. Создать запись SPF.
  3. Настроить DKIM. 

Настройка OpenVPN-клиента

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

Создание сертификатов

На сервере генерируем сертификаты для клиента. Для этого снова переходим в каталог easy-rsa:

cd /usr/share/easy-rsa/3

Запускаем еще раз vars:

. ./vars

Создаем клиентский сертификат:

./easyrsa gen-req client1 nopass

./easyrsa sign-req client client1

* в данном примере будет создан сертификат для client1.

Мы должны увидеть запрос на подтверждение намерения выпустить сертификат — вводим yes:

  Confirm request details: yes

После появится запрос на ввод пароля для ключа ca:

Enter pass phrase for /usr/share/easy-rsa/3/pki/private/ca.key:

Вводим его.

На сервере скопируем ключи во временную директорию, выполнив последовательно 3 команды:

mkdir /tmp/keys

cp pki/issued/client1.crt pki/private/client1.key pki/dh.pem pki/ca.crt pki/ta.key /tmp/keys

chmod -R a+r /tmp/keys

* сертификаты скопированы в каталог /tmp для удобства переноса их на клиентский компьютер.

Сертификаты готовы для скачивания.

На клиенте

В качестве примера, выполним подключение к нашему серверу с компьютеров Windows и Linux. Более подробно процесс настройки клиента описан в инструкции Настройка OpenVPN клиента.

Windows

1. Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

2. Переходим в папку C:\Program Files\OpenVPN\config.

Копируем в нее файлы ca.crt, client1.crt, client1.key, dh.pem, ta.key из каталога /tmp/keys на сервере, например, при помощи программы WinSCP.

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

rm -R /tmp/keys

3. Возвращаемся к компьютеру с Windows, открываем блокнот от имени администратора и вставляем следующие строки:

client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo no
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0

* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы.

Сохраняем файл с именем config.ovpn в папке C:\Program Files\OpenVPN\config.

4. Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора.

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

Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.

5. Для автозапуска клиента, открываем службы Windows, находим и настраиваем службу OpenVPNService для автозапуска:

Linux

1. Устанавливаем клиента одной из команд.

а) для Rocky Linux / CentOS:

yum install epel-release

yum install openvpn

б) для Ubuntu / Debian:

apt-get install openvpn

2. Создаем каталог:

mkdir /etc/openvpn/client

И переходим в него:

cd /etc/openvpn/client

Копируем в каталог файлы ca.crt, client1.crt, client1.key, dh.pem, ta.key из каталога /tmp/keys на сервере, например, при помощи утилиты scp:

scp [email protected]:/tmp/keys/* .

* где admin — имя пользователя, под которым можно подключиться к серверу по SSH; 192.168.0.15 — IP-адрес сервера.

Для закрытых ключей разрешаем доступ только для владельца:

chmod 600 client1.key ta.key

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

rm -R /tmp/keys

3. Создаем конфигурационный файл:

vi /etc/openvpn/client/client.conf

client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo no
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0

* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы.

4. Разово запустим клиента:

cd /etc/openvpn/client

openvpn —config /etc/openvpn/client/client.conf

Соединение должно выполниться. Мы можем увидеть предупреждения — по желанию, межете их исправить самостоятельно.

5. Прерываем выполнение подключения комбинацией Ctrl + C и запустим клиента в качестве службы:

systemctl enable openvpn-client@client —now

Проверить, что соединение состоялось можно пинганув сервер по VPN-адресу:

ping 172.16.10.1

Using atop – system & process monitor

A good place to start would be to read the man pages:

man atop

Other useful commands:

Launch with average-per-second total values:

atop -1

Launch with active processes only:

atop -a

Launch with command line per process

atop -c

Launch with disk info

atop -d

Launch with memory info

atop -m

Launch with network info

atop -n

Launch with scheduling info

atop -s

Launch with various info (ppid, user, time)

atop -v

Launch with individual threads

atop -y

Once atop is running, press the following shortcut keys to sort processes:

  • a – sort in order of most active resource.
  • c – revert to sorting by cpu consumption (default).
  • d – sort in order of disk activity.
  • m – sort in order of memory usage
  • n – sort in order of network activity

Правила брандмауэра по умолчанию

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

Чтобы узнать выбранную зону, выполните команду firewall-cmd с флагом –get-default-zone, как показано ниже:

Он покажет активную зону по умолчанию, которая контролирует входящий и исходящий трафик для интерфейса.

Зона по умолчанию останется единственной активной зоной до тех пор, пока мы не дадим firewalld никаких команд для изменения зоны по умолчанию.

Мы можем получить активные зоны, выполнив команду firewall-cmd с флагом –get-active-zone, как показано ниже:

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

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

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

Установка Freepbx 15 на Centos 8

Начнем с самого простого 15-я версия на php 7. Качаем архив с официального сайта.

# cd ~
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz

Распаковываем архив.

# tar xfz freepbx-15.0-latest.tgz

Устанавливаем Freepbx 15 на Centos 8.

# cd freepbx
# ./start_asterisk start
# ./install -n

Если на mysql установили пароль root, то запускать установку следует с указанием пароля.

# ./install -n --dbuser root --dbpass password

Перезапустите httpd.

# systemctl restart httpd

На этом установка freepbx закончена. Можно идти в веб интерфейс и проверять. Сначала создадите учетную запись администратора freepbx, потом зайдете под ней в панель управления asterisk. Рекомендую выбрать английский язык. Перевод на русский так себе, с ним иногда бывает сложно понять суть настроек.

Я заметил небольшую проблему. Во время входа панель обращается к какому-то внешнему ресурсу, который с моего сервера плохо доступен. Из-за этого очень долго выполняется вход, потом вылетает ошибка бэкенда и загружается dashboard. В логах apache при этом была ошибка:

  (70007)The timeout specified has expired:  AH01075: Error dispatching request to : (polling), referer: http://10.20.1.23/admin/config.php

Не хватает дефолтного времени в параметре RequestReadTimeout. Ошибка пропала и вход стал выполняться нормально после того, как я увеличил таймауты, добавив в /etc/httpd/conf/httpd.conf.

RequestReadTimeout header=20-600,MinRate=500 body=20,MinRate=500

Не забудьте после этого перезапустить httpd.

Так же у меня была ошибка с отображением системной информации в виджете System Overview. Вместо полезной информации там была ошибка:

There was an error asking for Overview. Check the error logs for more information.

Как ее исправить, я так и не разобрался.

Что необходимо сделать перед первым стартом ОС

Нужные для работы системы настройки будут сделаны автоматически. Перед тем, как начать пользоваться CentOS вам предстоит сделать еще несколько вещей:

  • Ознакомиться с текстом лицензионного соглашения и принять его условия.
  • Если вы оставили опцию ввода пароля при запуске системы, нужно будет ввести пользовательский пароль.
  • Определить язык интерфейса операционной системы и раскладку клавиатуры.
  • Позволить или не позволить программам определять местоположение.
  • Войти в свои аккаунты: Microsoft, Google, Facebook и Nextcloud.

Если вы не планируете пользоваться сервисами с компьютера, на который устанавливаете CentOS, не вводите данные учетных записей. При необходимости вы сможете сделать это в удобное для вас время.

Создание пользователя asterisk и запуск

По-умолчанию, asterisk установлен от root и будет запускаться от него же. Я предлагаю для этого создать отдельного пользователя и запускать астериск от него. Для этого создаем пользователя и добавляем его в некоторые группы.

# groupadd asterisk
# useradd -r -d /var/lib/asterisk -g asterisk asterisk
# usermod -aG audio,dialout asterisk
# chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk

Настраиваем Asterisk на запуск под этим пользователем. Для этого добавляем в конфиг /etc/sysconfig/asterisk параметры:

AST_USER="asterisk"
AST_GROUP="asterisk"

Теперь добавим примерно то же самое в сам конфиг астера /etc/asterisk/asterisk.conf.

runuser = asterisk
rungroup = asterisk

Пробуем запустить asterisk:

# systemctl start asterisk

Если нет сообщений об ошибке, скорее всего все в порядке. Проверяем статус службы.

# systemctl status asterisk

Asterisk запустился, но есть небольшие ошибки.

radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory

Связаны с тем, что в конфигах неверно указан путь к radiusclient. Сейчас исправим это.

# sed -i 's";\"\"g' /etc/asterisk/cdr.conf
# sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf
# sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf

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

# asterisk -r

Если получили такой же вывод команды, значит все в порядке, астериск 16 установлен. Добавим его теперь в автозагрузку.

# systemctl enable asterisk
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: