mangos/linux/lazymangos.sh
Faded 37682a5705 LazyMaNGOS Re-Vamp
The old script has been changed up a bit.
Limited the amount of input needed to install
Added MaNGOS One support
Added CentOS7+ support
Added more functions to decrease amount of code
Added ability to use any username desired
Removed password input and moved user to no-login
Added optional updates for the database
2015-09-24 22:28:11 -07:00

853 lines
27 KiB
Bash
Executable File

#!/bin/bash
########################
# Copyright (C) 2015 - getMaNGOS (www.getMaNGOS.eu)
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
########################
#LazyMaNGOS 0.3
########################
#
#Supported Cores:
# MaNGOS Zero
# MaNGOS One
#
#Supported Distro(s):
# Debian 6+ (ubuntu, linux mint)
# Redhat 5+ (CentOS, fedora)
#
# Written By: Faded (emudevs.com)
#(faded@getmangos.eu)
########################
#-------------------------------------------------------------------------------
# WARNING: If you do not know what you are doing, do not edit below this line!
#-------------------------------------------------------------------------------
set -e
######
#Binds
######
# Colors #
RCol='\e[0m' # Reset
#Regular Bold Underline
Bla='\e[0;30m'; BBla='\e[1;30m'; UBla='\e[4;30m';
Red='\e[0;31m'; BRed='\e[1;31m'; URed='\e[4;31m';
Gre='\e[0;32m'; BGre='\e[1;32m'; UGre='\e[4;32m';
Yel='\e[0;33m'; BYel='\e[1;33m'; UYel='\e[4;33m';
Blu='\e[0;34m'; BBlu='\e[1;34m'; UBlu='\e[4;34m';
Pur='\e[0;35m'; BPur='\e[1;35m'; UPur='\e[4;35m';
Cya='\e[0;36m'; BCya='\e[1;36m'; UCya='\e[4;36m';
Whi='\e[0;37m'; BWhi='\e[1;37m'; UWhi='\e[4;37m';
proccnt="$(grep -c ^processor /proc/cpuinfo)"
options=""
###########
# Functions
###########
#Print Header
header ()
{
clear
echo -e "${BWhi}--------------------------------------"
echo -e "${BGre}When you're too lazy to do it yourself"
echo -e "${BCya} ┻━┻︵ \(°□°)/ ︵ ┻━┻"
echo -e "${BWhi}--------------------------------------"
echo -e "${BGre} LazyMaNGOS .03"
echo -e "${BWhi}--------------------------------------"
echo -e "${BWhi}${BYel} [www.getmangos.eu]-[www.emudevs.com]"
echo -e "${BWhi}--------------------------------------"
echo -e "${RCol}"
}
choose_modules()
{
echo -e ""
opt_list=9
echo -e "${BWhi}------------------------"
echo -e "${BGre}Choose sub modules to include:"
echo -e "${BWhi}------------------------"
echo -e "${BCya}1. Eluna (only)"
echo -e "${BCya}2. SD2 (only)"
echo -e "${BCya}3. Player Bots (early development)"
echo -e "${BCya}4. Eluna + Player Bots"
echo -e "${BCya}5. SD2 + Player Bots"
echo -e "${BCya}6. Eluna + SD2 + Player Bots"
echo -e "${BCya}7. Eluna + SD2 (recommended)"
echo -e "${BCya}8. None"
echo -e "${BWhi}------------------------"
echo -e "Choose (1-8)"
echo -n "-> "
while [ $opt_list -eq 9 ]; do
read opt_list
if [ $opt_list -eq 1 ]; then
options="-DSCRIPT_LIB_ELUNA=1 -DSCRIPT_LIB_SD2=0"
echo -e "${BGre}Eluna (only) selected"
sleep 2
else
if [ $opt_list -eq 2 ]; then
options="-DSCRIPT_LIB_SD2=1"
echo -e "${BGre}SD2 (only) selected"
sleep 2
else
if [ $opt_list -eq 3 ]; then
options="-DPLAYERBOTS=1 -DSCRIPT_LIB_SD2=0"
echo -e "${BGre}Player Bots (only) selected"
sleep 2
else
if [ $opt_list -eq 4 ]; then
options="-DSCRIPT_LIB_ELUNA=1 -DPLAYERBOTS=1 -DSCRIPT_LIB_SD2=0"
echo -e "${BGre}Eluna + Player Bots"
sleep 2
else
if [ $opt_list -eq 5 ]; then
options="-DSCRIPT_LIB_SD2=1 -DPLAYERBOTS=1"
echo -e "${BGre}SD2 + Player Bots selected"
sleep 2
else
if [ $opt_list -eq 6 ]; then
options="-DSCRIPT_LIB_ELUNA=1 -DSCRIPT_LIB_SD2=1 -DPLAYERBOTS=1"
echo -e "${BGre}Eluna + SD2 + Player Bots selected"
sleep 2
else
if [ $opt_list -eq 7 ]; then
options="-DSCRIPT_LIB_ELUNA=1 -DSCRIPT_LIB_SD2=1"
echo -e "${BGre}Eluna + SD2 selected"
sleep 2
else
if [ $opt_list -eq 8 ]; then
options="-DSCRIPT_LIB_SD2=0"
echo -e "${BGre}None selected"
sleep 2
else
echo -e ""
echo -e "Error: Selection not recognized."
echo -e ""
sleep 1
echo -e "Please choose which options to include:"
echo -e "${BWhi}------------------------"
echo -e "${BCya}1. Eluna (only)"
echo -e "${BCya}2. SD2 (only)"
echo -e "${BCya}3. Player Bots (early development)"
echo -e "${BCya}4. Eluna + Player Bots"
echo -e "${BCya}5. SD2 + Player Bots"
echo -e "${BCya}6. Eluna + SD2 + Player Bots"
echo -e "${BCya}7. Eluna + SD2 (recommended)"
echo -e "${BCya}8. None"
echo -e "${BWhi}------------------------"
echo -e "Choose (1-8)"
echo -n "-> "
opt_list=9
fi
fi
fi
fi
fi
fi
fi
fi
done
}
mysql_setup()
{
echo -e ""
echo -e "${BWhi}--------------------------------------"
echo -e "${BGre}Please enter your mysql password."
echo -e "${BWhi}--------------------------------------"
sleep 1
echo -n "-> "
read mysqlpass
echo -e ""
db="create database realmd; create database mangos; create database characters;
GRANT ALL PRIVILEGES ON realmd.* TO mangos@'127.0.0.1' IDENTIFIED BY 'mangos';
GRANT ALL PRIVILEGES ON mangos.* TO mangos@'127.0.0.1' IDENTIFIED BY 'mangos';
GRANT ALL PRIVILEGES ON characters.* TO mangos@'127.0.0.1' IDENTIFIED BY 'mangos';
flush privileges;"
mysql -u root -p$mysqlpass -e "$db"
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}DB's created."
echo -e "${BGre}SQL Login: mangos"
echo -e "${BGre}SQL Pass: mangos"
echo -e "^ Save this info ^"
echo -e "${BWhi}-------------------------"
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Preparing DB Updates..."
echo -e "${BWhi}-------------------------"
sleep 1
su -c "cat /home/$user/database/World/Setup/FullDB/*.sql >> /home/$user/database/World/Setup/FullDB/all.sql" -s /bin/bash $user
su -c "cat /home/$user/database/World/Updates/Rel21/*.sql >> /home/$user/database/World/Updates/Rel21/all.sql" -s /bin/bash $user
su -c "cat /home/$user/database/Character/Updates/Rel21/*.sql >> /home/$user/database/Character/Updates/Rel21/all.sql" -s /bin/bash $user
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Importing Realmd..."
echo -e "${BWhi}-------------------------"
sleep 1
mysql -u root -p$mysqlpass realmd < /home/$user/database/Realm/Setup/realmdLoadDB.sql
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Importing Characters..."
echo -e "${BWhi}-------------------------"
sleep 1
mysql -u root -p$mysqlpass characters < /home/$user/database/Character/Setup/characterLoadDB.sql
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Importing MaNGOS World..."
echo -e "${BWhi}-------------------------"
sleep 1
mysql -u root -p$mysqlpass mangos < /home/$user/database/World/Setup/mangosdLoadDB.sql
mysql -u root -p$mysqlpass mangos < /home/$user/database/World/Setup/FullDB/all.sql
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Import Complete"
echo -e "${BWhi}-------------------------"
echo -e ""
choice=3
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Would you like to apply DB updates?"
echo -e "${BYel}WARNING! THIS MAY ERROR!"
echo -e "${BGre}Yes, apply the updates"
echo -e "${BGre}No, finish install"
echo -e "${BWhi}-------------------------"
echo -e "Choose (1 or 2)"
echo -n "-> "
while [ $choice -eq 3 ]; do
read choice
if [ $choice -eq 1 ]; then
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Updating Characters..."
echo -e "${BWhi}-------------------------"
sleep 1
mysql -u root -p$mysqlpass characters < /home/$user/database/Character/Updates/Rel21/all.sql
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Updating MaNGOS World..."
echo -e "${BWhi}-------------------------"
sleep 1
mysql -u root -p$mysqlpass mangos < /home/$user/database/World/Updates/Rel21/all.sql
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Updating Realmd..."
echo -e "${BWhi}-------------------------"
sleep 1
mysql -u root -p$mysqlpass realmd < /home/$user/database/Tools/updateRealm.sql
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Updating Complete..."
echo -e "${BWhi}-------------------------"
sleep 1
else
if [ $choice -eq 2 ]; then
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Skipping Updates..."
echo -e "${BWhi}-------------------------"
sleep 1
else
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Would you like to apply DB updates?"
echo -e "${BYel}WARNING! THIS MAY ERROR!"
echo -e "${BWhi}-------------------------"
echo -e "Choose (y or n)"
echo -n "-> "
choice=3
fi
fi
done
}
mangos_install()
{
sleep 1
choice=5
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Please choose which version"
echo -e "${BWhi}---------------------------"
echo -e "${BCya}1. Install MaNGOS Zero"
echo -e "${BCya}2. Install MaNGOS One"
echo -e "${BCya}3. (Disabled) Install MaNGOS Two"
echo -e "${BCya}4. (Disabled) Install MaNGOS Three"
echo -e "${BWhi}---------------------------"
echo -e "Choose (1 or 2)"
echo -n "-> "
while [ $choice -eq 5 ]; do
read choice
if [ $choice -eq 1 ]; then
######
#CleanUp & Install
######
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Cloning Zero... "
echo -e "${BWhi}-------------------------"
sleep 1
su -c "cd /home/$user/ && git clone --recursive -b develop21 https://github.com/mangoszero/server.git" -s /bin/bash $user
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Cloning Database..."
echo -e "${BWhi}-------------------------"
su -c "cd /home/$user/ && git clone --recursive -b develop21 https://github.com/mangoszero/database.git" -s /bin/bash $user
echo -e "${BCya}Done"
echo -e ""
sleep 1
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Preparing Zero..."
echo -e "${BWhi}-------------------------"
sleep 1
######
#Get Zero Options
######
choose_modules
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Running CMake..."
echo -e "${BWhi}-------------------------"
sleep 1
su -c "mkdir /home/$user/server/build" -s /bin/bash $user
su -c "cd /home/$user/server/build && cmake /home/$user/server $options -DCMAKE_INSTALL_PREFIX=/home/$user/zero" -s /bin/bash $user
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Compiling Zero..."
echo -e "${BWhi}-------------------------"
sleep 1
su -c "cd /home/$user/server/build && make -j $proccnt" -s /bin/bash $user
su -c "cd /home/$user/server/build && make install" -s /bin/bash $user
##########
#Setup SQL
##########
mysql_setup
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Adding auto restart scripts"
echo -e "${BWhi}-------------------------"
echo -e ""
su -c "mkdir /home/${user}/zero/scripts" -s /bin/bash $user
echo "while true; do
cd /home/$user/zero/bin
./realmd
wait
done" >> /home/$user/zero/scripts/realmd_check.sh
echo "SESSION='realmd'
DAEMON='screen -d -m -S $SESSION /home/$user/zero/scripts/realmd_check.sh'
screen -r $SESSION -ls -q 2>&1 >/dev/null
echo -e ''
echo 'Realmd has been launched into the background.'
echo -e ''
if [ $? -le 10 ]; then
echo 'Restarting $DAEMON'
$DAEMON
fi
wait" >> /home/$user/zero/realmd.sh
echo "while true; do
cd /home/$user/zero/bin
./mangos
wait
done
" >> /home/$user/zero/scripts/mangos_check.sh
echo "SESSION='mangos'
DAEMON='screen -d -m -S $SESSION /home/$user/zero/scripts/mangos_check.sh'
screen -r $SESSION -ls -q 2>&1 >/dev/null
echo -e ''
echo 'Mangos World has been launched into the background.'
echo -e ''
if [ $? -le 10 ]; then
echo 'Restarting $DAEMON'
$DAEMON
fi
wait" >> /home/$user/zero/mangos.sh
echo "
########################
#LazyMaNGOS .03 Zero
########################
- Important Information -
DB User: mangos
DB Pass: mangos
Server Location: /home/$user/zero
Config Location: /home/$user/zero/etc
- What to do next -
From here on out, ONLY run the server as $user
Edit your configuration files as needed.
Then enter the zero/bin directory and run
./realmd &
./mangos &
& means it will run in the background.
Option 2:
Use the auto scripts in /zero/
run ./realmd.sh & ./mangos.sh
Dont forget to add your realm to the realms
table in the realmd database.
Support: www.emudevs.com | www.getmangos.eu
" >> /home/$user/Lazy-README
chown -R $user:$user /home/$user/*
su -c "chmod +x /home/$user/zero/*.sh" -s /bin/bash $user
su -c "mv /home/$user/zero/etc/realmd.conf.dist /home/$user/zero/etc/realmd.conf" -s /bin/bash $user
su -c "mv /home/$user/zero/etc/mangosd.conf.dist /home/$user/zero/etc/mangosd.conf" -s /bin/bash $user
su -c "mv /home/$user/zero/etc/ahbot.conf.dist /home/$user/zero/etc/ahbot.conf" -s /bin/bash $user
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Auto Restart Scripts"
echo -e "${BGre} Created "
echo -e "${BGre}First run ./realmd then run ./mangos"
echo -e "${BGre}Both scripts located in /home/$user/zero/"
echo -e "${BWhi}-------------------------"
echo -e ""
echo -e "${BWhi}---------------------------------------"
echo -e "${BGre}LazyMaNGOS Complete"
echo -e "${BGre}Please view the README in /home/$user/"
echo -e "${BWhi}---------------------------------------"
echo -e ""
exit
else
if [ $choice -eq 2 ]; then
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Preparing for MaNGOS One"
echo -e "${BWhi}---------------------------"
echo -e ""
sleep 2
######
#CleanUp & Install
######
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Cloning MaNGOS One... "
echo -e "${BWhi}-------------------------"
sleep 1
su -c "cd /home/$user/ && git clone --recursive -b develop21 https://github.com/mangosone/server.git" -s /bin/bash $user
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Cloning Database..."
echo -e "${BWhi}-------------------------"
su -c "cd /home/$user/ && git clone --recursive -b develop21 https://github.com/mangosone/database.git" -s /bin/bash $user
echo -e "${BCya}Done"
echo -e ""
sleep 1
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Preparing MaNGOS One..."
echo -e "${BWhi}-------------------------"
sleep 1
######
#Get One Options
######
choose_modules
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Running CMake..."
echo -e "${BWhi}-------------------------"
sleep 1
su -c "mkdir /home/$user/server/build" -s /bin/bash $user
su -c "cd /home/$user/server/build && cmake ../ $options -DCMAKE_INSTALL_PREFIX=/home/$user/one" -s /bin/bash $user
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Compiling MaNGOS One..."
echo -e "${BWhi}-------------------------"
sleep 1
su -c "cd /home/$user/server/build && make -j $proccnt" -s /bin/bash $user
su -c "cd /home/$user/server/build && make install" -s /bin/bash $user
##########
#Setup SQL
##########
mysql_setup
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Adding auto restart scripts"
echo -e "${BWhi}-------------------------"
echo -e ""
su -c "mkdir /home/$user/one/scripts" -s /bin/bash $user
echo "while true; do
cd /home/$user/one/bin
./realmd
wait
done" >> /home/$user/one/scripts/realmd_check.sh
echo "SESSION='realmd'
DAEMON='screen -d -m -S $SESSION /home/$user/one/scripts/realmd_check.sh'
screen -r $SESSION -ls -q 2>&1 >/dev/null
echo -e ''
echo 'Realmd has been launched into the background.'
echo -e ""
if [ $? -le 10 ]; then
echo 'Restarting $DAEMON'
$DAEMON
fi
wait" >> /home/$user/one/realmd.sh
echo "while true; do
cd /home/$user/one/bin
./mangos
wait
done
" >> /home/$user/one/scripts/mangos_check.sh
echo "SESSION='mangos'
DAEMON='screen -d -m -S $SESSION /home/$user/one/scripts/mangos_check.sh'
screen -r $SESSION -ls -q 2>&1 >/dev/null
echo -e ''
echo 'Mangos World has been launched into the background.'
echo -e ''
if [ $? -le 10 ]; then
echo 'Restarting $DAEMON'
$DAEMON
fi
wait" >> /home/$user/one/mangos.sh
echo "
########################
#LazyMaNGOS .03 One
########################
- Important Information -
DB User: mangos
DB Pass: mangos
Server Location: /home/$user/one
Config Location: /home/$user/one/etc
- What to do next -
From here on out, ONLY run the server as $user
Edit your configuration files as needed.
Then enter the one/bin directory and run
./realmd &
./mangos &
& means it will run in the background.
Option 2:
Use the auto scripts in /one/
run ./realmd.sh & ./mangos.sh
Dont forget to add your realm to the realms
table in the realmd database.
Support: www.emudevs.com | www.getmangos.eu
" >> /home/$user/Lazy-README
chown -R $user:$user /home/$user/*
su -c "chmod +x /home/$user/one/*.sh" -s /bin/bash $user
su -c "mv /home/$user/one/etc/realmd.conf.dist /home/$user/one/etc/realmd.conf" -s /bin/bash $user
su -c "mv /home/$user/one/etc/mangosd.conf.dist /home/$user/one/etc/mangosd.conf" -s /bin/bash $user
su -c "mv /home/$user/one/etc/ahbot.conf.dist /home/$user/one/etc/ahbot.conf" -s /bin/bash $user
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Auto Restart Scripts"
echo -e "${BGre} Created "
echo -e "${BGre}First run ./realmd then run ./mangos"
echo -e "${BGre}Both scripts located in /home/$user/one/"
echo -e "${BWhi}-------------------------"
echo -e ""
echo -e "${BWhi}---------------------------------------"
echo -e "${BGre}LazyMaNGOS Complete"
echo -e "${BGre}Please view the README in /home/$user/"
echo -e "${BWhi}---------------------------------------"
echo -e ""
exit
else
if [ $choice -eq 3 ]; then
echo "Sorry, MaNGOS Two is currently disabled on LazyMaNGOS."
exit 1
else
if [ $choice -eq 4 ]; then
echo "Sorry, MaNGOS Three is currently disabled on LazyMaNGOS."
exit 1
else
echo -e ""
echo -e "Error: Selection not recognized."
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Please choose which version"
echo -e "${BWhi}---------------------------"
echo -e "${BCya}1. Install MaNGOS Zero (Classic)"
echo -e "${BCya}2. Install MaNGOS One (TBC)"
echo -e "${BCya}3. (Disabled) Install MaNGOS Two (WotLK)"
echo -e "${BCya}3. (Disabled) Install MaNGOS Three (Cataclysm)"
echo -e "${BWhi}---------------------------"
echo -e "Choose (1 or 2)"
echo -n "-> "
choice=5
fi
fi
fi
fi
done
}
header
echo -e "Preparing..."
sleep 2
######
#Distro Check
######
echo -e "${RCol}"
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Checking OS... "
echo -e "${BWhi}-------------------------"
sleep 1
file="/etc/debian_version"
if [ -f "$file" ]; then
distro="debian"
echo -e "${BGre}Debian Detected"
echo -e "${RCol}"
else
file="/etc/redhat-release"
if [ -f "$file" ]; then
distro="redhat"
echo -e "${BGre}Redhat Detected"
echo -e "${RCol}"
else
echo -e "${BRed}Unsupported OS Detected"
echo -e "${BYel}This script only supports Debian and Redhat based distros"
echo -e "${BYel}Exiting"
echo -e "${RCol}"
exit
fi
fi
######
#Root Check
######
echo -e "${RCol}"
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Checking if root... "
echo -e "${BWhi}-------------------------"
sleep 1
if [ "$(id -u)" != "0" ]; then
echo -e "${BRed}This script can ONLY be ran as root!" 1>&2
echo -e "${RCol}"
exit
else
echo -e "${BGre}user is root!"
echo -e "${RCol}"
fi
#################
# Obtain Username
#################
echo -e "${RCol}"
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Enter desired username (not one in use) "
echo -e "${BWhi}-------------------------"
echo -n "-> "
read user
sleep 1
while [ $distro ]; do
########################
# Debian Based Install #
########################
if [ $distro = "debian" ]; then
#Prepare for all debian distros
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Preparing the server..."
echo -e "${BGre}This may take a moment."
echo -e "${BWhi}-------------------------"
sleep 2
######
#Fetch Username & Password
######
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Adding username: $user ..."
echo -e "${BWhi}---------------------------"
sleep 1
useradd -m -d /home/$user $user
usermod -L $user
sleep 1
echo -e ""
echo -e "${BWhi}--------------------"
echo -e "${BGre}Checking for sudo..."
echo -e "${BWhi}--------------------"
sleep 1
sudofile="/etc/sudoers"
if [ -f "$sudofile" ]; then
echo -e ""
echo -e "${BGre}Sudoers is installed."
echo -e "${BGre}Updating User..."
echo "$user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
sleep 1
echo ""
echo -e "${BGre}User '$user' has been added to sudoers."
echo -e ""
else
echo ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Sudoers is NOT installed."
echo -e "${BGre}Attempting to install..."
echo -e "${BWhi}-------------------------"
apt-get -y -qq install sudo
sleep 1
echo -e ""
echo -e "${BGre}Making sure sudo exists..."
echo -e ""
if [ -f "$sudofile" ]; then
echo "$user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
sleep 1
echo -e ""
echo -e "${BGre}Sudo exists"
echo -e "${BGre}User '$user' has been added to sudoers."
echo -e ""
else
echo -e "${BRed}Still unable to locate sudo."
echo -e "${BGre}Please make sure /etc/sudoers exists"
echo -e "${BGre}Or contact the coder, (faded@getmangos.eu)."
fi
fi
######
#MaNGOS Prepare
######
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Preparing Dependencies"
echo -e "${BWhi}---------------------------"
echo -e ""
sleep 2
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Installing cmake tools..."
echo -e "${BWhi}-------------------------"
sleep 1
apt-get -y -qq install cmake
apt-get -y -qq install cmake-qt-gui
echo -e "${BCya}Done"
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Installing git and compilers..."
echo -e "${BWhi}-------------------------"
sleep 1
apt-get -y -qq install git
apt-get -y -qq install g++
apt-get -y -qq install gcc
apt-get -y -qq install make
apt-get -y -qq install autoconf
echo -e "${BCya}Done"
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Installing required libraries..."
echo -e "${BWhi}-------------------------"
sleep 1
apt-get -y -qq install libace-ssl-dev
apt-get -y -qq install libace-dev
apt-get -y -qq install libbz2-dev
apt-get -y -qq install libmysql++-dev
apt-get -y -qq install libmysqlclient-dev
apt-get -y -qq install libssl-dev
apt-get -y -qq install zlib1g-dev
apt-get -y -qq install libtool
echo -e "${BCya}Done"
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Installing mysql..."
echo -e "${BWhi}-------------------------"
sleep 1
apt-get -y -qq install mysql-client
apt-get -y -qq install mysql-common
apt-get -y -qq install mysql-server
echo -e "${BCya}Done"
echo -e ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Finishing up..."
echo -e "${BWhi}-------------------------"
sleep 1
apt-get -y -qq install bash
apt-get -y -qq install screen
apt-get -y -qq install wget
echo -e "${BCya}Done"
echo -e ""
mangos_install
else
########################
# Redhat Based Install #
########################
if [ $distro = "redhat" ]; then
#Prepare for all debian distros
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Preparing the server..."
echo -e "${BGre}This may take a moment."
echo -e "${BWhi}-------------------------"
sleep 2
######
#Fetch Username & Password
######
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Adding username: $user ..."
echo -e "${BWhi}---------------------------"
sleep 1
useradd -m -d /home/$user $user
usermod -L $user
sleep 1
echo -e ""
echo -e "${BWhi}--------------------"
echo -e "${BGre}Checking for sudo..."
echo -e "${BWhi}--------------------"
sleep 1
sudofile="/etc/sudoers"
if [ -f "$sudofile" ]; then
echo -e ""
echo -e "${BGre}Sudoers is installed."
echo -e "${BGre}Updating User..."
echo "mangos ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
sleep 1
echo ""
echo -e "${BGre}User '$user' has been added to sudoers."
echo -e ""
else
echo ""
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Sudoers is NOT installed."
echo -e "${BGre}Attempting to install..."
echo -e "${BWhi}-------------------------"
yum -y -q install sudo
sleep 1
echo -e ""
echo -e "${BGre}Making sure sudo exists..."
echo -e ""
if [ -f "$sudofile" ]; then
echo "$user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
sleep 1
echo -e ""
echo -e "${BGre}Sudo exists"
echo -e "${BGre}User '$user' has been added to sudoers."
echo -e ""
else
echo -e "${BRed}Still unable to locate sudo."
echo -e "${BGre}Please make sure /etc/sudoers exists"
echo -e "${BGre}Or contact the coder, (faded@getmangos.eu)."
fi
fi
######
#MaNGOS Prepare
######
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Preparing Dependencies"
echo -e "${BWhi}---------------------------"
echo -e ""
sleep 2
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Installing Dependencies..."
echo -e "${BWhi}---------------------------"
yum -y -q install git cmake openssl bzip2* openssl-devel
yum -y -q groupinstall "Development Tools"
echo -e "${BCya}Done"
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Fetching & Installing MySQL..."
echo -e "${BWhi}---------------------------"
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y -q install mysql-community-server
echo -e "${BCya}Done"
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Restarting MySQL"
echo -e "${BWhi}---------------------------"
systemctl enable mysqld
systemctl start mysqld
yum -y -q install mysql-devel
echo -e "${BCya}Done"
echo -e ""
echo -e "${BWhi}---------------------------"
echo -e "${BGre}Launching Secure MySQL Config..."
echo -e "${BGre}Press enter for no password, set a password and say Y to all questions"
echo -e "${BWhi}---------------------------"
echo -e ""
sleep 6
mysql_secure_installation
echo -e "${BWhi}-------------------------"
echo -e "${BGre}Finishing up..."
echo -e "${BWhi}-------------------------"
sleep 1
mangos_install
fi
fi
done
#END