Skip to content

Instantly share code, notes, and snippets.

@krotesk
Created January 27, 2021 10:43
Show Gist options
  • Save krotesk/936fe53ee2d3beedd6151d4c122fd8da to your computer and use it in GitHub Desktop.
Save krotesk/936fe53ee2d3beedd6151d4c122fd8da to your computer and use it in GitHub Desktop.
starfish-ubuntu.yml
---
- hosts: starfish
become: yes
vars:
# Используйте это при первом запуске этого скрипта
current_mysql_root_password: ""
updated_mysql_root_password: "asterisk"
current_mysql_asterisk_password: ""
updated_mysql_asterisk_password: "asterisk"
# Закомментируйте вышеизложенное после первого запуска
# Раскомментируйте строки ниже для последующих запусков этого скрипта
# current_mysql_root_password: "YouNeedAReallyGoodPassword"
# updated_mysql_root_password: ""
# current_mysql_asterisk_password: "YouNeedAReallyGoodPasswordHereToo"
# updated_mysql_asterisk_password: ""
tasks:
- name: Install Pakages
apt:
name: python-pip
state: present
- name: Install the MySQL repo.
apt:
deb: https://dev.mysql.com/get/mysql-apt-config_0.8.16-1_all.deb
state: present
update_cache: yes
- name: Install Other Packages
pip:
name: MySQL-python
- name: Install mysql-server
apt:
name: mysql-server
state: present
- name: Override variables for MySQL (Ubuntu).
set_fact:
mysql_daemon: mysqld
mysql_packages: ['mysql-server']
mysql_log_error: /var/log/mysqld.err
mysql_syslog_tag: mysqld
mysql_pid_file: /var/run/mysqld/mysqld.pid
mysql_socket: /var/lib/mysql/mysql.sock
when: ansible_os_family == "Ubuntu"
- name: Ensure MySQL server is running
service:
name: mysql
state: started
enabled: yes
- name: update mysql root pass for localhost root account from local servers
mysql_user:
login_user: root
login_password: ""
name: root
host: ""
password: ""
with_items:
- localhost
- name: update mysql root password for all other local root accounts
mysql_user:
login_user: root
login_password: ""
name: root
host: ""
password: ""
with_items:
- ""
- 127.0.0.1
- ::1
- localhost.localdomain
- name: create asterisk database
mysql_db:
login_user: root
login_password: ""
name: asterisk
state: present
- name: asterisk mysql user
mysql_user:
login_user: root
login_password: ""
name: asterisk
host: ""
password: ""
priv: "asterisk.*:ALL"
with_items:
- ""
- 127.0.0.1
- ::1
- localhost
- localhost.localdomain
- name: remove anonymous user
mysql_user:
login_user: root
login_password: ""
name: ""
state: absent
host: ""
with_items:
- localhost
- ""
- 127.0.0.1
- ::1
- localhost.localdomain
- name: remove test database
mysql_db:
login_user: root
login_password: ""
name: test
state: absent
- user:
name: asterisk
state: present
createhome: yes
- group:
name: asterisk
state: present
- user:
name: astmin
groups: asterisk
state: present
- name: Install other dependencies
apt:
name:
- unixodbc
# - unixODBC-devel
- mysql-connector-odbc
# - MySQL-python
- tcpdump
- sngrep
- ntp
- ntpdate
- libjansson4
# - bind-utils
state: present
# Tweak the firewall for UDP/SIP
- iptables:
chain: INPUT
protocol: udp
destination_port: 5060
jump: ACCEPT
become: yes
# Tweak firewall for UDP/RTP
- iptables:
chain: INPUT
protocol: udp
destination_port: 10000:20000
jump: ACCEPT
become: yes
- name: Ensure NTP is running
service:
name: ntp
state: started
enabled: yes
# The libmyodbc8a.so file is versioned, so if you don't have version 8, see what the
# /usr/lib64/libmyodbc<version>a.so file is, and refer to that instead
# on your 'Driver64' line, and then run the playbook again
- name: update odbcinst.ini
lineinfile:
dest: /etc/odbcinst.ini
regexp: ""
line: ""
state: present
with_items:
- regexp: "Driver"
line: "Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so"
- regexp: "Setup"
line: "Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so"
- name: create odbc.ini
blockinfile:
path: /etc/odbc.ini
create: yes
block: |
[asterisk]
Driver = MySQL
Description = MySQL connection to 'asterisk' database
Server = localhost
Port = 3306
Database = asterisk
UserName = asterisk
Password =
Socket = /var/run/mysqld/mysqld.sock
#Socket = /var/lib/mysql/mysql.sock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment