Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =============================================================================================================================================================================================
- DEBIAN
- apt-get update && apt-get upgrade -y
- 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
- systemctl start mariadb
- systemctl enable mariadb
- systemctl reload apache2
- systemctl enable apache2
- php -v
- a2enmod php7.4
- a2enmod rewrite
- cd /usr/src/
- wget https://files.phpmyadmin.net/phpMyAdmin/4.9.1/phpMyAdmin-4.9.1-all-languages.tar.gz
- tar xvf phpMyAdmin-4.9.1-all-languages.tar.gz
- mv phpMyAdmin-4.9.1-all-languages /usr/share/phpmyadmin
- mkdir -p /var/lib/phpmyadmin/tmp
- chown -R www-data:www-data /var/lib/phpmyadmin
- chown -R www-data:www-data /usr/share/phpmyadmin
- mkdir /etc/phpmyadmin/
- cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
- pwgen -s 32 1
- sed -i "s/$cfg['sBQQD33gbUwZVxvztyzspgzFrnSldW7c'] = .*/$cfg['sBQQD33gbUwZVxvztyzspgzFrnSldW7c'] = 'sBQQD33gbUwZVxvztyzspgzFrnSldW7c' /" /usr/share/phpmyadmin/config.inc.php
- echo "//$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';" >> /usr/share/phpmyadmin/config.inc.php
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- cat > /etc/apache2/conf-enabled/phpmyadmin.conf << 'EOF'
- Alias /phpmyadmin /usr/share/phpmyadmin
- <Directory /usr/share/phpmyadmin>
- Options SymLinksIfOwnerMatch
- DirectoryIndex index.php
- <IfModule mod_php5.c>
- <IfModule mod_mime.c>
- AddType application/x-httpd-php .php
- </IfModule>
- <FilesMatch ".+\.php$">
- SetHandler application/x-httpd-php
- </FilesMatch>
- php_value include_path .
- php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
- 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/
- php_admin_value mbstring.func_overload 0
- </IfModule>
- <IfModule mod_php.c>
- <IfModule mod_mime.c>
- AddType application/x-httpd-php .php
- </IfModule>
- <FilesMatch ".+\.php$">
- SetHandler application/x-httpd-php
- </FilesMatch>
- php_value include_path .
- php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
- 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/
- php_admin_value mbstring.func_overload 0
- </IfModule>
- </Directory>
- # Authorize for setup
- <Directory /usr/share/phpmyadmin/setup>
- <IfModule mod_authz_core.c>
- <IfModule mod_authn_file.c>
- AuthType Basic
- AuthName "phpMyAdmin Setup"
- AuthUserFile /etc/phpmyadmin/htpasswd.setup
- </IfModule>
- Require valid-user
- </IfModule>
- </Directory>
- # Disallow web access to directories that don't need it
- <Directory /usr/share/phpmyadmin/templates>
- Require all denied
- </Directory>
- <Directory /usr/share/phpmyadmin/libraries>
- Require all denied
- </Directory>
- <Directory /usr/share/phpmyadmin/setup/lib>
- Require all denied
- </Directory>
- EOF
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- mariadb < /usr/share/phpmyadmin/sql/create_tables.sql -uroot -p1234566
- mariadb -uroot -p1234566 <<MY_QUERY
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234566' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- MY_QUERY
- systemctl restart apache2
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- sed -i "s/\(upload_max_filesize = \).*/\120M/" /etc/php/7.4/apache2/php.ini
- sed -i "s/post_max_size = .*/post_max_size = 80M /" /etc/php/7.4/apache2/php.ini
- sed -i "s/memory_limit = .*/memory_limit = 512M /" /etc/php/7.4/apache2/php.ini
- sed -i 's%;date.timezone =%date.timezone = Europe/Moscow%g' /etc/php/7.4/apache2/php.ini
- cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
- sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
- systemctl restart php7.4-fpm.service
- systemctl restart apache2.service
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- apt-get update && apt-get upgrade -y
- cd /usr/src
- wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
- tar xvfz asterisk-16-current.tar.gz
- cd asterisk-16.29.0/
- contrib/scripts/get_mp3_source.sh
- contrib/scripts/install_prereq install
- ./configure NOISY_BUILD=yes --with-crypto --with-ssl=ssl --with-srtp --with-jansson-bundled
- make menuselect
- make && make install && make config && make samples && ldconfig
- adduser --system --group --home /var/lib/asterisk --no-create-home --disabled-password --gecos "Asterisk PBX" asterisk
- usermod -a -G asterisk,dialout,audio asterisk
- sed -i "s/#AST_USER="asterisk"/AST_USER=asterisk/" /etc/default/asterisk
- sed -i "s/#AST_GROUP="asterisk"/AST_GROUP=asterisk/" /etc/default/asterisk
- sed -i "s/;runuser = asterisk/runuser=asterisk/" /etc/asterisk/asterisk.conf
- sed -i "s/;rungroup = asterisk/rungroup=asterisk/" /etc/asterisk/asterisk.conf
- chown -R asterisk:asterisk /var/lib/asterisk
- chown -R asterisk:asterisk /var/log/asterisk
- chown -R asterisk:asterisk /var/run/asterisk
- chown -R asterisk:asterisk /var/spool/asterisk
- chown -R asterisk:asterisk /usr/lib/asterisk
- chown -R asterisk:asterisk /etc/asterisk
- chmod -R u=rwX,g=rX,o=rX /var/lib/asterisk
- chmod -R u=rwX,g=rX,o=rX /var/log/asterisk
- chmod -R u=rwX,g=rX,o=rX /var/run/asterisk
- chmod -R u=rwX,g=rX,o=rX /var/spool/asterisk
- chmod -R u=rwX,g=rX,o=rX /usr/lib/asterisk
- chmod -R u=rwX,g=rX,o=rX /etc/asterisk
- systemctl enable asterisk
- systemctl start asterisk
- systemctl status asterisk
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- 1234566
- mysql -u root -p
- mysql -uroot -p1234566
- CREATE DATABASE asterisk DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'localhost' IDENTIFIED BY '1234566';
- use asterisk
- source /usr/src/asterisk-16.29.0/contrib/realtime/mysql/mysql_cdr.sql
- source /usr/src/asterisk-16.29.0/contrib/realtime/mysql/mysql_config.sql
- SHOW TABLES;
- mysql -uroot -p1234566
- mysql -uasterisk -p1234566
- use asterisk
- SHOW TABLES;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- Asterisk 16 ODBC MariaDB
- Установка необходимых пакетов ODBC и утилит
- apt-get install -y unixodbc unixodbc-dev libcppdb-odbc0 odbcinst git checkinstall cmake build-essential libssl-dev
- Установка клиенткой библиотеки MariaDB
- Этот пакет необходим для сборки драйвера unixODBC. Он накладывается на libmariadb-dev, но предоставляет дополнительные заголовочные файлы, которые отсутствуют в Debian 10.
- cd /usr/src/
- git clone https://github.com/mariadb-corporation/mariadb-connector-odbc.git
- mkdir build && cd build
- cmake ../mariadb-connector-odbc/ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCONC_WITH_UNIT_TESTS=Off -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_SSL=OPENSSL
- cmake --build . --config RelWithDebInfo
- make install
- cp /usr/local/lib/mariadb/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/
- Настройка подключения к Asterisk 16
- mcedit /etc/odbcinst.ini
- [MariaDB]
- Description = ODBC for MariaDB
- Driver = /usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so
- Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
- FileUsage = 1
- UsageCount = 1
- find / -name libmaodbc.so -print
- find / -name libodbcmyS.so -print
- Мы настраиваем пул для подключения так, как это, вероятно, требуется большинству пользователей. Обратитесь к документации unixODBC, чтобы узнать больше о функции соединений ODBC.
- Также может быть использована конфигурация для PostgreSQL, которую вы можете закомментировать, если вы не планируете настраивать PostgreSQL. Комментарии начинаются с символа хеш (#).
- Вы также можете проверить odbcinst, чтобы убедиться, что конфигурация найдена.
- odbcinst -q -d
- Вывод должен быть примерно следующий:
- [MariaDB]
- mcedit /etc/odbc.ini
- [MariaDB-asterisk]
- Description=MySQL connection to Asterisk
- Trace = Yes
- TraceFile = /tmp/odbc.log
- Driver=MariaDB
- Server=localhost
- User=asterisk
- Password=1234566
- Database=asterisk
- Port=3306
- Socket=/var/run/mysqld/mysqld.sock
- Option=3
- Charset=utf8
- Не забудьте изменить значения:
- Server=localhost
- User=asterisk
- Password=1234566
- Database=asterisk
- на свои.
- mcedit /etc/asterisk/cdr_adaptive_odbc.conf
- [asterisk]
- connection=asterisk
- table=cdr
- loguniqueid=yes
- usegmtime=no
- alias start => calldate
- alias realdst => realdst
- alias remoteip => remoteip
- alias start => calldate
- alias hangupcause => hangupcause
- alias peerip => peerip
- alias recvip => recvip
- alias fromuri => fromuri
- alias useragent => useragent
- alias filename => filename
- mcedit /etc/asterisk/res_odbc.conf
- [ENV]
- [asterisk]
- enabled=>yes
- dsn=>MariaDB-asterisk
- ;pooling=>no
- ;limit=>1
- pre-connect=>yes
- username=>asterisk
- password=>1234566
- Не забудьте изменить значения:
- username=asterisk
- password=1234566
- на свои.
- mcedit /etc/asterisk/cel_odbc.conf
- [cel]
- connection=asterisk
- loguniqueid=yes
- table=cel
- mcedit /etc/asterisk/cdr_odbc.conf
- [global]
- dsn=asterisk
- loguniqueid=yes
- dispositionstring=yes
- table=cdr
- usegmtime=no
- hrtime=yes
- newcdrcolumns=yes
- Подводя итог, установка и настройка Asterisk 16 ODBC MariaDB окончена! Подключение настроено и теперь ваши CDR данные должны успешно записываться в БД.
- ////////////////////////////////////////////////////
- mysqldump -v -h127.0.0.1 -uroot -p1234566 asterisk > /home/load/dump.sql
- mysqldump -v -h127.0.0.1 -uroot -p1234566 asterisk > /home/load/dump.sql
- mysql -h127.0.0.1 -uroot -p1234566 test < /home/load/dump.sql
- mysql -h127.0.0.1 -uroot -p1234566 test < /home/load/asterisk.sql
- find / -name my.conf -print
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpu60e8BgDKpoVuaoIXqVnY5l2peyQyDzT/jHGcXB8hqLJLdfrZNirG6VTxjdE71LpixrQ3pnSH2JYioWkzJeYZhetFavdQ3dMAIE6axgRt3ykv9HJbwyFgYJuayee2J1tqTcx3n4/08QXi7Avb2hwgKLJgiUYOyq5bOM2GaHUgtxBVHQUFbfTDZuamDKb+ztoUFF1t86E01VafIXif/OlwLQrUZqxQ2wbNqdxVGp8z6j4+3bBoDyL+Qa7Q44PYtA6OZyZ4qS3i2tG6yeUhyVhp9pjXLTVNHU82emzCbj1LXjR4SG2gqn/zZB+5QQov2OBa3LlGB220AG1gFKr87CV rsa-key-20221117
- mkdir -p ~/.ssh
- echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpu60e8BgDKpoVuaoIXqVnY5l2peyQyDzT/jHGcXB8hqLJLdfrZNirG6VTxjdE71LpixrQ3pnSH2JYioWkzJeYZhetFavdQ3dMAIE6axgRt3ykv9HJbwyFgYJuayee2J1tqTcx3n4/08QXi7Avb2hwgKLJgiUYOyq5bOM2GaHUgtxBVHQUFbfTDZuamDKb+ztoUFF1t86E01VafIXif/OlwLQrUZqxQ2wbNqdxVGp8z6j4+3bBoDyL+Qa7Q44PYtA6OZyZ4qS3i2tG6yeUhyVhp9pjXLTVNHU82emzCbj1LXjR4SG2gqn/zZB+5QQov2OBa3LlGB220AG1gFKr87CV rsa-key-20221117 >> ~/.ssh/authorized_keys
- /etc/mysql/my.cnf
- [client-server]
- # Port or socket location where to connect
- # port = 3306
- socket = /run/mysqld/mysqld.sock
- # Import all .cnf files from configuration directory
- !includedir /etc/mysql/conf.d/
- !includedir /etc/mysql/mariadb.conf.d/
- SHOW GLOBAL VARIABLES LIKE 'innodb_file%';
- use asterisk
- SHOW TABLES;
- gunzip < asterisk.sql.gz | mysql -uroot -p1234566 temp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement