Введение
Ранее я уже рассказывал, как публиковать файловые базы 1С. Схема простая и рабочая, но ее можно упростить еще больше, исключив систему Windows вообще. Все, что нужно для публикации баз 1С, есть в Linux. Рассказываю подробно, как это сделать. Вот что нам понадобится для публикации 1С баз:
- Операционная система Linux. В моем случае это будет Centos 8 или любой ее форк.
- Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем.
- Веб сервер Apache, который в rpm дистрибутивах носит имя httpd.
- Шрифты 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
Чтобы отправляемая почта меньше попадала в СПАМ, необходимо выполнить следующие шаги:
- Прописать PTR-запись.
- Создать запись SPF.
- Настроить 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 admin@192.168.0.15:/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