Advertisement
load-net

Быстрая Установка Asterisk 16 на Debian 10

Nov 17th, 2022
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.21 KB | None | 0 0
  1. =============================================================================================================================================================================================
  2.  
  3.  
  4.  
  5.  
  6. DEBIAN
  7. apt-get update && apt-get upgrade -y
  8.  
  9. apt-get install -y git wget curl sudo apt-transport-https lsb-release systemd systemd-sysv ca-certificates dialog dirmngr openssh-server bash bash-completion htop iftop nmap unzip bzip2 mc telnet pwgen mariadb-server mariadb-client libmariadb3 libmariadb-dev apache2 apache2-utils php libapache2-mod-php php-cli php-cgi php-pear php-common php-phpseclib php-mbstring php-fpm php-json php-pdo php-mysql php-mysqli php-imagick php-zip php-gd php-curl php-mbstring php-curl php-xml php-pear php-bcmath linux-headers-`uname -r` libapache2-mod-log-sql-ssl libfreetype6-dev doxygen yasm nasm gdb cmake build-essential make automake autoconf 'libtool-bin|libtool' python python-dev uuid uuid-dev 'libjpeg8-dev|libjpeg62-turbo-dev' libncurses5-dev libssl-dev libpcre3-dev libcurl4-openssl-dev libldns-dev libedit-dev libspeexdsp-dev libsqlite3-dev perl libgdbm-dev libdb-dev ccache libpng-dev libopenal-dev libcodec2-dev libsoundtouch-dev libmagickcore-dev liblua5.2-dev libsndfile-dev libopencv-dev libavformat-dev libx264-dev erlang-dev libldap2-dev libperl-dev libpq-dev subversion gcc lynx bison flex memcached libshout3-dev libvpx-dev mpg123 libmpg123-dev libmp3lame-dev libncurses5-dev libpng16-16 libxml2-dev libxml2 libcurl4 libnewt-dev sqlite3 libasound2-dev sox pkg-config libedit-dev libcppdb-odbc0 unixodbc unixodbc-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp2-1 libspandsp-dev sendmail sendmail-bin sendmail-cf haveged odbcinst nodejs dahdi dahdi-linux dahdi-source libpri1.4 libpri-dev iptables-persistent netfilter-persistent ipset fail2ban
  10.  
  11. systemctl start mariadb
  12. systemctl enable mariadb
  13.  
  14. systemctl reload apache2
  15. systemctl enable apache2
  16.  
  17. php -v
  18. a2enmod php7.4
  19. a2enmod rewrite
  20.  
  21. cd /usr/src/
  22. wget https://files.phpmyadmin.net/phpMyAdmin/4.9.1/phpMyAdmin-4.9.1-all-languages.tar.gz
  23. tar xvf phpMyAdmin-4.9.1-all-languages.tar.gz
  24. mv phpMyAdmin-4.9.1-all-languages /usr/share/phpmyadmin
  25. mkdir -p /var/lib/phpmyadmin/tmp
  26. chown -R www-data:www-data /var/lib/phpmyadmin
  27. chown -R www-data:www-data /usr/share/phpmyadmin
  28. mkdir /etc/phpmyadmin/
  29. cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
  30.  
  31. pwgen -s 32 1
  32.  
  33.  
  34. sed -i "s/$cfg['sBQQD33gbUwZVxvztyzspgzFrnSldW7c'] = .*/$cfg['sBQQD33gbUwZVxvztyzspgzFrnSldW7c'] = 'sBQQD33gbUwZVxvztyzspgzFrnSldW7c' /" /usr/share/phpmyadmin/config.inc.php
  35. echo "//$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';" >> /usr/share/phpmyadmin/config.inc.php
  36.  
  37. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  39.  
  40. cat > /etc/apache2/conf-enabled/phpmyadmin.conf << 'EOF'
  41. Alias /phpmyadmin /usr/share/phpmyadmin
  42. <Directory /usr/share/phpmyadmin>
  43. Options SymLinksIfOwnerMatch
  44. DirectoryIndex index.php
  45. <IfModule mod_php5.c>
  46. <IfModule mod_mime.c>
  47. AddType application/x-httpd-php .php
  48. </IfModule>
  49. <FilesMatch ".+\.php$">
  50. SetHandler application/x-httpd-php
  51. </FilesMatch>
  52. php_value include_path .
  53. php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
  54. php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
  55. php_admin_value mbstring.func_overload 0
  56. </IfModule>
  57. <IfModule mod_php.c>
  58. <IfModule mod_mime.c>
  59. AddType application/x-httpd-php .php
  60. </IfModule>
  61. <FilesMatch ".+\.php$">
  62. SetHandler application/x-httpd-php
  63. </FilesMatch>
  64. php_value include_path .
  65. php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
  66. php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
  67. php_admin_value mbstring.func_overload 0
  68. </IfModule>
  69. </Directory>
  70. # Authorize for setup
  71. <Directory /usr/share/phpmyadmin/setup>
  72. <IfModule mod_authz_core.c>
  73. <IfModule mod_authn_file.c>
  74. AuthType Basic
  75. AuthName "phpMyAdmin Setup"
  76. AuthUserFile /etc/phpmyadmin/htpasswd.setup
  77. </IfModule>
  78. Require valid-user
  79. </IfModule>
  80. </Directory>
  81. # Disallow web access to directories that don't need it
  82. <Directory /usr/share/phpmyadmin/templates>
  83. Require all denied
  84. </Directory>
  85. <Directory /usr/share/phpmyadmin/libraries>
  86. Require all denied
  87. </Directory>
  88. <Directory /usr/share/phpmyadmin/setup/lib>
  89. Require all denied
  90. </Directory>
  91. EOF
  92. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  93. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  94.  
  95.  
  96. mariadb < /usr/share/phpmyadmin/sql/create_tables.sql -uroot -p1234566
  97. mariadb -uroot -p1234566 <<MY_QUERY
  98. GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234566' WITH GRANT OPTION;
  99. FLUSH PRIVILEGES;
  100. MY_QUERY
  101. systemctl restart apache2
  102.  
  103. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  104. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  105.  
  106. sed -i "s/\(upload_max_filesize = \).*/\120M/" /etc/php/7.4/apache2/php.ini
  107. sed -i "s/post_max_size = .*/post_max_size = 80M /" /etc/php/7.4/apache2/php.ini
  108. sed -i "s/memory_limit = .*/memory_limit = 512M /" /etc/php/7.4/apache2/php.ini
  109. sed -i 's%;date.timezone =%date.timezone = Europe/Moscow%g' /etc/php/7.4/apache2/php.ini
  110. cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
  111. sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
  112. systemctl restart php7.4-fpm.service
  113. systemctl restart apache2.service
  114.  
  115.  
  116. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  117. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  118.  
  119. apt-get update && apt-get upgrade -y
  120. cd /usr/src
  121.  
  122. wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
  123. tar xvfz asterisk-16-current.tar.gz
  124. cd asterisk-16.29.0/
  125. contrib/scripts/get_mp3_source.sh
  126. contrib/scripts/install_prereq install
  127. ./configure NOISY_BUILD=yes --with-crypto --with-ssl=ssl --with-srtp --with-jansson-bundled
  128. make menuselect
  129.  
  130. make && make install && make config && make samples && ldconfig
  131.  
  132. adduser --system --group --home /var/lib/asterisk --no-create-home --disabled-password --gecos "Asterisk PBX" asterisk
  133. usermod -a -G asterisk,dialout,audio asterisk
  134. sed -i "s/#AST_USER="asterisk"/AST_USER=asterisk/" /etc/default/asterisk
  135. sed -i "s/#AST_GROUP="asterisk"/AST_GROUP=asterisk/" /etc/default/asterisk
  136. sed -i "s/;runuser = asterisk/runuser=asterisk/" /etc/asterisk/asterisk.conf
  137. sed -i "s/;rungroup = asterisk/rungroup=asterisk/" /etc/asterisk/asterisk.conf
  138. chown -R asterisk:asterisk /var/lib/asterisk
  139. chown -R asterisk:asterisk /var/log/asterisk
  140. chown -R asterisk:asterisk /var/run/asterisk
  141. chown -R asterisk:asterisk /var/spool/asterisk
  142. chown -R asterisk:asterisk /usr/lib/asterisk
  143. chown -R asterisk:asterisk /etc/asterisk
  144. chmod -R u=rwX,g=rX,o=rX /var/lib/asterisk
  145. chmod -R u=rwX,g=rX,o=rX /var/log/asterisk
  146. chmod -R u=rwX,g=rX,o=rX /var/run/asterisk
  147. chmod -R u=rwX,g=rX,o=rX /var/spool/asterisk
  148. chmod -R u=rwX,g=rX,o=rX /usr/lib/asterisk
  149. chmod -R u=rwX,g=rX,o=rX /etc/asterisk
  150.  
  151. systemctl enable asterisk
  152. systemctl start asterisk
  153. systemctl status asterisk
  154.  
  155.  
  156. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  157. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  158. 1234566
  159. mysql -u root -p
  160.  
  161. mysql -uroot -p1234566
  162. CREATE DATABASE asterisk DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  163. GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'localhost' IDENTIFIED BY '1234566';
  164. use asterisk
  165. source /usr/src/asterisk-16.29.0/contrib/realtime/mysql/mysql_cdr.sql
  166. source /usr/src/asterisk-16.29.0/contrib/realtime/mysql/mysql_config.sql
  167. SHOW TABLES;
  168.  
  169. mysql -uroot -p1234566
  170.  
  171. mysql -uasterisk -p1234566
  172.  
  173. use asterisk
  174. SHOW TABLES;
  175.  
  176. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  177. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  178.  
  179. Asterisk 16 ODBC MariaDB
  180. Установка необходимых пакетов ODBC и утилит
  181.  
  182. apt-get install -y unixodbc unixodbc-dev libcppdb-odbc0 odbcinst git checkinstall cmake build-essential libssl-dev
  183.  
  184. Установка клиенткой библиотеки MariaDB
  185. Этот пакет необходим для сборки драйвера unixODBC. Он накладывается на libmariadb-dev, но предоставляет дополнительные заголовочные файлы, которые отсутствуют в Debian 10.
  186.  
  187. cd /usr/src/
  188. git clone https://github.com/mariadb-corporation/mariadb-connector-odbc.git
  189.  
  190. mkdir build && cd build
  191. cmake ../mariadb-connector-odbc/ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCONC_WITH_UNIT_TESTS=Off -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_SSL=OPENSSL
  192. cmake --build . --config RelWithDebInfo
  193. make install
  194. cp /usr/local/lib/mariadb/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/
  195.  
  196. Настройка подключения к Asterisk 16
  197.  
  198. mcedit /etc/odbcinst.ini
  199.  
  200. [MariaDB]
  201. Description = ODBC for MariaDB
  202. Driver = /usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so
  203. Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
  204. FileUsage = 1
  205. UsageCount = 1
  206.  
  207.  
  208. find / -name libmaodbc.so -print
  209. find / -name libodbcmyS.so -print
  210.  
  211.  
  212. Мы настраиваем пул для подключения так, как это, вероятно, требуется большинству пользователей. Обратитесь к документации unixODBC, чтобы узнать больше о функции соединений ODBC.
  213.  
  214. Также может быть использована конфигурация для PostgreSQL, которую вы можете закомментировать, если вы не планируете настраивать PostgreSQL. Комментарии начинаются с символа хеш (#).
  215.  
  216. Вы также можете проверить odbcinst, чтобы убедиться, что конфигурация найдена.
  217.  
  218. odbcinst -q -d
  219. Вывод должен быть примерно следующий:
  220.  
  221. [MariaDB]
  222.  
  223. mcedit /etc/odbc.ini
  224.  
  225. [MariaDB-asterisk]
  226. Description=MySQL connection to Asterisk
  227. Trace = Yes
  228. TraceFile = /tmp/odbc.log
  229. Driver=MariaDB
  230. Server=localhost
  231. User=asterisk
  232. Password=1234566
  233. Database=asterisk
  234. Port=3306
  235. Socket=/var/run/mysqld/mysqld.sock
  236. Option=3
  237. Charset=utf8
  238.  
  239. Не забудьте изменить значения:
  240.  
  241. Server=localhost
  242. User=asterisk
  243. Password=1234566
  244. Database=asterisk
  245. на свои.
  246.  
  247. mcedit /etc/asterisk/cdr_adaptive_odbc.conf
  248.  
  249. [asterisk]
  250. connection=asterisk
  251. table=cdr
  252. loguniqueid=yes
  253. usegmtime=no
  254. alias start => calldate
  255. alias realdst => realdst
  256. alias remoteip => remoteip
  257. alias start => calldate
  258. alias hangupcause => hangupcause
  259. alias peerip => peerip
  260. alias recvip => recvip
  261. alias fromuri => fromuri
  262. alias useragent => useragent
  263. alias filename => filename
  264.  
  265. mcedit /etc/asterisk/res_odbc.conf
  266.  
  267. [ENV]
  268. [asterisk]
  269. enabled=>yes
  270. dsn=>MariaDB-asterisk
  271. ;pooling=>no
  272. ;limit=>1
  273. pre-connect=>yes
  274. username=>asterisk
  275. password=>1234566
  276.  
  277. Не забудьте изменить значения:
  278.  
  279. username=asterisk
  280. password=1234566
  281. на свои.
  282.  
  283. mcedit /etc/asterisk/cel_odbc.conf
  284.  
  285. [cel]
  286. connection=asterisk
  287. loguniqueid=yes
  288. table=cel
  289.  
  290. mcedit /etc/asterisk/cdr_odbc.conf
  291.  
  292. [global]
  293. dsn=asterisk
  294. loguniqueid=yes
  295. dispositionstring=yes
  296. table=cdr
  297. usegmtime=no
  298. hrtime=yes
  299. newcdrcolumns=yes
  300.  
  301. Подводя итог, установка и настройка Asterisk 16 ODBC MariaDB окончена! Подключение настроено и теперь ваши CDR данные должны успешно записываться в БД.
  302.  
  303. ////////////////////////////////////////////////////
  304. mysqldump -v -h127.0.0.1 -uroot -p1234566 asterisk > /home/load/dump.sql
  305.  
  306.  
  307. mysqldump -v -h127.0.0.1 -uroot -p1234566 asterisk > /home/load/dump.sql
  308.  
  309.  
  310. mysql -h127.0.0.1 -uroot -p1234566 test < /home/load/dump.sql
  311. mysql -h127.0.0.1 -uroot -p1234566 test < /home/load/asterisk.sql
  312.  
  313.  
  314.  
  315.  
  316. find / -name my.conf -print
  317.  
  318.  
  319.  
  320. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpu60e8BgDKpoVuaoIXqVnY5l2peyQyDzT/jHGcXB8hqLJLdfrZNirG6VTxjdE71LpixrQ3pnSH2JYioWkzJeYZhetFavdQ3dMAIE6axgRt3ykv9HJbwyFgYJuayee2J1tqTcx3n4/08QXi7Avb2hwgKLJgiUYOyq5bOM2GaHUgtxBVHQUFbfTDZuamDKb+ztoUFF1t86E01VafIXif/OlwLQrUZqxQ2wbNqdxVGp8z6j4+3bBoDyL+Qa7Q44PYtA6OZyZ4qS3i2tG6yeUhyVhp9pjXLTVNHU82emzCbj1LXjR4SG2gqn/zZB+5QQov2OBa3LlGB220AG1gFKr87CV rsa-key-20221117
  321.  
  322.  
  323. mkdir -p ~/.ssh
  324. echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpu60e8BgDKpoVuaoIXqVnY5l2peyQyDzT/jHGcXB8hqLJLdfrZNirG6VTxjdE71LpixrQ3pnSH2JYioWkzJeYZhetFavdQ3dMAIE6axgRt3ykv9HJbwyFgYJuayee2J1tqTcx3n4/08QXi7Avb2hwgKLJgiUYOyq5bOM2GaHUgtxBVHQUFbfTDZuamDKb+ztoUFF1t86E01VafIXif/OlwLQrUZqxQ2wbNqdxVGp8z6j4+3bBoDyL+Qa7Q44PYtA6OZyZ4qS3i2tG6yeUhyVhp9pjXLTVNHU82emzCbj1LXjR4SG2gqn/zZB+5QQov2OBa3LlGB220AG1gFKr87CV rsa-key-20221117 >> ~/.ssh/authorized_keys
  325.  
  326.  
  327.  
  328.  
  329. /etc/mysql/my.cnf
  330.  
  331. [client-server]
  332. # Port or socket location where to connect
  333. # port = 3306
  334. socket = /run/mysqld/mysqld.sock
  335.  
  336. # Import all .cnf files from configuration directory
  337. !includedir /etc/mysql/conf.d/
  338. !includedir /etc/mysql/mariadb.conf.d/
  339.  
  340.  
  341.  
  342.  
  343. SHOW GLOBAL VARIABLES LIKE 'innodb_file%';
  344.  
  345. use asterisk
  346. SHOW TABLES;
  347.  
  348. gunzip < asterisk.sql.gz | mysql -uroot -p1234566 temp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement