Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
установка [2017/02/27 11:22] kirill |
установка [2017/02/27 23:23] (текущий) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | Установка Freeswitch в данной статье производится на Centos 7 ветки точно так же ставится на RHEL, OracleLinux/ | + | Установка Freeswitch в данной статье производится на **Centos 7** ветки точно так же ставится на **RHEL, OracleLinux**/ |
| Подготовим систему | Подготовим систему | ||
| Строка 10: | Строка 10: | ||
| Отключим selinux | Отключим selinux | ||
| - | vi / | + | **vi / |
| - | SELINUX=disabled | + | SELINUX=disabled** |
| погасим фаервол | погасим фаервол | ||
| Строка 20: | Строка 20: | ||
| перезагрузимся | перезагрузимся | ||
| - | reboot | + | **reboot |
| + | ** | ||
| Устанавливаем необходимые компоненты | Устанавливаем необходимые компоненты | ||
| - | yum install -y http:// | + | **yum install -y http:// |
| - | yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel | + | yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel** |
| Строка 36: | Строка 36: | ||
| < | < | ||
| + | |||
| git clone -b v1.6 https:// | git clone -b v1.6 https:// | ||
| Строка 86: | Строка 87: | ||
| make hd-sounds-ru-install | make hd-sounds-ru-install | ||
| '' | '' | ||
| + | |||
| + | Добавим пользователя и скопируем скрипты инициализации..... | ||
| + | |||
| + | |||
| + | | ||
| + | |||
| + | '' | ||
| + | mv internal-ipv6.xml internal-ipv6.xml.removed\\ | ||
| + | mv external-ipv6.xml external-ipv6.xml.removed'' | ||
| + | |||
| + | |||
| + | Добавление пользователя freeswitch в систему и блокируем ему пароль | ||
| + | |||
| + | '' | ||
| + | passwd -l freeswitch | ||
| + | '' | ||
| + | |||
| + | Первый запуск необходимо провести для того, что бы Freeswitch создал необходимые папки. | ||
| + | |||
| + | '' | ||
| + | ./ | ||
| + | '' | ||
| + | |||
| + | Что бы убедиться, | ||
| + | |||
| + | Выход из системы по команде «shutdown». | ||
| + | |||
| + | Когда Freeswitch завершает свою работу, | ||
| + | |||
| + | |||
| + | Назначаем права на папки и создаем папку для работы демона freeswitch | ||
| + | |||
| + | |||
| + | ''# | ||
| + | # chmod -R 770 / | ||
| + | # chmod -R 750 / | ||
| + | # mkdir / | ||
| + | # chown -R freeswitch: | ||
| + | |||
| + | |||
| + | | ||
| + | |||
| + | |||
| + | ''# | ||
| + | # ln -s / | ||
| + | |||
| + | '' | ||
| + | |||
| + | |||
| + | Добавляем freeswitch в автозапуск в систему systemd | ||
| + | |||
| + | |||
| + | ''# | ||
| + | # nano / | ||
| + | |||
| + | |||
| + | Приводим юнит к виду: | ||
| + | |||
| + | '' | ||
| + | Description=freeswitch\\ | ||
| + | After=syslog.target network.target local-fs.target\\ | ||
| + | |||
| + | [Service]\\ | ||
| + | ; service\\ | ||
| + | Type=forking\\ | ||
| + | RuntimeDirectory=freeswitch\\ | ||
| + | PIDFile=/ | ||
| + | PermissionsStartOnly=true\\ | ||
| + | ExecStart=/ | ||
| + | TimeoutSec=45s\\ | ||
| + | Restart=always\\ | ||
| + | ; exec\\ | ||
| + | WorkingDirectory=/ | ||
| + | User=freeswitch\\ | ||
| + | Group=daemon\\ | ||
| + | LimitCORE=infinity\\ | ||
| + | LimitNOFILE=100000\\ | ||
| + | LimitNPROC=60000\\ | ||
| + | ; | ||
| + | LimitRTPRIO=infinity\\ | ||
| + | LimitRTTIME=7000000\\ | ||
| + | IOSchedulingClass=realtime\\ | ||
| + | IOSchedulingPriority=2\\ | ||
| + | CPUSchedulingPolicy=rr\\ | ||
| + | CPUSchedulingPriority=89\\ | ||
| + | UMask=0007\\ | ||
| + | |||
| + | [Install]\\ | ||
| + | WantedBy=multi-user.target | ||
| + | |||
| + | '' | ||
| + | |||
| + | Теперь создаем файл конигурации system, который будет всегда создавать директорию / | ||
| + | |||
| + | # vim / | ||
| + | |||
| + | Вписываем в файл: | ||
| + | |||
| + | '' | ||
| + | |||
| + | |||
| + | |||
| + | Рестартуем демон systemd: | ||
| + | |||
| + | # systemctl daemon-reload | ||
| + | |||
| + | Теперь можно запустить сервис freeswitch командой: | ||
| + | |||
| + | # systemctl start freeswitch.service | ||
| + | |||
| + | Проверить состояние сервиса и отсановить его можно так: | ||
| + | |||
| + | # systemctl status freeswitch.service | ||
| + | |||
| + | |||
| + | # systemctl stop freeswitch.service | ||
| + | |||
| + | 10. Увеличиваем количество лимитов на открытие файлов и обращений к жесткому диску для пользователя freeswitch | ||
| + | |||
| + | # nano / | ||
| + | |||
| + | Вписываем в конец файла перед строкой | ||
| + | |||
| + | # End of file | ||
| + | |||
| + | Следующее: | ||
| + | |||
| + | '' | ||
| + | freeswitch | ||
| + | freeswitch | ||
| + | |||
| + | |||
| + | |||