Введение
Работая с серверами VDS для меня прежде всего важна стабильность и удобство их обслуживания.
Лично для меня существует несколько принципиальных моментов при работе с серверами:
- Резервное копирование. Для спокойного обслуживания систем всегда необходимо создавать их резервные копии, но к сожалению большинство компаний предоставляющих услуги не предоставляют таких возможностей по умолчанию. Можно делать резервирование разными способами, но это не всегда удобно и требует хороших знаний для быстрого восстановления работоспособности системы из бэкапа;
- Использование сервера для конкретной задачи или ресурса. Ни секрет что чем меньше всего установлено на сервере тем проще его обслуживать;
- Разные версии программного обеспечения на одном сервере. Бывает так что на одном сервере необходимо использовать PHP 7 и PHP 5. Простыми способами одновременно заставить сервер работать с двумя версиями сложно.
Разработчики системы Calculate Linux познакомили меня с технологией LXC благодаря чему я сильно упростил себе жизнь при обслуживании серверов.
В результате использования LXC я получаю сервер с минимальным набором программного обеспечения благодаря чему обновления проходят легко и не вызывают никаких проблем. В контейнерах создаю всё что мне надо в любых количествах и вариантах. Перед настройкой и обслуживанием контейнера создаю его резерную копию.
Система позволяет создавать контейнеры в которых размещается почти полнофункциональная система с использованием ядра хоста на котором расположена система.
Существует версия LXD которая может использовать в контейнере своё ядно, но это уже отдельный разговор тем более для запуска на системе CentOS. Знаю точно что разработчики систем LXC и LXD спонсирует компания занимающаяся разработкой дистрибутива Ubuntu и поэтому все свои технологии и новшества они внедряют в первую очередь на Ubuntu.
Более подробно об технологии вы можете узнать посетив сайт разработчика.
Все настройки производились на сервере с настройками выполненными по статье CentOS 7 установка и настройка.
История
X Window System — оконная система, обеспечивающая стандартные инструменты и
протоколы для построения графического интерфейса пользователя.
Используется в UNIX-подобных ОС.
X Window System обеспечивает базовые функции графической среды:
отрисовку и перемещение окон на экране, взаимодействие с устройствами ввода,
такими как, например, мышь и клавиатура.
X Window System не определяет деталей интерфейса
пользователя — этим занимаются менеджеры окон, которых разработано множество.
По этой причине внешний вид программ в среде X Window System может очень сильно
различаться в зависимости от возможностей и настроек конкретного оконного менеджера.
В X Window System предусмотрена сетевая прозрачность: графические приложения
могут выполняться на другой машине в сети, а их интерфейс при этом будет
передаваться по сети и отображаться на локальной машине пользователя.
В контексте X Window System термины «клиент» и «сервер» имеют непривычное для многих
пользователей значение: «сервер» означает локальный дисплей пользователя (дисплейный сервер),
а «клиент» — программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).
Система X Window System была разработана в Массачусетском технологическом
институте (MIT) в 1984 году.
По состоянию на февраль 2016 года версия протокола — X11R7.7 — появилась в июне 2012 года.
Проект X возглавляет фонд X.Org Foundation. Референсная (или образцовая) реализация
(reference implementation) системы свободно доступна на условиях лицензии MIT и подобных ей лицензий.
X Window System часто называют X11 или просто X (в разговорной речи — «иксы»)
Заведение пользователя
Создадим наш первый диалплан (правило обработки звонков):
vi /etc/asterisk/extensions.conf
Допишем в него следующее:
exten => _XXX,1,Dial(SIP/${EXTEN},,m)
* в данном примере мы создаем контекст с именем outcaling для трехзначных номеров (XXX) с вызовом по SIP по внутреннему номеру.
Теперь создадим два внутренних номера:
vi /etc/asterisk/sip.conf
(!)
type=friend
context=outcaling
host=dynamic
disallow=all
allow=alaw
allow=ulaw
language=ru
qualify=yes
canreinvite=yes
call-limit=4
nat=no
(public)
regexten=101
secret=1234
callerid=»101″ <101>
callgroup=1
pickupgroup=1
(public)
regexten=102
secret=5678
callerid=»102″ <102>
callgroup=1
pickupgroup=1
* сначала мы создали шаблон public, в который занесли общие параметры. Шаблон мы применили к создаваемым коротким номерам.
* где:
- , — имена для обозначения номеров.
- type — типы проверки номеров. Могут быть peer, user или friend. Peer — вызовы сопоставляются с IP-адресами и номерами портов. User — проверка username. Friend — включает возможности peer и user (проверка username и IP-адреса источника) и лучше всего подходит для телефонов и телефонных программ.
- regexten — добавочный номер. Если не задан, используется имя.
- secret — пароль для аутентификации.
- context — контекст или группа правил.
- host — IP-адрес или имя клиента. Для автоматической регистрации используем dynamic.
- callerid — идентификатор пользователя при звонке.
- disallow — запрещает кодеки (задается перед параметром allow).
- allow — разрешает кодеки. alaw и ulaw — алгоритмы для кодеков g711.
- language — код используемого языка.
- callgroup — задает группу устройства (для возможности перехвата).
- pickupgroup — задает перечень групп, которые можно перехватывать.
- qualify — включает или отключает периодическую проверку подключенного клиента.
- canreinvite — включает или отключает прохождение голосового RTP трафика через Asterisk. Устанавливать, только если клиент поддерживает функцию SIP re-invites.
- call-limit — ограничение количества одновременных вызовов.
- nat — устанавливается в yes, если клиент находиться за NAT.
Перезапускаем наш сервис:
systemctl restart asterisk
Что делать, если CentOS не видит сетевую карту?
Вы установили сервер, загрузились и обнаружили, что в системе нет ни одной сетевой карты. Что в таком случае делать? Первым делом посмотрите вывод команды dmesg и поищите там поминание о своей карте. Возможно, она в системе есть, просто не активирована. Активировать ее можно с помощью nmtui, а котором я рассказывал выше.
Там есть пункт меню Activate connection, нужно в него зайти и активировать вашу сетевую карту. После этого ее можно будет настраивать.
Если же вашей сетевой карты нет в системе, то нужно поискать в интернете по модели информацию об этой сетевой карте. Возможно в репозиториях будут драйвера для нее. Это достаточно распространенная ситуация. Чаще всего драйвера найдутся и их необходимо будет правильно установить.
Есть еще вероятность, что вы не увидите своей карточки при выводе команды ifconfig, если в эту карту не воткнут сетевой провод. Чтобы наверняка посмотреть все интерфейсы, необходимо использовать ключ -a:
Есть еще один способ поискать сетевую карту в системе. Установите пакет pciutils:
И посмотрите вывод команды:
Если сетевая карта видится системой, то должно быть что-то в этом роде:
Если в выводе пусто, значит сетевая карта не определена.
Установка php-fpm 7.1
Установка и настройка 7-й версии php на centos не очень простая задача. Ранее я уже рассказывал как обновить php до 7-й версии, но в итоге откатился назад. Прошло прилично времени и откатываться уже не будем, так как большинство проблем исправлены.
Вторая проблема в том, что надо определить, какой репозиторий использовать для установки php7. Их существует очень много. К примеру, мой хороший знакомый в своей статье по настройке web сервера использует репозиторий Webtatic. В принципе, чтобы просто поставить php 7-й версии это нормальный вариант. Но если вы после этого захотите установить phpmyadmin через yum уже ничего не получится. Будет ошибка зависимостей, которые нужно будет как-то руками разбирать.
То же самое будет и с другими пакетами. К примеру, zabbix без плясок с бубнами скорее всего не встанет. В сторонних репозиториях есть еще одна проблема. Иногда они закрываются. И это станет для вас большой проблемой на боевом сервере. Так что к выбору репозитория нужно подходить очень аккуратно и внимательно. Я до сих пор иногда встречаю настроенные сервера centos 5 с очень популярным в прошлом репозиторием centos.alt.ru, который закрылся. Сейчас это уже не так актуально, так как таких серверов осталось мало, но некоторое время назад мне это доставляло серьезные неудобства.
Для установки свежей версии php я буду использовать репозиторий Remi. Это известный и популярный репозиторий, который ведет сотрудник RedHat. И хотя надежность репозитория, который ведет один человек не так высока, но ничего лучше и надежнее remi лично я не нашел для своих целей. Если вы можете что-то посоветовать на этот счет — комментарии в вашем распоряжении. Буду благодарен за дельный совет.
Подключаем remi репозиторий для centos 7.
# rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Я получил ошибку:
Retrieving http://rpms.remirepo.net/enterprise/remi-release-7.rpm warning: /var/tmp/rpm-tmp.nwcDV1: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY error: Failed dependencies: epel-release = 7 is needed by remi-release-7.3-2.el7.remi.noarch
Тут все понятно, нужен репозиторий epel. Те, кто готовили сервер по моей статье по базовой настройке сервера его уже подключили, а те кто не делали этого, подключают сейчас:
# yum install epel-release
После этого повторяем установку remi, все должно пройти нормально. Проверим список подключенных репозиториев.
# yum repolist
У меня такая картинка получилась.
Активируем репу remi-php71, для этого выполняем команду:
# yum-config-manager --enable remi-php71
Если получаете ошибку:
bash: yum-config-manager: command not found
то установите пакет yum-utils.
# yum install yum-utils
Теперь устанавливаем php7.1.
# yum install php71
Установим php-fpm и наиболее популярные модули, которые могут пригодится в процессе эксплуатации веб сервера.
# yum install php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip
Запускаем php-fpm и добавляем в автозагрузку.
# systemctl start php-fpm # systemctl enable php-fpm
Проверяем, запустился ли он.
# netstat -tulpn | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9084/php-fpm: maste
Все в порядке, повис на порту 9000. Запустим его через unix сокет. Для этого открываем конфиг /etc/php-fpm.d/www.conf и комментируем строку:
;listen = 127.0.0.1:9000
Вместо нее добавляем несколько других:
listen = /var/run/php-fpm/php-fpm.sock listen.mode = 0660 listen.owner = nginx listen.group = nginx
Заодно измените пользователя, от которого будет работать php-fpm. Вместо apache укажите nginx.
user = nginx group = nginx
Перезапускаем php-fpm.
# systemctl restart php-fpm
Проверяем, стартовал ли указанный сокет.
# ll /var/run/php-fpm/php-fpm.sock srw-rw----. 1 nginx nginx 0 Oct 26 18:08 /var/run/php-fpm/php-fpm.sock
На текущий момент с настройкой php-fpm закончили, двигаемся дальше.
Для того, чтобы проверить работу нашего веб сервера, нужно установить ssl сертификаты. Без них nginx с текущим конфигом не запустится. Исправляем это.
Базовый дистрибутив
Замечание: CentOS доступен бесплатно. Мы принимаем (не-финансовые) пожертвования для улучшения, хостинга и продвижения CentOS. Если CentOS важен для вас, пожалуйста, поддержите долгосрочную жизнедеятельность проекта. |
Пожалуйста, воспользуйтесь одним из множества наших зеркал для загрузки CentOS. |
Версия CentOS |
Выпуск (минор) |
CD и DVD образы ISO |
Пакеты |
Сообщение о выпуске |
Примечания |
Конец поддержки |
7 |
7 (1611) |
Rolling: DVD, Minimal, Everything, LiveGNOME, LiveKDE (контрольные суммы) | Зеркала: x86_64 |
CentOS RHEL |
30 июня 2024 |
||
6 |
6.10 |
i386 x86_64 |
CentOS RHEL |
30 ноября 2020** |
Информация sha256sum предоставляется через https выше по ссылкам Сообщение о выпуске и Примечания. Вы также можете использовать файл sha256sum.txt.asc, расположенный в любом каталоге с образами ISO или Cloud. Всегда проверяйте скачанные образы перед использованием.
Файлы Bittorrent так же доступны по ссылкам выше.
Rolling сборки обновляются ежемесячно.
** Пожалуйста, обратите внимание на политику Red Hat в отношении поддержки продуктивной фазы 3 для EL6 (действует с 10 мая 2017 года). Будут выпускаться только критические обновления безопасности в продуктивной фазе 3 для EL6 (так же и для CentOS 6)
Пожалуйста прочитайте в этой почтовой рассылке для более подробной информации. Команда CentOS рекомендует начать перемещение рабочих нагрузок с CentOS 6 на CentOS 7.
Установка нескольких версий Python
Что сделать, чтобы удобно работать с разными версиями питона? Можно установить репозиторий так называемой Software Collections или SLC и поставить версию питона оттуда. Ее удобство будет в том, что существует инструмент, который позволит запустить bash оболочку с новой версией питона, выполнить скрипты, которым нужна эта версия и просто выйти из оболочки. Мне как раз помог такой способ, когда нужно было быстро разово выполнить несколько скриптов, которым нужна была версия 3 и которые делали проверку этой версии через обращение к системному python.
Подключаем репозиторий SCL:
# yum install centos-release-scl
Ставим Python нужной версии, например 3.6.
# yum install rh-python36
Теперь можно сделать вот так:
# scl enable rh-python36 bash
И мы оказываемся в консоли с нужной версией питона.
# python -V Python 3.6.3
Можно запускать скрипты, которые требуют именно эту версию. Они при запуске убедятся, что версия именно та, что нужна.
Новые выпуски
Новые основные и второстепенные выпуски становятся доступными спустя 2-6 недель после того, как первоисточник (Red Hat) публикует SRPM пакеты (пакеты с исходными кодами) своего продукта. Такое время требуется для пересборки, проверки, тестирования (QA), перевода и интеграции новых произведений искусства. Пожалуйста взгляните на Процесс пересборки и выпуска CentOS для дальнейшей детализации. Хотя мы понимаем, что некоторые из наших пользователей возбуждаются насчет нового предстоящего выпуска, мы просим вас быть терпеливыми или помочь нам с процессом выпуска.
Проект CentOS не предлагает какие-либо варианты расширений для ранних точечных выпусков, которые первоисточник обычно предлагает для своей клиентуры подписчиков. Как только происходит новый точечный выпуск (скажем: 6.3, следом за 6.2), для ранних версий дальнейшие пакеты с исходными кодами (из которых могут быть собраны обновления) больше не выпускаются, поэтому CentOS больше не производит обновления безопасности. Спустя несколько недель устаревшие бинарники точечных выпусков переносятся в репозитарий vault. Дополнительная информация в длительном обсуждении на 15 пункте в часто задаваемых вопросах.
Yum: установка, обновление и удаление пакетов
Полная справка по менеджеру пакетов :
yum help
Очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum):
yum clean all
Пересоздать кеш пакетов заново:
yum makecache
Отобразить список подключенных репозиториев:
yum repolist
Вывести список всех доступных пакетов для установки:
yum list available
Список всех пакетов, которые установлены в системе:
yum list installed
Вывести список пакетов, которые относятся к ядру Linux:
yum list kernel
Проверить установлен ли в системе определенный пакет, например, apache:
yum list installed httpd
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.awanti.com * epel: mirror.datacenter.by * extras: mirrors.powernet.com.ru * updates: mirror.axelname.ru Installed Packages httpd.x86_64 2.4.6-93.el7.centos @base
Можно получить более подробную информацию о пакете:
yum info httpd
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.awanti.com * epel: mirrors.glesys.net * extras: mirrors.powernet.com.ru * updates: mirror.axelname.ru Installed Packages Name : httpd Arch : x86_64 Version : 2.4.6 Release : 93.el7.centos Size : 9.4 M Repo : installed From repo : base Summary : Apache HTTP Server URL : http://httpd.apache.org/ License : ASL 2.0 Description : The Apache HTTP Server is a powerful, efficient, and extensible : web server.
Чтобы установить пакет используется команда . Для установки веб-сервера apache выполните:
yum install httpd
Перед установкой пакета можно проверить его на зависимости и необходимые пакеты с помощью команды:
yum deplist httpd
Если вы хотите установить какой-либо пакет, но забыли его полное название, можно воспользоваться подстановочным символом . Например:
yum install epel-*
Можно установить сразу несколько пакетов:
yum install wget htop yum-utils
Переустановка пакета:
yum reinstall proftpd
Удалить установленный пакет:
yum remove httpd
!Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):
yum deplist httpd
Найти пакет по имени или описанию:
yum search httpd
С помощью опции вы можете найти пакеты, содержавшие определенный файл, например:
yum provides */squid.conf
Выполнить обновление всех установленных пакетов:
yum update
Вы можете обновить только определенный пакет, указав его имя:
yum update httpd
Проверить если доступные обновления для системы можно командой:
yum check-update
Получить информацию о доступных обновлениях безопасности:
yum updateinfo list security
Бывают случаи, когда после обновления какого-либо пакета или сервиса, возникают проблемы. Например, после обновления php, перестало работать ваше приложение или сайт. Вы можете вернуть предыдущую версию пакета, откатив установленный пакет:
yum downgrade php
Имеется возможность группой установки пакетов командой . В репозитории существуют предопределенные группы пакетов с различными наборами программ. Вы можете вывести список имеющихся групп:
yum grouplist
Рассмотрим на примере группового листа «Basic Web Server». Получить информацию о группе и пакетах в ней:
yum groupinfo "Basic Web Server"
При проверке мы видим, что будут установлены набор пакетов и сервисов для веб-сервера.
Ещё один полезный групповой лист «System Administration Tools»:
yum groupinfo "System Administration Tools"
Как видим, в данном листе содержатся пакеты, которые будут полезны для мониторинга и отладки.
Установить групповой лист можно командой:
yum groupinstall "System Administration Tools"
Исправление ошибок
Рассмотрим процесс устранения предупреждений и ошибок во время запуска Asterisk.
Из-за неиспользуемых модулей
Для устранения данных проблем необходимо просто отключить данные модули.
Открываем файл:
vi /etc/asterisk/modules.conf
И в зависимости от ошибок, добавляем нижеперечисленные исправления…
Отключаем res_phoneprov:
noload => res_phoneprov.so
Отключаем res_config_ldap:
noload => res_config_ldap.so
Отключаем res_config_pgsql:
noload => res_config_pgsql.so
Отключаем cel_pgsql:
noload => cel_pgsql.so
Отключаем cel_tds:
noload => cel_tds.so
Другие ошибки
ari/config … No configured users for ARI
ARI предоставляет API для Asterisk REST Interface. В данном примере, отключаем поддержку:
vi /etc/asterisk/ari.conf
Находим параметр enabled и меняем его значение на no:
enabled = no
Установка nginx на CentOS 7
Для установки самой свежей стабильной версии nginx на centos подключим родной репозиторий.
# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
Если по какой-то причине ссылка изменится или устареет, то можно создать файл с конфигурацией репозитория nginx вручную. Для этого рисуем такой конфиг /etc/yum.repos.d/nginx.repo.
name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
Устанавливаем nginx на сервер.
# yum install nginx
Запускаем nginx и добавляем в автозагрузку.
# systemctl start nginx # systemctl enable nginx
Если страница не открывается, то скорее всего вы не настроили firewall. Свою статью по его настройке я приводил в самом начале.
Новый «клон» RHEL обзавелся спонсором
Основатель проекта CentOS Грегори Курцер (Gregory Kurtzer) запустил стартап Ctrl IQ. Как пишет Ars Technica, компания выступит одним из спонсоров новой инициативы Курцера по созданию Rocky Linux – бесплатной замены CentOS, популярному Linux-дистрибутиву, основанному на коде Red Hat Enterprise Linux.
На сегодняшний день Ctrl IQ успела найти инвесторов в лице венчурного фонда IAG Capital Partners и производителя систем хранения данных (СХД) Opendrive. Суммарно компания привлекла $4 млн. Помимо финансовой поддержки, стартап будет оказывать правовую помощь проекту Rocky Linux.
Ctrl IQ позиционирует себя как «поставщика полного технологического стека, объединяющего ключевые возможности корпоративных, гипермасштабируемых, облачных и высокопроизводительных вычислений» на базе Rocky Linux. Однако при этом в компании настаивают на том, что Rocky Linux будет получать выгоду от коммерческой деятельности компании, а не станет инструментом заработка.
New releases
New major and minor releases are available about 2 to 6 weeks after upstream (Red Hat) publishes the SRPMs (source packages) of their product. This time is needed to rebuild, validate, test (QA), translate and integrate new artwork. Please see The CentOS Rebuild and Release Process for further details. Although we understand that some of our users are excited about a new upcoming release, we ask you to be patient or help out in the release process.
The CentOS project does not offer any of the various approaches to extended life for an earlier point release which its upstream occasionally does for its subscribing clientèle. Once a new point release is issued (say: 6.3, following 6.2), no further source packages (from which updates can be built) are released for the earlier version and therefore CentOS is no longer able to produce security or other updates. After a transition interval of a few weeks, the old point version binaries are moved to the vault. There is a longer discussion at item 15 in the FAQ for more details.
Видео
Предалагаю посмотреть видео всего процесса установки и настройки phpmyadmin на примере веб сервера apache.
Онлайн курсы по Mikrotik
Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте .
Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
- Знания, ориентированные на практику;
- Реальные ситуации и задачи;
- Лучшее из международных программ.
Установка Asterisk
Установка астериска выполняется путем сборки исходников. Сама процедура проходит в 3 этапа:
- Установка DAHDI (драйверов плат интерфейсов);
- Установка LibPRI (библиотека для работы с потоковыми TDM-интерфейсами);
- Собственно, сборка и установка Asterisk.
1. Сборка DAHDI
Загружаем исходник, распаковываем его и переходим в распакованный каталог:
wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar -xvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*/
Выполняем сборку и установку:
make
make install
make config
Выходим из каталога с исходником:
cd ..
2. Сборка LibPRI
Процедура, во многом, похожа на сборку DAHDI. Загружаем исходник, распаковываем его и переходим в распакованный каталог:
wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
tar -xvf libpri-current.tar.gz
cd libpri-*/
Выполняем сборку и установку:
make
make install
Выходим из каталога с исходником:
cd ..
3. Установка самого астериска
Для начала, загружаем исходник на сервер. Так как мы планируем установить LTS версию, заходим на страницу https://www.asterisk.org/downloads/asterisk/all-asterisk-versions, раздел «Long Term Support (LTS) Releases» и копируем ссылку на загрузку пакета:
* Certified Asterisk — бизнес версия с поддержкой для коммерческих клиентов.
Используя ссылку, скачиваем на сервер программу:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
Распаковываем архив и переходим в него:
tar -xvf asterisk-*.tar.gz
cd asterisk-*
Используем встроенный скрипт, чтобы установить зависимости для астериска:
./contrib/scripts/install_prereq install
./contrib/scripts/install_prereq install-unpackaged
Чистим образовавшиеся временные файлы:
make distclean
Добавляем библиотеку для работы с mp3:
./contrib/scripts/get_mp3_source.sh
Конфигурируем исходник:
./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-dahdi —with-pri —with-iconv —with-libcurl —with-speex —with-mysqlclient
* полный перечень опция и что они означают можно посмотреть командой ./configure -h.
Продолжаем настройку:
make menuselect
Выбираем необходимые компоненты (в данном примере res_config_mysql, app_mysql, cdr_mysql):
Запускаем сборку и установку:
make
make install
Устанавливаем скрипты для автозапуска АТС и готовые конфигурационные файлы:
make config
make samples
Установка завершена!
Как добавить статический маршрут в CentOS
Для управления маршрутизацией в CentOS может понадобиться добавить статический маршрут. Сделать это достаточно просто с помощью консольной команды. Для начала проверим существующие маршруты, используя netstat:
В данном случае у нас один маршрут для адреса 0.0.0.0/0.0.0.0 шлюз используется 192.168.159.2, он же шлюз по-умолчанию. То есть по сути, статических маршрутов никаких нет. Добавим один из них.
Допустим, у нас есть подсеть 192.168.8.0 маска 255.255.255.0, трафик в эту подсеть маршрутизирует шлюз 192.168.159.5 Добавляем маршрут:
Проверяем, появился ли добавленный маршрут в таблицу маршрутизации:
Все в порядке, маршрут добавлен. Делаем то же самое с помощью утилиты ip.
Но после перезагрузки этот статический маршрут будет удален. Чтобы этого не произошло и добавленные маршруты сохранялись, необходимо их записать в специальный файл. В папке /etc/sysconfig/network-scripts создаем файл с именем route-eth0 следующего содержания:
Перезагружаемся и проверяем, на месте ли маршрут:
Все в порядке, статический маршрут добавлен.
Что нового
Рассмотрим основные изменения, которые влияют на процесс настройки операционной системы и работы с ней.
1. Установка пакетов
Пакетный менеджер.
Пакетный менеджер YUM заменен на DNF. Последний потребляем меньше ресурсов и работает быстрее. Синтаксис установки пакетов, во многом, остается таким же, например:
dnf install bind
Однако, команда yum install bind также отработает — yum является алиасом для dnf, поэтому привычный формат установка пакетов и обновлений сохранен.
Репозитории.
Для установки и обновления пакетов используются базовый репозиторий и BaseOS и модульный AppStream. Базовый содержит минимально необходимый для работы набор пакетов, AppStream — все остальное. Более того, AppStream может использоваться в двух форматах — классическом RPM и модульном.
Модульный репозиторий содержит наборы с альтернативными версиями пакетов — таким образом можно установить программное обеспечение либо основной версии (которая по умолчанию поддерживается релизом CentOS), либо альтернативную (она тоже официально поддерживается операционной системой). Набор пакетов в модульном репозитории представляет из себя логическую единицу для установки приложения — само приложение, набор библиотек и инструментов для его работы. Все наборы тестируются перед размещением в репозиторий.
2. Сетевые настройки
Управление сетью.
Для управления сетью используется только NetworkManager. Скрипты ifup и ifdown объявлены как устаревшие. Для перезапуска сети теперь используется команда:
systemctl restart NetworkManager
* раньше это можно было сделать командой systemctl restart network.
Брандмауэр.
Пакетный фильтр nftables пришел на смену старому доброму iptables. firewalld переведён на использование nftables. Также появились утилиты iptables-translate и ip6tables-translate для конвертации старых правил под iptables.
TCP/IP.
TCP стек обновлен до версии 4.16. Разработчики отмечают увеличение скорости при обработке входящих соединений.
3. Установка
Инсталлятор.
Добавлена возможность установки системы на накопители NVDIMM. Инструмент Image Builder позволяет пользователям создавать настраиваемые системные образы в различных форматах, включая изображения, подготовленные для развертывания в облаках различных поставщиков.
4. Безопасность
Политики настройки криптографических подсистем.
Пакет OpenSSL обновлен до версии 1.1.1 с поддержкой TLS 1.3. Это позволит не пересобирать некоторые пакеты (например nginx для включения http/2).
Также с помощью команды update-crypto-policies можно выбрать один из режимов выбора криптоалгоритмов.
PKCS#11.
Включена поддержка смарткарт и HSM c токенами PKCS#11;
5. Виртуальзация
QEMU.
QEMU обновлен до версии 2.12. Виртуальные машины создаются с поддержкой PCI Express и с эмуляцией чипсета ICH9. Реализован режим sandbox-изоляции для ограничения системных вызовов.
Утилита virt-manager является устаревшей и вместо нее рекомендуется использовать веб-интерфейс Cockpit.
6. Веб-разработка
Языки программирования.
По умолчанию из репозитория теперь устанавливаются:
- php7.2 вместо php5.4
- Python 3.6 вместо 2.7
- Ruby 2.5
- Perl 5.26
- SWIG 3.0
Базы данных.
Также из коробки будут устанавливаться:
- MariaDB 10.3
- MySQL 8.0
- PostgreSQL 10 или PostgreSQL 9.6
- Redis 5
Веб-серверы.
Версии устанавливаемых по умолчанию пакетов — Apache 2.4 и nginx 1.14.
7. Графический интерфейс
Desktop.
По умолчанию устанавливается графический интерфейс GNOME версии 3.28. В качестве протокола организации графического сервера используется Wayland. По сравнению с Xorg, Wayland задействует меньше программных и аппаратных ресурсов и считается, что работает быстрее. Однако, использование Xorg в CentOS 8 также возможно.
Пакеты KDE удалены из состава дистрибутива.
Cockpit.
Cockpit — веб-интерфейс для управления CentOS. Он может оказаться полезным новичкам. Для его запуска нужно выполнить несколько несложных команд.
Установка:
dnf install cockpit
Настройка брандмауэра:
firewall-cmd —permanent —add-port=9090/tcp
firewall-cmd —reload
Запуск:
systemctl enable —now cockpit.socket
systemctl start cockpit
Можно заходить на интерфейс по адресу https://<IP-адрес компьютера>:9090/. В качестве логина используем системную учетную запись, например, root.
Весь список изменений можно найти на сайте Red Hat.
Заключение
Подведем итог опубликованного материала. Мы рассмотрели практически все, что связано со временем на сервере CentOS. Да и не только на нем, вся информация в статье актуальна практически для любого Linux дистрибутива. Мы научились устанавливать время, изменять часовой пояс, синхронизировать время с помощью ntp, chrony и настраивать сервер времени в локальной сети.
Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.
Онлайн курс «DevOps практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .