summaryrefslogtreecommitdiff
path: root/DEV/install.sh
blob: d17b38bb61d8c9c9de4a98d33e13c05934110273 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/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/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"