{"id":809,"date":"2026-09-17T22:50:24","date_gmt":"2026-09-17T19:50:24","guid":{"rendered":"https:\/\/imaxis.ru\/?p=809"},"modified":"2026-09-18T00:05:08","modified_gmt":"2026-09-17T21:05:08","slug":"ustanovka-asterisk-freepbx-na-ubuntu-i-debian-polnaya-instruktsiya","status":"publish","type":"post","link":"https:\/\/imaxis.ru\/?p=809","title":{"rendered":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Asterisk + FreePBX \u043d\u0430 Ubuntu \u0438 Debian: \u043f\u043e\u043b\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f"},"content":{"rendered":"<h1>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Asterisk + FreePBX \u043d\u0430 Ubuntu \u0438 Debian: \u043f\u043e\u043b\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f<\/h1>\n<p>Asterisk \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u0410\u0422\u0421, FreePBX \u2014 \u0432\u0435\u0431-\u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0435\u0451. \u0421\u0430\u043c\u044b\u0439 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0432\u044f\u0437\u043a\u0443 \u2014 ISO-\u043e\u0431\u0440\u0430\u0437 FreePBX Distro, \u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0432\u0441\u0451 \u00ab\u0441 \u043d\u0443\u043b\u044f\u00bb \u043d\u0430 Ubuntu\/Debian.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 <strong>Asterisk 22 LTS<\/strong> \u0438 <strong>FreePBX 17<\/strong>. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f NGINX + PHP-FPM. \u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 Ubuntu 22.04\/24.04\/26.04 \u0438 Debian 12.<\/p>\n<hr \/>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h2>\n<h3>1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432<\/h3>\n<pre><code class=\"language-bash\">apt update\napt install wget tar ca-certificates curl gnupg cron\n<\/code><\/pre>\n<p>\u0433\u0434\u0435:<\/p>\n<ul>\n<li><code>wget<\/code> \u2014 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432;<\/li>\n<li><code>tar<\/code> \u2014 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u0430\u0440\u0445\u0438\u0432\u043e\u0432;<\/li>\n<li><code>ca-certificates<\/code> \u2014 \u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b;<\/li>\n<li><code>curl<\/code> \u2014 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b;<\/li>\n<li><code>gnupg<\/code> \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432;<\/li>\n<li><code>cron<\/code> \u2014 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0437\u0430\u0434\u0430\u043d\u0438\u0439.<\/li>\n<\/ul>\n<h3>2. \u042f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/h3>\n<p>\u0414\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 FreePBX \u0441\u0442\u0430\u0432\u0438\u043c \u043b\u043e\u043a\u0430\u043b\u044c.<\/p>\n<p><strong>Ubuntu:<\/strong><\/p>\n<pre><code class=\"language-bash\">apt install language-pack-ru\n<\/code><\/pre>\n<p><strong>Debian:<\/strong><\/p>\n<pre><code class=\"language-bash\">dpkg-reconfigure locales\n<\/code><\/pre>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0432 \u043c\u0435\u043d\u044e <strong>ru_RU.UTF-8<\/strong>.<\/p>\n<h3>3. \u0412\u0440\u0435\u043c\u044f<\/h3>\n<pre><code class=\"language-bash\">timedatectl set-timezone Europe\/Moscow\napt install chrony\nsystemctl enable chrony --now\n<\/code><\/pre>\n<p><strong>\u0421\u043f\u0438\u0441\u043e\u043a \u0437\u043e\u043d \u2014 <code>timedatectl list-timezones<\/code>.<\/strong><\/p>\n<h3>4. \u0411\u0440\u0430\u043d\u0434\u043c\u0430\u0443\u044d\u0440<\/h3>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0440\u0442\u044b:<\/p>\n<ul>\n<li><code>5060<\/code> (tcp\/udp) \u2014 SIP;<\/li>\n<li><code>5061<\/code> (tcp\/udp) \u2014 SIP over TLS;<\/li>\n<li><code>80<\/code> (tcp) \u2014 HTTP;<\/li>\n<li><code>443<\/code> (tcp) \u2014 HTTPS;<\/li>\n<li><code>10000\u201320000<\/code> (udp) \u2014 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0439 \u0442\u0440\u0430\u0444\u0438\u043a.<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">iptables -I INPUT -p tcp --match multiport --dports 5060,5061 -j ACCEPT\niptables -I INPUT -p udp --match multiport --dports 5060,5061 -j ACCEPT\niptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT\niptables -I INPUT -p udp --dport 10000:20000 -j ACCEPT\napt install iptables-persistent\nnetfilter-persistent save\n<\/code><\/pre>\n<h3>5. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c<\/h3>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043e\u0431\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f Asterisk \u0438 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u2014 \u0447\u0442\u043e\u0431\u044b NGINX \u0438\u043c\u0435\u043b \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c \u0410\u0422\u0421:<\/p>\n<pre><code class=\"language-bash\">useradd asterisk -m\n<\/code><\/pre>\n<hr \/>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/h2>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0432\u044f\u0437\u043a\u0443 NGINX + PHP + MySQL + NodeJS.<\/p>\n<h3>\u0421\u0435\u0440\u0432\u0435\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438 \u0441\u0442\u0430\u0432\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f MySQL:<\/p>\n<pre><code class=\"language-bash\">curl -sLO https:\/\/dev.mysql.com\/get\/mysql-apt-config_0.8.35-1_all.deb\ndpkg -i mysql-apt-config_*_all.deb\napt update\napt install mysql-server\n<\/code><\/pre>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442 \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c <code>root<\/code> \u2014 \u0432\u0432\u043e\u0434\u0438\u043c \u0434\u0432\u0430\u0436\u0434\u044b.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0431\u0430\u0437\u044b \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/p>\n<pre><code class=\"language-bash\">mysql -p\n<\/code><\/pre>\n<pre><code class=\"language-sql\">&gt; CREATE DATABASE asterisk DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\n&gt; CREATE DATABASE asteriskcdrdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\n&gt; CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'asterisk_123';\n&gt; GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'localhost';\n&gt; GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO 'asterisk'@'localhost';\n&gt; QUIT\n<\/code><\/pre>\n<h3>NGINX<\/h3>\n<pre><code class=\"language-bash\">apt install nginx\nvi \/etc\/nginx\/nginx.conf\n<\/code><\/pre>\n<p>\u0412 \u0441\u0435\u043a\u0446\u0438\u0438 <code>http<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<pre><code class=\"language-nginx\">http {\n    client_max_body_size 128M;\n    ...\n}\n<\/code><\/pre>\n<p><strong>\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043e 128 \u041c\u0431.<\/strong><\/p>\n<pre><code class=\"language-bash\">systemctl restart nginx\n<\/code><\/pre>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c <code>http:\/\/&lt;IP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430&gt;<\/code> \u2014 \u0443\u0432\u0438\u0434\u0438\u043c \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 NGINX.<\/p>\n<h3>PHP \u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b<\/h3>\n<p>\u0412\u0435\u0440\u0441\u0438\u044f PHP \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 FreePBX: \u0434\u043b\u044f <strong>FreePBX 17<\/strong> \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f <strong>PHP 8.2<\/strong>. \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/sangomakb.atlassian.net\/wiki\/spaces\/FP\/pages\/10682545\/How+to+Install+FreePBX+17+on+Debian+12+with+Asterisk+20\">\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 Sangoma<\/a>.<\/p>\n<pre><code class=\"language-bash\">PHP_VER=8.2\n<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0432\u0435\u0440\u0441\u0438\u044f \u0435\u0441\u0442\u044c \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445:<\/p>\n<pre><code class=\"language-bash\">apt search --names-only '^php[.0-9]{3}$'\n<\/code><\/pre>\n<p><strong>\u0430) \u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0431\u0435\u0437 \u0434\u043e\u043f. \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/strong><\/p>\n<pre><code class=\"language-bash\">apt install php php-fpm php-bcmath php-gd php-json php-mbstring php-mysqlnd php-pear php-snmp php-zip php-curl php-xml --no-install-recommends\n<\/code><\/pre>\n<p><strong>\u0431) \u041d\u0443\u0436\u0435\u043d \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439:<\/strong><\/p>\n<p>\u0414\u043b\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PHP \u0441\u043c. \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <a href=\"https:\/\/www.imaxis.ru\/miniinstruktions.php?mini=php-ubuntu\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 PHP \u043d\u0430 Ubuntu<\/a> \u0438 <a href=\"https:\/\/www.imaxis.ru\/miniinstruktions.php?mini=php-debian\">\u043d\u0430 Debian<\/a>, \u0437\u0430\u0442\u0435\u043c:<\/p>\n<pre><code class=\"language-bash\">apt install php${PHP_VER}-fpm php${PHP_VER}-bcmath php${PHP_VER}-gd php${PHP_VER}-json php${PHP_VER}-mbstring php${PHP_VER}-mysqlnd php${PHP_VER}-snmp php${PHP_VER}-zip php${PHP_VER}-curl php${PHP_VER}-xml --no-install-recommends\n<\/code><\/pre>\n<p>\u041f\u0440\u0430\u0432\u0438\u043c <code>php.ini<\/code>:<\/p>\n<pre><code class=\"language-bash\">vi \/etc\/php\/${PHP_VER}\/fpm\/php.ini\n<\/code><\/pre>\n<pre><code>upload_max_filesize = 128M\npost_max_size = 128M\ndate.timezone = &quot;Europe\/Moscow&quot;\nmemory_limit = 512M\n<\/code><\/pre>\n<p>\u0433\u0434\u0435:<\/p>\n<ul>\n<li><code>upload_max_filesize<\/code> \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430;<\/li>\n<li><code>post_max_size<\/code> \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u0432\u0441\u0435\u0445 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0437\u0430 \u0440\u0430\u0437;<\/li>\n<li><code>date.timezone<\/code> \u2014 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0437\u043e\u043d\u0430;<\/li>\n<li><code>memory_limit<\/code> \u2014 \u043b\u0438\u043c\u0438\u0442 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430.<\/li>\n<\/ul>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u043b PHP-FPM:<\/p>\n<pre><code class=\"language-bash\">vi \/etc\/php\/${PHP_VER}\/fpm\/pool.d\/asterisk.conf\n<\/code><\/pre>\n<pre><code class=\"language-ini\">[asterisk]\nuser = asterisk\ngroup = asterisk\nlisten = \/run\/php\/php-fpm-asterisk.sock\nlisten.owner = www-data\nlisten.group = www-data\npm = dynamic\npm.max_children = 10\npm.start_servers = 4\npm.min_spare_servers = 2\npm.max_spare_servers = 6\n<\/code><\/pre>\n<p><strong>FreePBX \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0432 <code>\/etc\/asterisk<\/code>, \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u2014 <code>asterisk<\/code>; \u043f\u043e\u044d\u0442\u043e\u043c\u0443 PHP \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0447\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432.<\/strong><\/p>\n<pre><code class=\"language-bash\">systemctl restart php${PHP_VER}-fpm\n<\/code><\/pre>\n<h3>NGINX + PHP<\/h3>\n<pre><code class=\"language-bash\">vi \/etc\/nginx\/sites-enabled\/default\n<\/code><\/pre>\n<p>\u0412 \u0431\u043b\u043e\u043a\u0435 <code>server<\/code>:<\/p>\n<pre><code class=\"language-nginx\">root \/var\/www\/html;\nindex index.php ...;\n\nlocation ~ .php$ {\n    set $root_path \/var\/www\/html;\n    fastcgi_pass unix:\/run\/php\/php-fpm-asterisk.sock;\n    fastcgi_index index.php;\n    include fastcgi_params;\n    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n    fastcgi_param PATH_INFO $fastcgi_path_info;\n    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;\n    fastcgi_param SERVER_NAME $host;\n}\n<\/code><\/pre>\n<p><strong><code>root<\/code> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441\u0430\u0439\u0442\u0430, <code>index<\/code> \u2014 \u0444\u0430\u0439\u043b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, <code>location ~ .php$<\/code> \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 PHP-\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u043d\u0430\u0448 \u043f\u0443\u043b.<\/strong><\/p>\n<pre><code class=\"language-bash\">nginx -t &amp;&amp; nginx -s reload\n<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b:<\/p>\n<pre><code class=\"language-bash\">vi \/var\/www\/html\/index.php\n<\/code><\/pre>\n<pre><code class=\"language-php\">&lt;?php phpinfo();\n<\/code><\/pre>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c <code>http:\/\/&lt;IP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430&gt;<\/code> \u2014 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 PHP \u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438.<\/p>\n<h3>NodeJS<\/h3>\n<p>\u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 Ubuntu \u0432\u0435\u0440\u0441\u0438\u044f NodeJS \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439. \u0421\u0442\u0430\u0432\u0438\u043c Node 20:<\/p>\n<pre><code class=\"language-bash\">export NODE_VER=20\ncurl -sL https:\/\/deb.nodesource.com\/setup_${NODE_VER}.x | bash -\napt install nodejs\nnode --version\n<\/code><\/pre>\n<hr \/>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Asterisk<\/h2>\n<p>\u0421\u0442\u0430\u0432\u0438\u043c <strong>Asterisk 22 LTS<\/strong>. \u0412\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u2014 \u043d\u0430 <a href=\"https:\/\/www.asterisk.org\/downloads\/asterisk\/all-asterisk-versions\/\">\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a<\/a>. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u0439\u0442\u0435 <a href=\"https:\/\/sangomakb.atlassian.net\/wiki\/spaces\/FP\/pages\/9732145\/Installing+FreePBX+GUI+Manually+Experts+Only\">\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u0439 Asterisk \u0438 FreePBX<\/a>.<\/p>\n<pre><code class=\"language-bash\">wget https:\/\/downloads.asterisk.org\/pub\/telephony\/asterisk\/asterisk-22-current.tar.gz\ntar -zxf asterisk-*.tar.gz\ncd asterisk-*\/\n<\/code><\/pre>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"language-bash\">.\/contrib\/scripts\/install_prereq install\n<\/code><\/pre>\n<p>\u041d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441\u0442\u0440\u0430\u043d\u044b \u0432\u0432\u043e\u0434\u0438\u043c <code>7<\/code> (\u0434\u043b\u044f \u0420\u043e\u0441\u0441\u0438\u0438). \u0412 \u043a\u043e\u043d\u0446\u0435 \u0443\u0432\u0438\u0434\u0438\u043c:<\/p>\n<pre><code>## install completed successfully\n<\/code><\/pre>\n<p>\u0427\u0438\u0441\u0442\u0438\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b:<\/p>\n<pre><code class=\"language-bash\">make distclean\n<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f mp3:<\/p>\n<pre><code class=\"language-bash\">.\/contrib\/scripts\/get_mp3_source.sh\n<\/code><\/pre>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c:<\/p>\n<pre><code class=\"language-bash\">.\/configure\n<\/code><\/pre>\n<p><strong>\u0411\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u043f\u0446\u0438\u0439; \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u2014 <code>.\/configure -h<\/code>.<\/strong><\/p>\n<p>\u0412\u044b\u0431\u043e\u0440 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 (\u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e):<\/p>\n<pre><code class=\"language-bash\">make menuselect\n<\/code><\/pre>\n<p>\u0421\u0431\u043e\u0440\u043a\u0430:<\/p>\n<pre><code class=\"language-bash\">make -j `nproc`\n<\/code><\/pre>\n<pre><code>+--------- Asterisk Build Complete ---------+\n+ Asterisk has successfully been built, and +\n+ can be installed by running:              +\n+                make install               +\n+-------------------------------------------+\n<\/code><\/pre>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430:<\/p>\n<pre><code class=\"language-bash\">make install\nmake config\nmake samples\n<\/code><\/pre>\n<p><strong><code>make install<\/code> \u2014 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430, <code>make config<\/code> \u2014 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430, <code>make samples<\/code> \u2014 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432.<\/strong><\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>asterisk<\/code>:<\/p>\n<pre><code class=\"language-bash\">vi \/etc\/asterisk\/asterisk.conf\n<\/code><\/pre>\n<p>\u0420\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0438 \u043f\u0440\u0430\u0432\u0438\u043c:<\/p>\n<pre><code>runuser = asterisk\nrungroup = asterisk\ndefaultlanguage = ru\ndocumentation_language = ru_RU\n<\/code><\/pre>\n<p>\u0412\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432:<\/p>\n<pre><code class=\"language-bash\">chown -R asterisk:asterisk \/var\/run\/asterisk \/etc\/asterisk \/var\/{lib,log,spool}\/asterisk \/var\/log\/asterisk\n<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043c\u043e\u0434\u0443\u043b\u0435\u0439:<\/p>\n<pre><code class=\"language-bash\">vi \/etc\/asterisk\/modules.conf\n<\/code><\/pre>\n<p><strong><code>chan_sip<\/code> \u0443\u0441\u0442\u0430\u0440\u0435\u043b \u0438 \u0432 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code>chan_pjsip<\/code>.<\/strong><\/p>\n<p>\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:<\/p>\n<pre><code class=\"language-bash\">asterisk -c\n<\/code><\/pre>\n<p>\u0414\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c <strong>Asterisk Ready<\/strong>. \u041e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b \u2014 \u043e\u0431\u044b\u0447\u043d\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441:<\/p>\n<pre><code class=\"language-bash\">systemctl enable asterisk\nsystemctl start asterisk\n<\/code><\/pre>\n<hr \/>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 FreePBX<\/h2>\n<pre><code class=\"language-bash\">cd ~\napt install sox mpg123\n<\/code><\/pre>\n<p>\u0433\u0434\u0435:<\/p>\n<ul>\n<li><code>sox<\/code> \u2014 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0430\u0443\u0434\u0438\u043e;<\/li>\n<li><code>mpg123<\/code> \u2014 \u0434\u0435\u043a\u043e\u0434\u0435\u0440 mp3 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/li>\n<\/ul>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c FreePBX 17:<\/p>\n<pre><code class=\"language-bash\">wget http:\/\/mirror.freepbx.org\/modules\/packages\/freepbx\/freepbx-17.0-latest.tgz\ntar -zxf freepbx-*.tgz\ncd freepbx\n<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c Asterisk:<\/p>\n<pre><code class=\"language-bash\">.\/start_asterisk start\n<\/code><\/pre>\n<pre><code>STARTING ASTERISK\nAsterisk is already running\n<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443:<\/p>\n<pre><code class=\"language-bash\">.\/install -n --dbuser=asterisk --dbpass=asterisk_123 --webroot=\/var\/www\/html\n<\/code><\/pre>\n<p><strong>\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0421\u0423\u0411\u0414 (<code>asterisk<\/code> \/ <code>asterisk_123<\/code>) \u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 NGINX.<\/strong><\/p>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435:<\/p>\n<pre><code>You have successfully installed FreePBX\n<\/code><\/pre>\n<p>\u0421\u0442\u0430\u0432\u0438\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438:<\/p>\n<pre><code class=\"language-bash\">fwconsole ma install pm2 cdr\n<\/code><\/pre>\n<p>\u0433\u0434\u0435:<\/p>\n<ul>\n<li><code>pm2<\/code> \u2014 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 NodeJS;<\/li>\n<li><code>cdr<\/code> \u2014 \u043e\u0442\u0447\u0451\u0442\u044b \u043e \u0437\u0432\u043e\u043d\u043a\u0430\u0445.<\/li>\n<\/ul>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0432\u0441\u0451:<\/p>\n<pre><code class=\"language-bash\">fwconsole ma updateall\nfwconsole reload --verbose\n<\/code><\/pre>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c <code>http:\/\/&lt;IP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430&gt;<\/code> \u2014 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043c\u0430\u0441\u0442\u0435\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 FreePBX. \u0417\u0430\u0434\u0430\u0451\u043c \u043b\u043e\u0433\u0438\u043d, \u043f\u0430\u0440\u043e\u043b\u044c \u0438 email \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430, \u0432\u0445\u043e\u0434\u0438\u043c \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.<\/p>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043b\u0438\u0448\u043d\u0438\u0435 include \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430:<\/p>\n<pre><code class=\"language-bash\">vi \/etc\/asterisk\/manager.conf\n<\/code><\/pre>\n<p>\u041c\u0435\u043d\u044f\u0435\u043c:<\/p>\n<pre><code>#include manager_additional.conf\n#include manager_custom.conf\n<\/code><\/pre>\n<p>\u043d\u0430:<\/p>\n<pre><code>;include manager_additional.conf\n;include manager_custom.conf\n<\/code><\/pre>\n<pre><code class=\"language-bash\">systemctl restart asterisk\n<\/code><\/pre>\n<p>Asterisk + FreePBX \u0433\u043e\u0442\u043e\u0432\u044b.<\/p>\n<hr \/>\n<h2>CDR \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>\u0415\u0441\u043b\u0438 CDR \u043d\u0435 \u043f\u0438\u0448\u0435\u0442\u0441\u044f, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c ODBC \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 Asterisk:<\/p>\n<pre><code class=\"language-bash\">asterisk -r\n&gt; odbc show\n<\/code><\/pre>\n<pre><code>ODBC DSN Settings\n-----------------\n  Name:   asteriskcdrdb\n  DSN:    MySQL-asteriskcdrdb\n    Last fail connection attempt: 2021-05-08 10:25:52\n    Number of active connections: 0 (out of 5)\n    Logging: Disabled\n<\/code><\/pre>\n<p>\u041d\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a <code>asteriskcdrdb<\/code>. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c DSN:<\/p>\n<pre><code class=\"language-bash\">isql -v MySQL-asteriskcdrdb\n<\/code><\/pre>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438:<\/p>\n<pre><code>[01000][unixODBC][Driver Manager]Can't open lib '\/usr\/lib64\/libmyodbc5.so' : file not found\n<\/code><\/pre>\n<pre><code>[IM002][unixODBC][Driver Manager]Data source name not found and no default driver specified\n<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 <code>isql: command not found<\/code>:<\/p>\n<pre><code class=\"language-bash\">apt install unixodbc odbcinst\n<\/code><\/pre>\n<p>\u041d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440 ODBC \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432 <code>odbc.ini<\/code>. \u0414\u043b\u044f MariaDB \u2014 \u0441\u043c. <a href=\"https:\/\/www.imaxis.ru\/miniinstruktions.php?mini=php-odbc-mysql#connector\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e ODBC<\/a>.<\/p>\n<pre><code class=\"language-bash\">vi \/etc\/odbc.ini\n<\/code><\/pre>\n<pre><code class=\"language-ini\">[MySQL-asteriskcdrdb]\ndriver=MariaDB\nServer=127.0.0.1\n#Socket=\n<\/code><\/pre>\n<p><strong>\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u2014 \u0432 <code>\/etc\/odbcinst.ini<\/code>.<\/strong><\/p>\n<pre><code class=\"language-bash\">vi \/etc\/odbcinst.ini\n<\/code><\/pre>\n<pre><code class=\"language-ini\">[MariaDB]\nDescription     = ODBC for MariaDB\nDriver          = \/usr\/lib\/libmaodbc.so\nDriver64        = \/usr\/lib64\/libmaodbc.so\nFileUsage       = 1\n<\/code><\/pre>\n<p>\u041f\u0443\u0442\u044c \u0434\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u2014 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0435\u0451:<\/p>\n<pre><code class=\"language-bash\">find \/ -name libmaodbc.so\n<\/code><\/pre>\n<pre><code class=\"language-bash\">systemctl restart asterisk\nasterisk -r\n&gt; odbc show\n<\/code><\/pre>\n<pre><code>  Number of active connections: 1 (out of 5)\n<\/code><\/pre>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<hr \/>\n<h2>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438<\/h2>\n<h3>The user asterisk cannot use this program (crontab)<\/h3>\n<p>\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 FreePBX:<\/p>\n<pre><code>Cron line added didn't remain in crontab on final check. Check \/var\/spool\/asterisk\/tmp\/cron.error for reason.\n<\/code><\/pre>\n<p>\u0412 <code>\/var\/spool\/asterisk\/tmp\/cron.error<\/code>:<\/p>\n<pre><code>The user asterisk cannot use this program (crontab)\n<\/code><\/pre>\n<p><strong>\u041f\u0440\u0438\u0447\u0438\u043d\u0430:<\/strong> \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e <code>asterisk<\/code> \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c cron.<\/p>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code class=\"language-bash\">vi \/etc\/cron.deny\n<\/code><\/pre>\n<p>\u0423\u0434\u0430\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 <code>asterisk<\/code>.<\/p>\n<h3>don&#8217;t understand Storage database<\/h3>\n<pre><code>Coding Error - don't understand ': Storage database:' from \/etc\/asterisk\/voicemail.conf\nThe command &quot;\/usr\/sbin\/fwconsole ma install core dashboard sipsettings voicemail certman&quot; failed.\n<\/code><\/pre>\n<p><strong>\u041f\u0440\u0438\u0447\u0438\u043d\u0430:<\/strong> \u0432 <code>\/etc\/asterisk\/voicemail.conf<\/code> \u0441\u0442\u0440\u043e\u043a\u0430 <code>Storage database<\/code> \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 <code>:<\/code> \u0432\u043c\u0435\u0441\u0442\u043e <code>;<\/code>.<\/p>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code class=\"language-bash\">vi \/etc\/asterisk\/voicemail.conf\n<\/code><\/pre>\n<p>\u041c\u0435\u043d\u044f\u0435\u043c:<\/p>\n<pre><code>: Storage database:\n<\/code><\/pre>\n<p>\u043d\u0430:<\/p>\n<pre><code>; Storage database:\n<\/code><\/pre>\n<p>\u0423\u0434\u0430\u043b\u044f\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u0438 \u0431\u0430\u0437\u044b \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438:<\/p>\n<pre><code class=\"language-bash\">rm -rf \/var\/www\/html\/*\nmysql\n&gt; drop database asterisk;\n&gt; drop database asteriskcdrdb;\n&gt; quit\n<\/code><\/pre>\n<p>\u0418 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0437\u0430\u043d\u043e\u0432\u043e:<\/p>\n<pre><code class=\"language-bash\">.\/install -n --dbuser root --dbpass --webroot=\/var\/www\/html\n<\/code><\/pre>\n<hr \/>\n<h2>\u0422\u043e\u043d\u043a\u043e\u0441\u0442\u0438 \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438<\/h2>\n<ul>\n<li><strong>\u0412\u0435\u0440\u0441\u0438\u0438 Asterisk\/FreePBX \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443<\/strong> \u2014 \u0441\u0432\u0435\u0440\u044f\u0439\u0442\u0435\u0441\u044c \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 Sangoma \u043f\u0435\u0440\u0435\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439.<\/li>\n<li><strong>PHP-\u0432\u0435\u0440\u0441\u0438\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430<\/strong> \u2014 FreePBX 17 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 PHP 8.2; \u043d\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 Ubuntu \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <code>ondrej\/php<\/code>.<\/li>\n<li><strong><code>chan_sip<\/code> \u0443\u0441\u0442\u0430\u0440\u0435\u043b<\/strong> \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code>chan_pjsip<\/code>.<\/li>\n<li><strong>\u041f\u0443\u043b PHP-FPM \u043e\u0442 <code>asterisk<\/code><\/strong> \u2014 \u0438\u043d\u0430\u0447\u0435 \u043f\u0430\u043d\u0435\u043b\u044c \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0410\u0422\u0421.<\/li>\n<li><strong><code>client_max_body_size<\/code> \u0438 <code>upload_max_filesize<\/code><\/strong> \u2014 \u0431\u0435\u0437 \u043d\u0438\u0445 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u044f\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b\u044b.<\/li>\n<li><strong>NodeJS 20<\/strong> \u2014 \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b \u0441 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 FreePBX.<\/li>\n<li><strong>CDR \u0447\u0435\u0440\u0435\u0437 ODBC<\/strong> \u2014 \u043d\u0430 MariaDB \u043d\u0443\u0436\u0435\u043d \u0434\u0440\u0430\u0439\u0432\u0435\u0440 <code>libmaodbc.so<\/code> \u0438 \u043f\u0440\u0430\u0432\u043a\u0430 <code>odbc.ini<\/code>.<\/li>\n<\/ul>\n<hr \/>\n<h2>\u0428\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430<\/h2>\n<pre><code class=\"language-bash\"># \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430\napt install wget tar ca-certificates curl gnupg cron language-pack-ru chrony\ntimedatectl set-timezone Europe\/Moscow\nuseradd asterisk -m\n\n# \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\napt install nginx mysql-server php8.2-fpm php8.2-{bcmath,gd,json,mbstring,mysqlnd,snmp,zip,curl,xml}\n# \u043f\u0443\u043b php-fpm \u043e\u0442 asterisk -&gt; \/run\/php\/php-fpm-asterisk.sock\n\n# asterisk 22\nwget https:\/\/downloads.asterisk.org\/pub\/telephony\/asterisk\/asterisk-22-current.tar.gz\n.\/contrib\/scripts\/install_prereq install &amp;&amp; .\/configure &amp;&amp; make -j `nproc`\nmake install config samples\nchown -R asterisk:asterisk \/etc\/asterisk \/var\/{lib,log,spool}\/asterisk\nsystemctl enable asterisk --now\n\n# freepbx 17\nwget http:\/\/mirror.freepbx.org\/modules\/packages\/freepbx\/freepbx-17.0-latest.tgz\n.\/install -n --dbuser=asterisk --dbpass=asterisk_123 --webroot=\/var\/www\/html\nfwconsole ma install pm2 cdr &amp;&amp; fwconsole ma updateall\n<\/code><\/pre>\n<p><em>\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e \u043d\u0430: Ubuntu 22.04\/24.04\/26.04, Debian 12 + Asterisk 22 LTS, FreePBX 17.<\/em><br \/>\n<em>\u0414\u0430\u0442\u0430: \u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2026.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Asterisk + FreePBX \u043d\u0430 Ubuntu \u0438 Debian: \u043f\u043e\u043b\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f<\/p>\n","protected":false},"author":0,"featured_media":956,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-809","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"aioseo_notices":[],"views":12,"_links":{"self":[{"href":"https:\/\/imaxis.ru\/index.php?rest_route=\/wp\/v2\/posts\/809","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imaxis.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imaxis.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/imaxis.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=809"}],"version-history":[{"count":3,"href":"https:\/\/imaxis.ru\/index.php?rest_route=\/wp\/v2\/posts\/809\/revisions"}],"predecessor-version":[{"id":852,"href":"https:\/\/imaxis.ru\/index.php?rest_route=\/wp\/v2\/posts\/809\/revisions\/852"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imaxis.ru\/index.php?rest_route=\/wp\/v2\/media\/956"}],"wp:attachment":[{"href":"https:\/\/imaxis.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=809"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imaxis.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=809"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imaxis.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=809"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}