#!/bin/bash
############################################################
# $Name: install_sevice.sh
# $Version: v1.0
# $Functions:
#
# 1 Install mage_monitor_01 service
# 2 Install store_rsync_01 service
# 3 Install store_nfs_01 service
# 4 Install mysql_master_01 service
# 5 Install mysql_master_02 service
# 6 Install mysql_slave_01 service
# 7 Install mysql_proxy_01 service
# 8 Install mysql_proxy_02 service
# 9 Install cache_redis_01 service
# 10 Install cache_redis_02 service
# 11 Install lb_haproxy_01 service
# 12 Install lb_haproxy_02 service
# 13 Install web_lnmp_01 service
# 14 Install web_lamp_02 service
# 15 Install mage_jump_01 service
#
# $Author: Jeson Li
# $organization: www.lzbbg.cn
# $Create Date: 2017-03-10
# $Mail: libobin@tom.com
# $Description: Linux Service Installing Script
############################################################
if [ -f /tmp/install_service.lock ];then
echo -e "${Red}[`date +%F_%T`] $0 is running now and exit${Rst}"|tee -a /tmp/install_service.log
exit 1
else
touch /tmp/install_service.lock
fi
source /etc/rc.d/init.d/functions
source /tmp/scripts/system_optimization.lib
[ $(ulimit -n) -lt 65535 -a -s /etc/issue ] && optimization_main
source /tmp/scripts/install_service.lib
source /tmp/scripts/rsync_backup.lib
source /tmp/scripts/zabbix_json.lib
# System env check
env_check
# Install mage_monitor_01 service
[ "$(hostname)" == "${mage_monitor_01}" ] && {
function_install_nginx "nginx-1.12.2.tar.gz"
function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz"
function_install_php "libiconv-1.14.tar.gz" "php-5.6.35.tar.gz"
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent' '--enable-server'
source /tmp/scripts/zabbix_json.lib
function_hostgroup_create "${lb_server}" "${web_server}" "${mysql_server}" "${store_server}" "${cache_server}" "${mage_server}"
echo -en "${Ylw}${Tik}Please login to zabbix_web manually import templates and press enter next step.${Rst}";read
function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status" "Template Nginx Status"
function_httptest_create 'http://zabbix.lzbbg.cn'
function_client_rsync_backup
function_net_ipv4_ip_forward_eth1
function_create_Springboard
}
# Install store_rsync_01 service
[ "$(hostname)" == "${store_rsync_01}" ] && {
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status"
# function_install_nfs '/{nfs_data/,backup/{mysql-master-01.mysql_bin,mysql-master-02.mysql_bin,mysql-slave-01.mysql_bin}}'
function_install_nfs '/nfs_data/{uploads,attachment}'
function_install_keepalived 'BACKUP' 'nfs_service01' 'nfs' 'eth0' '51' '172.16.1.32'
function_server_rsyncd_backup
function_ifdown_eth1
}
# Install store_nfs_01 service
[ "$(hostname)" == "${store_nfs_01}" ] && {
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status"
function_install_nfs '/nfs_data/{uploads,attachment}'
function_install_keepalived 'MASTER' 'nfs_service02' 'nfs' 'eth0' '51' '172.16.1.32'
function_install_sersync
function_client_rsync_backup
function_ifdown_eth1
}
# Install mysql_master_01 service
[ "$(hostname)" == "${mysql_master_01}" ] && {
function_install_drbd
function_install_heartbeat
function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz"
function_install_mysql_db "ShareDB"
function_create_mysql_user_database 'ShareDB' "blog jpress" "rep" "" "123456"
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status"
function_client_rsync_backup
function_ifdown_eth1
}
# Install mysql_master_02 service
[ "$(hostname)" == "${mysql_master_02}" ] && {
function_install_drbd
function_install_heartbeat
function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz"
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status"
function_client_rsync_backup
function_ifdown_eth1
}
# Install mysql_slave_01 service
[ "$(hostname)" == "${mysql_slave_01}" ] && {
function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz" '2'
function_install_mysql_db "slave01" '' '' 'slave' ;sleep 5
function_install_mysql_db "slave02" '' '' 'slave' ;sleep 5
function_install_mysql_db "slave03" '' '' 'slave' 'backup_slave'
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status"
function_client_rsync_backup
function_ifdown_eth1
}
# Install mysql_proxy_01 service
[ "$(hostname)" == "${mysql_proxy_01}" ] && {
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status"
function_client_rsync_backup
function_install_mysql_proxy 'mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz' '3306 3307' 'dbmaster_vip.lzbbg.cn:3301' 'dbslave01.lzbbg.cn:3302,dbslave01.lzbbg.cn:3303'
function_install_keepalived 'MASTER' 'mysql_proxy_service01' 'mysql_proxy_01 mysql_proxy_02' 'eth0' '52' '172.16.1.56'
function_ifdown_eth1
}
# Install mysql_proxy_02 service
[ "$(hostname)" == "${mysql_proxy_02}" ] && {
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status"
function_client_rsync_backup
function_install_mysql_proxy 'mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz' '3306 3307' 'dbmaster_vip.lzbbg.cn:3301' 'dbslave01.lzbbg.cn:3302,dbslave01.lzbbg.cn:3303'
function_install_keepalived 'BACKUP' 'mysql_proxy_service02' 'mysql_proxy_01 mysql_proxy_02' 'eth0' '52' '172.16.1.56'
function_ifdown_eth1
}
# Install cache_redis_01 service
[ "$(hostname)" == "${cache_redis_01}" ] && {
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status"
function_client_rsync_backup
function_install_redis "6379 6380"
function_install_keepalived 'MASTER' 'redis_service01' 'redis' 'eth0' '55' '172.16.1.63' 'cache-redis-02' '6380'
function_ifdown_eth1
}
# Install cache_redis_02 service
[ "$(hostname)" == "${cache_redis_02}" ] && {
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status"
function_client_rsync_backup
function_install_redis "6379 6380"
function_install_keepalived 'BACKUP' 'redis_service02' 'redis' 'eth0' '55' '172.16.1.63' 'cache-redis-01' '6380'
function_ifdown_eth1
}
# Install lb_haproxy_01 service
[ "$(hostname)" == "${lb_haproxy_01}" ] && {
function_install_proxy
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status"
function_client_rsync_backup
function_install_keepalived 'MASTER' 'lb_service01' 'lb' 'eth1' '58' '10.0.0.5'
}
# Install lb_haproxy_02 service
[ "$(hostname)" == "${lb_haproxy_02}" ] && {
function_install_proxy
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status"
function_client_rsync_backup
function_install_keepalived 'BACKUP' 'lb_service02' 'lb' 'eth1' '58' '10.0.0.5'
}
# Install web_lnmp_01 service
[ "$(hostname)" == "${web_lnmp_01}" ] && {
function_install_nginx "nginx-1.12.2.tar.gz"
function_install_wordpress "blog" "wordpress-4.9.4-zh_CN.tar.gz"
function_install_phpMyAdmin "phpMyAdmin" "phpMyAdmin-4.8.3-all-languages.tar.gz"
function_install_php "libiconv-1.14.tar.gz" "php-5.6.35.tar.gz" "php_redis_plugin.tar.gz"
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status"
function_httptest_create 'http://blog.lzbbg.cn http://phpMyAdmin.lzbbg.cn http://jpress.lzbbg.cn'
function_client_rsync_backup
function_install_tomcat 'apache-tomcat-8.5.34.tar.gz' '8081 8082 8083' 'jpress' 'jpress-web-newest.war'
function_create_java_jpress 'jpress-web-newest.war'
function_ifdown_eth1
}
# Install web_lamp_02 service
[ "$(hostname)" == "${web_lamp_02}" ] && {
function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status"
function_httptest_create 'http://blog.lzbbg.cn http://phpMyAdmin.lzbbg.cn http://jpress.lzbbg.cn'
function_install_httpd "httpd-2.4.33.tar.gz"
function_install_php "libiconv-1.14.tar.gz" "php-5.6.35.tar.gz" "php_redis_plugin.tar.gz"
function_install_wordpress "blog" "wordpress-4.9.4-zh_CN.tar.gz"
function_install_phpMyAdmin "phpMyAdmin" "phpMyAdmin-4.8.3-all-languages.tar.gz"
function_client_rsync_backup
function_install_tomcat 'apache-tomcat-8.5.34.tar.gz' '8081 8082 8083' 'jpress' 'jpress-web-newest.war'
function_create_java_jpress 'jpress-web-newest.war'
function_ifdown_eth1
}
# Install mage_jump_01 service
#[ "$(hostname)" == "${mage_jump_01}" ] && {
# function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
# function_host_create "Template OS Linux" "Template Linux TCP Status"
# function_client_rsync_backup
#
# }
rm -f /tmp/install_service.lock
print_log 0 "$0 Completed exit"