104 lines
4.0 KiB
Bash
104 lines
4.0 KiB
Bash
#!/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"
|
|
|