diff options
Diffstat (limited to 'install/fresh_install.sh')
-rw-r--r-- | install/fresh_install.sh | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/install/fresh_install.sh b/install/fresh_install.sh new file mode 100644 index 00000000..722f2eb9 --- /dev/null +++ b/install/fresh_install.sh @@ -0,0 +1,103 @@ +#!/bin/bash +# todo: -install asterisk +# -use ip if dns not configured (dig +short @141.1.1.1) + +echo "updating system" + apt-get -qq update + apt-get -qq upgrade + +echo "installing software" + apt-get -qq install vim apache2 mysql-common mysql-server php5-mysql \ + libapache2-mod-php5 subversion openssl ssl-cert ssh less makepasswd + +echo "setting local vars" + SQL_PASSWD=`makepasswd --chars=8 --noverbose` + ADM_PASSWD=`makepasswd --chars=8 --noverbose` + + SQL_USER=`makepasswd --chars=8 --noverbose` + SQL_UPWD=`makepasswd --chars=8 --noverbose` + + state=DE + province=Berlin + town=Berlin + org="CCC e.V." + section="Congress" + adminmail="admin@`cat /etc/hostname`.`dnsdomainname`" + + FQDN=`/bin/hostname -f` + +echo "getting sources" + svn co svn://svn.cccv.de/engel-system + +echo "setting up apache2" + mkdir /var/www/http/ + mkdir /var/www/https/ + + mkdir /etc/apache2/ssl/ + + echo -ne $state'\n'$province'\n'$town'\n'$org'\n'$section'\n'$FQDN'\n'$adminmail'\n'|openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/apache.pem + + chmod 600 /etc/apache2/ssl/apache.pem + + cp `pwd`/engel-system/default-conf/etc/default /etc/apache2/sites-available/default + cp `pwd`/engel-system/default-conf/etc/https /etc/apache2/sites-available/https + + echo "Listen 443" >> /etc/apache2/ports.conf + + a2enmod ssl + a2ensite https + /etc/init.d/apache2 restart + +echo "setting up mysql" + mysql -u root mysql -e "CREATE DATABASE tabel;" + +echo "setting sources in place" + cp -r `pwd`/engel-system/www/* /var/www/http/ + cp -r `pwd`/engel-system/www-ssl/* /var/www/https/ + cp -r `pwd`/engel-system/includes/ /var/www/ + cp -r `pwd`/engel-system/default-conf/www-ssl/inc/* /var/www/https/inc/ + + rm /var/www/https/inc/config.php + cat `pwd`/engel-system/default-conf/www-ssl/inc/config.php|sed s/SEDENGELURL/$FQDN/ |sed s/MD5SED/`openssl x509 -noout -fingerprint -md5 -in /etc/apache2/ssl/apache.pem|sed s/MD5\ Fingerprint\=//`/|sed s/SHA1SED/`openssl x509 -noout -fingerprint -sha1 -in /etc/apache2/ssl/apache.pem|sed s/SHA1\ Fingerprint\=//`/ >> /var/www/https/inc/config.php + + rm /var/www/https/inc/config_db.php + cat `pwd`/engel-system/default-conf/www-ssl/inc/config_db.php|sed s/changeme/$SQL_UPWD/|sed s/root/$SQL_USER/ >> /var/www/https/inc/config_db.php + + cp `pwd`/engel-system/DB/User.sql `pwd`/engel-system/DB/User.sql2 + rm `pwd`/engel-system/DB/User.sql + + cat `pwd`/engel-system/DB/User.sql2|sed s/21232f297a57a5a743894a0e4a801fc3/`echo -n $ADM_PASSWD|md5sum|sed s/\ \ \-//`/ >> `pwd`/engel-system/DB/User.sql + + mysql tabel -u root < `pwd`/engel-system/DB/ChangeLog.sql + mysql tabel -u root < `pwd`/engel-system/DB/Himmel.sql + mysql tabel -u root < `pwd`/engel-system/DB/Messages.sql + mysql tabel -u root < `pwd`/engel-system/DB/Sprache.sql + mysql tabel -u root < `pwd`/engel-system/DB/User.sql + mysql tabel -u root < `pwd`/engel-system/DB/UserCVS.sql + mysql tabel -u root < `pwd`/engel-system/DB/UserPicture.sql + +echo "cleaning up" + rm -rf `pwd`/engel-system/ + + mysql -u root mysql -e "GRANT SELECT,INSERT,ALTER,UPDATE,INDEX,DELETE,DROP,CREATE ON tabel.* TO '$SQL_USER'@'localhost' IDENTIFIED BY 'password';" + + mysql -u root mysql -e "UPDATE user SET Password=PASSWORD('$SQL_PASSWD') WHERE user='root';" + mysql -u root mysql -e "UPDATE user SET Password=PASSWORD('$SQL_UPWD') WHERE user='$SQL_USER';" + + mysql -u root mysql -e "DELETE FROM user WHERE User='debian-sys-maint';" + mysql -u root mysql -e "FLUSH PRIVILEGES;" + + echo "SQL-Root: root" >> /root/cfg.info + echo "SQL-Root-Pass: $SQL_PASSWD" >> /root/cfg.info + echo "SQL-User: $SQL_USER" >> /root/cfg.info + echo "SQL-User-Pass: $SQL_UPWD" >> /root/cfg.info + echo "Web-User: admin" >> /root/cfg.info + echo "Web-User-Pass: $ADM_PASSWD" >> /root/cfg.info + +echo "final hints:" +echo "-the webfrontend user/pass combo is: admin:$ADM_PASSWD" +echo "-the sql-server root account is: root:$SQL_PASSWD" +echo "-the sql-server user account is: $SQL_USER:$SQL_UPWD" +echo "-you can find further information and the passwords in /root/cfg.info" +echo "-make sure \$url in /var/www/https/inc/config.php is correct" + |