Update install-multicraft.sh
This commit is contained in:
@@ -16,13 +16,13 @@ IP="$(curl -4 icanhazip.com)"
|
|||||||
|
|
||||||
# Password Generator
|
# Password Generator
|
||||||
# MySQL, Multicraft Daemon, Multicraft Panel, Multicraft Admin, phpMyAdmin BlowFish Secret
|
# MySQL, Multicraft Daemon, Multicraft Panel, Multicraft Admin, phpMyAdmin BlowFish Secret
|
||||||
export MySQLRoot=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
export MySQLPWD=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
||||||
export Daemon=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
|
||||||
export Panel=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
|
||||||
export DaemonPassword=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
export DaemonPassword=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
||||||
export AdminPassword=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
export AdminPassword=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=25 count=1 2>/dev/null`
|
||||||
export BlowFish=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=32 count=1 2>/dev/null`
|
export BlowFish=`cat /dev/urandom | tr -dc A-Za-z0-9 | dd bs=32 count=1 2>/dev/null`
|
||||||
|
|
||||||
|
MYSQLPARAM='mysql -H 10.5.10.56 -P 3307 -u root -p'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8507EFA5
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8507EFA5
|
||||||
@@ -37,34 +37,19 @@ add-apt-repository -y ppa:ondrej/php
|
|||||||
${APTFUNC} update
|
${APTFUNC} update
|
||||||
${APTFUNC} -y upgrade
|
${APTFUNC} -y upgrade
|
||||||
export DEBIAN_FRONTEND="noninteractive"
|
export DEBIAN_FRONTEND="noninteractive"
|
||||||
${APTFUNC} -y install apache2 php5.6 php5.6-mysqlnd sqlite php5.6-gd php5.6-mbstring php5.6-xml php5.6-curl php5.6-sqlite wget nano zip unzip percona-server-server-5.6 git dos2unix
|
${APTFUNC} -y install apache2 php5.6 php5.6-mysqlnd sqlite php5.6-gd php5.6-mbstring php5.6-xml php5.6-curl php5.6-sqlite wget nano zip unzip git dos2unix
|
||||||
|
|
||||||
|
|
||||||
/sbin/service mysql start
|
|
||||||
service mysql start
|
|
||||||
mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MySQLRoot}');"
|
|
||||||
|
|
||||||
# Save Generated MySQL Root Password.
|
|
||||||
cd /root/
|
|
||||||
cat > .my.cnf << eof
|
|
||||||
[client]
|
|
||||||
user="root"
|
|
||||||
password="${MySQLRoot}"
|
|
||||||
eof
|
|
||||||
|
|
||||||
# Multicraft Databases
|
# Multicraft Databases
|
||||||
mysql -e "CREATE DATABASE daemon;"
|
${MYSQLPARAM} -e "CREATE DATABASE multicraft_daemon;"
|
||||||
mysql -e "CREATE DATABASE panel;"
|
${MYSQLPARAM} -e "CREATE DATABASE multicraft_panel;"
|
||||||
mysql -e "GRANT ALL ON daemon.* to daemon@localhost IDENTIFIED BY '${Daemon}';"
|
${MYSQLPARAM} -e "GRANT ALL ON multicraft_daemon.* to multicraft@'%' IDENTIFIED BY '${MySQLPWD}';"
|
||||||
mysql -e "GRANT ALL ON panel.* to panel@localhost IDENTIFIED BY '${Panel}';"
|
${MYSQLPARAM} -e "GRANT ALL ON multicraft_panel.* to multicraft@'%' IDENTIFIED BY '${MySQLPWD}';"
|
||||||
mysql -e "GRANT ALL ON daemon.* to daemon@'%' IDENTIFIED BY '${Daemon}';"
|
|
||||||
mysql -e "GRANT ALL ON panel.* to panel@'%' IDENTIFIED BY '${Panel}';"
|
|
||||||
|
|
||||||
WebRoot="/var/www/html"
|
WebRoot="/var/www/html"
|
||||||
|
|
||||||
# Multicraft Download
|
# Multicraft Download
|
||||||
mkdir /home/root/
|
cd /opt/
|
||||||
cd /home/root/
|
|
||||||
wget --no-check-certificate http://multicraft.org/download/linux64 -O multicraft.tar.gz
|
wget --no-check-certificate http://multicraft.org/download/linux64 -O multicraft.tar.gz
|
||||||
tar -xf multicraft.tar.gz
|
tar -xf multicraft.tar.gz
|
||||||
rm -fv multicraft.tar.gz
|
rm -fv multicraft.tar.gz
|
||||||
@@ -81,7 +66,7 @@ rm -fv multicraft-jar-confs.zip
|
|||||||
wget http://s3.amazonaws.com/MCProHosting-Misc/Spigot/Spigot.jar -O Spigot.jar
|
wget http://s3.amazonaws.com/MCProHosting-Misc/Spigot/Spigot.jar -O Spigot.jar
|
||||||
wget http://s3.amazonaws.com/MCProHosting-Misc/PaperSpigot/PaperSpigot.jar -O PaperSpigot.jar
|
wget http://s3.amazonaws.com/MCProHosting-Misc/PaperSpigot/PaperSpigot.jar -O PaperSpigot.jar
|
||||||
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar -O Bungeecord.jar
|
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar -O Bungeecord.jar
|
||||||
cd /home/root/multicraft/
|
cd /opt/multicraft/
|
||||||
|
|
||||||
# Multicraft Panel
|
# Multicraft Panel
|
||||||
ProtectedConf="/protected/config/config.php"
|
ProtectedConf="/protected/config/config.php"
|
||||||
@@ -89,19 +74,10 @@ cd ${WebRoot}/multicraft/
|
|||||||
mv protected /
|
mv protected /
|
||||||
mv ${ProtectedConf}.dist ${ProtectedConf}
|
mv ${ProtectedConf}.dist ${ProtectedConf}
|
||||||
chmod 777 assets
|
chmod 777 assets
|
||||||
chmod 777 /protected/runtime/
|
chmod -rf 777 /protected
|
||||||
chmod 777 ${ProtectedConf}
|
|
||||||
sed -i 's/dirname(__FILE__)./\E/g' index.php
|
sed -i 's/dirname(__FILE__)./\E/g' index.php
|
||||||
rm -fv api.php install.php
|
rm -fv api.php install.php
|
||||||
|
|
||||||
# Automated phpMyAdmin Installer
|
|
||||||
cd ${WebRoot}/
|
|
||||||
git clone --depth=1 --branch=STABLE git://github.com/phpmyadmin/phpmyadmin.git phpMyAdmin
|
|
||||||
mv ${WebRoot}/phpMyAdmin/config.sample.inc.php ${WebRoot}/phpMyAdmin/config.inc.php
|
|
||||||
sed -i "s/\$cfg\[.blowfish_secret.\]\s*=.*/\$cfg['blowfish_secret'] = '${BlowFish}';/" ${WebRoot}/phpMyAdmin/config.inc.php
|
|
||||||
cd ${WebRoot}/phpMyAdmin/
|
|
||||||
wget https://getcomposer.org/composer.phar -O composer.phar
|
|
||||||
php composer.phar update --no-dev
|
|
||||||
|
|
||||||
# php.ini Auto-Detector
|
# php.ini Auto-Detector
|
||||||
PHP="$(php -r "echo php_ini_loaded_file();")"
|
PHP="$(php -r "echo php_ini_loaded_file();")"
|
||||||
@@ -119,17 +95,17 @@ MemTotal="$(awk '/MemTotal/ {print $2}' /proc/meminfo)"
|
|||||||
Memory="$((${MemTotal} / 1024))"
|
Memory="$((${MemTotal} / 1024))"
|
||||||
|
|
||||||
# Multicraft Config
|
# Multicraft Config
|
||||||
MulticraftConf="/home/root/multicraft/multicraft.conf"
|
MulticraftConf="/opt/multicraft/multicraft.conf"
|
||||||
sed -i 's/user =\(.*\)/\Euser = root/g' ${MulticraftConf}
|
sed -i 's/user =\(.*\)/\Euser = www-data/g' ${MulticraftConf}
|
||||||
sed -i 's/webUser =\(.*\)/\EwebUser = /g' ${MulticraftConf}
|
sed -i 's/webUser =\(.*\)/\EwebUser = /g' ${MulticraftConf}
|
||||||
sed -i 's/\#id =\(.*\)/\Eid = 1/g' ${MulticraftConf}
|
sed -i 's/\#id =\(.*\)/\Eid = 1/g' ${MulticraftConf}
|
||||||
sed -i 's/\#database = mysql\(.*\)/\Edatabase = mysql:host=127.0.0.1;dbname=daemon/g' ${MulticraftConf}
|
sed -i 's/\#database = mysql\(.*\)/\Edatabase = mysql:host=10.5.10.56:3307;dbname=multicraft_daemon/g' ${MulticraftConf}
|
||||||
sed -i 's/\#dbUser =\(.*\)/\EdbUser = daemon/g' ${MulticraftConf}
|
sed -i 's/\#dbUser =\(.*\)/\EdbUser = multicraft/g' ${MulticraftConf}
|
||||||
sed -i "s/\#dbPassword =\(.*\)/\EdbPassword = ${Daemon}/g" ${MulticraftConf}
|
sed -i "s/\#dbPassword =\(.*\)/\EdbPassword = ${MySQLPWD}/g" ${MulticraftConf}
|
||||||
sed -i "s/\#password =\(.*\)/\Epassword = ${DaemonPassword}/g" ${MulticraftConf}
|
sed -i "s/\#password =\(.*\)/\Epassword = ${DaemonPassword}/g" ${MulticraftConf}
|
||||||
sed -i 's/\#name =\(.*\)/\Ename = Server 1/g' ${MulticraftConf}
|
sed -i 's/\#name =\(.*\)/\Ename = Server 1/g' ${MulticraftConf}
|
||||||
sed -i "s/#totalMemory =\(.*\)/\EtotalMemory = ${Memory}/g" ${MulticraftConf}
|
sed -i "s/#totalMemory =\(.*\)/\EtotalMemory = ${Memory}/g" ${MulticraftConf}
|
||||||
sed -i "s/\(.*\)baseDir =\(.*\)/\EbaseDir = \/home\/root\/multicraft\//g" ${MulticraftConf}
|
sed -i "s/\(.*\)baseDir =\(.*\)/\EbaseDir = \/opt\/multicraft\//g" ${MulticraftConf}
|
||||||
sed -i 's/\#multiuser =\(.*\)/\Emultiuser = true/g' ${MulticraftConf}
|
sed -i 's/\#multiuser =\(.*\)/\Emultiuser = true/g' ${MulticraftConf}
|
||||||
sed -i "s/\(.*\)forbiddenFiles\(.*\)/\#forbiddenFiles = /g" ${MulticraftConf}
|
sed -i "s/\(.*\)forbiddenFiles\(.*\)/\#forbiddenFiles = /g" ${MulticraftConf}
|
||||||
sed -i "s/\ip = 127.0.0.1/\Eip = ${IP}/g" ${MulticraftConf}
|
sed -i "s/\ip = 127.0.0.1/\Eip = ${IP}/g" ${MulticraftConf}
|
||||||
@@ -139,8 +115,8 @@ cd /protected/config/
|
|||||||
cat > config.php << eof
|
cat > config.php << eof
|
||||||
<?php
|
<?php
|
||||||
return array (
|
return array (
|
||||||
'panel_db' => 'mysql:host=localhost;dbname=panel',
|
'panel_db' => 'mysql:host=10.5.10.56:3307;dbname=multicraft_panel',
|
||||||
'daemon_db' => 'mysql:host=localhost;dbname=daemon',
|
'daemon_db' => 'mysql:host=10.5.10.56:3307;dbname=dmulticraft_aemon',
|
||||||
'daemon_password' => '${DaemonPassword}',
|
'daemon_password' => '${DaemonPassword}',
|
||||||
'superuser' => 'admin',
|
'superuser' => 'admin',
|
||||||
'api_enabled' => false,
|
'api_enabled' => false,
|
||||||
@@ -170,11 +146,11 @@ return array (
|
|||||||
'sqlitecache_schema' => false,
|
'sqlitecache_schema' => false,
|
||||||
'sqlitecache_commands' => false,
|
'sqlitecache_commands' => false,
|
||||||
'user_mysql' => true,
|
'user_mysql' => true,
|
||||||
'user_mysql_host' => 'localhost',
|
'user_mysql_host' => '10.5.10.56:3307',
|
||||||
'user_mysql_user' => 'root',
|
'user_mysql_user' => 'sqluser',
|
||||||
'user_mysql_pass' => '${MySQLRoot}',
|
'user_mysql_pass' => 'dcs2057',
|
||||||
'user_mysql_prefix' => 'db_',
|
'user_mysql_prefix' => 'db_',
|
||||||
'user_mysql_admin' => 'http://${IP}/phpMyAdmin/index.php',
|
'user_mysql_admin' => 'https://pma.scity.us/index.php',
|
||||||
'show_repairtool' => 'superuser',
|
'show_repairtool' => 'superuser',
|
||||||
'register_disabled' => true,
|
'register_disabled' => true,
|
||||||
'reset_token_hours' => '0',
|
'reset_token_hours' => '0',
|
||||||
@@ -199,10 +175,10 @@ return array (
|
|||||||
'kill_button' => 'superuser',
|
'kill_button' => 'superuser',
|
||||||
'fill_port_gaps' => true,
|
'fill_port_gaps' => true,
|
||||||
'support_legacy_daemons' => false,
|
'support_legacy_daemons' => false,
|
||||||
'panel_db_user' => 'panel',
|
'panel_db_user' => 'multicraft',
|
||||||
'panel_db_pass' => '${Panel}',
|
'panel_db_pass' => '${DaemonPassword}',
|
||||||
'daemon_db_user' => 'daemon',
|
'daemon_db_user' => 'multicraft',
|
||||||
'daemon_db_pass' => '${Daemon}',
|
'daemon_db_pass' => '${DaemonPassword}',
|
||||||
'min_pw_length' => '',
|
'min_pw_length' => '',
|
||||||
'default_displayed_ip' => '',
|
'default_displayed_ip' => '',
|
||||||
'support_legacy_api' => false,
|
'support_legacy_api' => false,
|
||||||
@@ -223,37 +199,28 @@ java -version
|
|||||||
# Restart Services
|
# Restart Services
|
||||||
service apache2 stop
|
service apache2 stop
|
||||||
service apache2 start
|
service apache2 start
|
||||||
/sbin/service httpd stop
|
|
||||||
/sbin/service httpd start
|
|
||||||
|
|
||||||
# Output Vars
|
# Output Vars
|
||||||
cd /root/
|
cd /root/
|
||||||
cat > logins.conf << eof
|
cat > logins.conf << eof
|
||||||
# Stored Passwords
|
# Stored Passwords
|
||||||
MySQL Root Password: ${MySQLRoot}
|
MySQL Password: ${MySQLPWD}
|
||||||
Multicraft Daemon: ${Daemon}
|
|
||||||
Multicraft Panel: ${Panel}
|
|
||||||
|
|
||||||
# Control Panel Link:
|
# Control Panel Link:
|
||||||
http://${IP}/multicraft/index.php
|
http://${IP}/multicraft/index.php
|
||||||
Username: admin
|
Username: admin
|
||||||
Password: ${AdminPassword}
|
Password: ${AdminPassword}
|
||||||
|
|
||||||
# phpMyAdmin Link
|
|
||||||
http://${IP}/phpMyAdmin/index.php
|
|
||||||
Username: root
|
|
||||||
Password: ${MySQLRoot}
|
|
||||||
eof
|
eof
|
||||||
|
|
||||||
cat /root/logins.conf
|
cat /root/logins.conf
|
||||||
|
|
||||||
# Automatically Import MySQL Database Schema's, thus removing the web installer. :)
|
# Automatically Import MySQL Database Schema's, thus removing the web installer. :)
|
||||||
mysql -p${Panel} -u panel -D panel < /protected/data/panel/schema.mysql.sql
|
${MYSQLPARAM} -D multicraft_panel < /protected/data/panel/schema.mysql.sql
|
||||||
mysql -p${Daemon} -u daemon -D daemon < /protected/data/daemon/schema.mysql.sql
|
${MYSQLPARAM} -D multicraft_daemon < /protected/data/daemon/schema.mysql.sql
|
||||||
|
|
||||||
# Daemon MySQL Changes
|
# Daemon MySQL Changes
|
||||||
mysql -p${Daemon} -u daemon -D daemon -e "INSERT INTO setting VALUES ('defaultServerIp', '1');"
|
${MYSQLPARAM} -D multicraft_daemon -e "INSERT INTO setting VALUES ('defaultServerIp', '1');"
|
||||||
mysql -p${Daemon} -u daemon -D daemon -e "INSERT INTO setting VALUES ('minecraftEula', 'auto');"
|
${MYSQLPARAM} -D multicraft_daemon -e "INSERT INTO setting VALUES ('minecraftEula', 'auto');"
|
||||||
|
|
||||||
# Auto Start
|
# Auto Start
|
||||||
mv /etc/rc.local /etc/rc.local-old
|
mv /etc/rc.local /etc/rc.local-old
|
||||||
@@ -272,14 +239,10 @@ chmod +x /etc/rc.local
|
|||||||
chmod +x /etc/rc.d/rc.local
|
chmod +x /etc/rc.d/rc.local
|
||||||
/etc/rc.local
|
/etc/rc.local
|
||||||
|
|
||||||
# Fix Remote MySQL Issues for Multicraft
|
${MYSQLPARAM} -Dmysql -e "FLUSH PRIVILEGES;"
|
||||||
mysql -e "SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('${MySQLRoot}');"
|
|
||||||
mysql -Dmysql -e "DELETE FROM user WHERE Password='';"
|
|
||||||
mysql -Dmysql -e "DROP USER ''@'%';"
|
|
||||||
mysql -Dmysql -e "FLUSH PRIVILEGES;"
|
|
||||||
|
|
||||||
# Configure New Admin Password
|
# Configure New Admin Password
|
||||||
SaltPassword="$(python -c "import crypt, getpass, pwd; \
|
SaltPassword="$(python -c "import crypt, getpass, pwd; \
|
||||||
print crypt.crypt('${AdminPassword}', '\$6\$saltsalt\$')")"
|
print crypt.crypt('${AdminPassword}', '\$6\$saltsalt\$')")"
|
||||||
mysql -p${Panel} -u panel -D panel -e "UPDATE user SET password='${SaltPassword}' WHERE name='admin';"
|
${MYSQLPARAM} -D multicraft_panel -e "UPDATE user SET password='${SaltPassword}' WHERE name='admin';"
|
||||||
mysql -p${Daemon} -u daemon -D daemon -e "UPDATE ftp_user SET password='${SaltPassword}' WHERE name='admin';"
|
${MYSQLPARAM} -D multicraft_daemon -e "UPDATE ftp_user SET password='${SaltPassword}' WHERE name='admin';"
|
||||||
Reference in New Issue
Block a user