#! /bin/bash # Variables DBHOST=localhost DBNAME=gapserver_db DBUSER=gapadmin DBPASSWD=123qwe! HOSTNAME=gapserver.ir MODULEDIR='/usr/lib/prosody/modules' KEY=/var/lib/prosody/$HOSTNAME.key CERT=/var/lib/prosody/$HOSTNAME.crt SQL='sql = { driver = "MySQL", database = "'$DBNAME'", username = "'$DBUSER'", password = "'$DBPASSWD'", host = "'$DBHOST'" }' echo -e "\n--- Updating packages list ---\n" sudo apt-get update echo -e "\n--- Install base packages ---\n" sudo apt-get -y install vim nano curl build-essential python-software-properties git echo -e "\n--- Add Prosody repos to update our distro ---\n" echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list echo -e "\n--- Add Prosody /key ---\n" sudo wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add - echo -e "\n--- Updating packages list ---\n" sudo apt-get update echo -e "\n--- Install MySQL specific packages and settings ---\n" sudo apt-get -y install mysql-server phpmyadmin echo -e "\n--- Setting up our MySQL user and db ---\n" sudo mysql -uroot -p$DBPASSWD -e "CREATE DATABASE $DBNAME" sudo mysql -uroot -p$DBPASSWD -e "grant all privileges on $DBNAME.* to '$DBUSER'@'localhost' identified by '$DBPASSWD'" echo -e "\n--- Installing PHP-specific packages ---\n" sudo apt-get -y install php7.0 apache2 libapache2-mod-php7.0 php7.0-curl php7.0-gd php7.0-mcrypt php7.0-mysql echo -e "\n--- Install Prosody packages ---\n" sudo apt-get -y install prosody lua-event lua-dbi-mysql sudo apt-get -y install luarocks libexpat-dev sudo luarocks install luaexpat echo -e "\n--- Installing modules ---\n" sudo apt-get -y install lua-zlib mercurial #cd $MODULEDIR sudo hg clone https://hg.prosody.im/prosody-modules/ $MODULEDIR echo -e "\n--- Generating Cerificate ---\n" sudo prosodyctl cert generate $HOSTNAME sudo cp prosody.cfg.lua /etc/prosody/prosody.cfg.lua echo -e "\n--- Configuring /etc/prosody/prosody.cfg.lua ---\n" sudo sed -i "s/gapserver.ir/$HOSTNAME/g" /etc/prosody/prosody.cfg.lua sudo sed -i "s/sql = { }/$SQL/g" /etc/prosody/prosody.cfg.lua sudo sed -i "s|plugin_paths = { }|plugin_paths = {'$MODULEDIR'};|g" /etc/prosody/prosody.cfg.lua sudo sed -i "s|cert.key|$KEY|g" /etc/prosody/prosody.cfg.lua sudo sed -i "s|cert.crt|$CERT|g" /etc/prosody/prosody.cfg.lua echo -e "\n--- Set admin Password ---\n" sudo prosodyctl adduser admin@$HOSTNAME sudo prosodyctl restart echo -e "\n--- Finished installing... ---\n"