123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #!/bin/bash
- # Config
- ENVIROMENT="prod";
- TMP="/tmp/omni-setup";
- if [[ "$1" != "" ]];then
- ENVIROMENT="$1";
- fi;
- REGISTER_URL="http://api.omnimaga.org/register/$ENVIROMENT";
- PHPMYADMIN_URL="http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.2.9/phpMyAdmin-4.2.9-english.tar.xz";
- # Functions for logging
- section(){
- echo "=> Starting Section \"$@\"";
- }
- log(){
- echo "|-> $@";
- }
- sublog(){
- echo "|--> $@";
- }
- info(){
- echo "|-> INFO: $@";
- }
- subinfo(){
- echo "|--> INFO $@";
- }
- install(){
- apt-get -qq install $@;
- }
- updatesudo(){
- if visudo -q -c -fdata/etc/$@;then
- cp data/etc/$@ /etc/$@;
- fi;
- }
- # Make sure the script is running as root
- if [ "$(id -u)" != "0" ]; then
- sudo $0;
- exit;
- fi;
- # Actually run the install
- section "Registering";
- log "Getting IDs";
- mkdir -p /tmp/omni-setup;
- sublog "Hostname";
- wget -q "$REGISTER_URL/hostname" -O $TMP/hostname;
- if [[ "$(cat $TMP/hostname)" == "" ]];then
- hostname > $TMP/hostname;
- fi;
- hostname $(cat $TMP/hostname);
- cp $TMP/hostname /etc/hostname;
- sublog "MySQL ID";
- wget -q "$REGISTER_URL/mysql-id" -O $TMP/mysql-id;
- section "Package Installation";
- log "LAMP Stack";
- install lamp-server^;
- log "Node.js"
- install nodejs;
- log "SSH Server";
- install ssh;
- log "Git";
- install git;
- log "htop";
- install htop;
- section "Custom Packages";
- log "Omnimaga-Server-Utils";
- sublog "Creating directories";
- mkdir /opt/omnimaga/bin -p;
- chown root:users /opt/omnimaga/bin;
- sublog "Adding to path";
- echo "export PATH=$PATH:/opt/omnimaga/bin;" > /etc/profile.d/omnimaga-server-utils.sh;
- . /etc/profile.d/omnimaga-server-utils.sh;
- sublog "getting files";
- rm -rf /opt/omnimaga/bin;
- git clone -q https://github.com/Omnimaga/server-utils.git /opt/omnimaga/bin/;
- chmod a+x /opt/omnimaga/bin/*;
- subinfo "Add users to the group omnimaga-utils to allow access";
- log "phpmyadmin";
- sublog "Downloading";
- wget -q $PHPMYADMIN_URL -O $TMP/pma.tar.xz;
- sublog "Extracting";
- tar -C $TMP/ -xf $TMP/pma.tar.xz;
- sublog "Copying";
- mkdir -p /var/www/phpmyadmin/;
- cp -R $TMP/phpMyAdmin-*/{*,.[a-zA-Z0-9]*} /var/www/phpmyadmin/;
- cp data/var/www/phpmyadmin/config.inc.php /var/www/phpmyadmin/;
- section "Config";
- log "Setting up sudoers";
- updatesudo sudoers;
- log "Setting up groups";
- sublog "web";
- groupadd -f web;
- updatesudo sudoers.d/web;
- sublog "ircd";
- groupadd -f ircd;
- updatesudo sudoers.d/ircd;
- sublog "mysqld";
- cp data/etc/mysql/conf.d/replication.cnf /etc/mysql/conf.d/replication.cnf;
|