Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
установка [2017/02/27 12:10] 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:// | ||
Строка 87: | Строка 88: | ||
'' | '' | ||
- | Добавим пользователя и скопируем скрипты инициализации | + | Добавим пользователя и скопируем скрипты инициализации..... |
- | '' | + | |
- | cd / | + | |
- | chown -R freeswitch: | + | |
- | chmod -R g+w freeswitch\\ | + | '' |
- | cd / | + | mv internal-ipv6.xml internal-ipv6.xml.removed\\ |
- | cp freeswitch.init.redhat /etc/init.d/freeswitch\\ | + | mv external-ipv6.xml external-ipv6.xml.removed'' |
- | chmod +x /etc/init.d/ | + | |
- | cp freeswitch.sysconfig / | + | |
+ | Добавление пользователя | ||
+ | |||
+ | '' | ||
+ | passwd -l freeswitch | ||
'' | '' | ||
- | Подредактируем /etc/init.d/ | + | Первый запуск необходимо провести для того, что бы Freeswitch создал необходимые папки. |
+ | '' | ||
+ | ./ | ||
'' | '' | ||
- | PROG_NAME=freeswitch\\ | + | |
- | PID_FILE=${PID_FILE-/ | + | Что бы убедиться, |
- | FS_USER=${FS_USER-freeswitch}\\ | + | |
- | FS_FILE=${FS_FILE-/ | + | Выход из системы по команде «shutdown». |
- | FS_HOME=${FS_HOME-/ | + | |
- | LOCK_FILE=/var/lock/subsys/ | + | Когда Freeswitch завершает свою работу, |
- | FREESWITCH_ARGS="-nc"\\ | + | |
- | RETVAL=0'' | + | |
+ | Назначаем права на папки и создаем папку для работы демона | ||
+ | |||
+ | |||
+ | ''# | ||
+ | # chmod -R 770 / | ||
+ | # chmod -R 750 /usr/local/freeswitch/bin/*\\ | ||
+ | # mkdir /run/freeswitch\\ | ||
+ | # chown -R freeswitch: | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | ''# | ||
+ | # ln -s / | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | Добавляем freeswitch в автозапуск в систему systemd | ||
+ | |||
+ | |||
+ | ''# | ||
+ | # nano /etc/systemd/system/ | ||
+ | |||
+ | |||
+ | Приводим юнит к виду: | ||
+ | |||
+ | '' | ||
+ | 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 | ||
+ | |||
+ | |||
+ | |||
+ | |||