95b9a9060c12250d59b8a876257c1596e5ba4346
[tine20] / scripts / vagrant / bootstrap_vagrant.sh
1 #!/usr/bin/env bash
2
3 # Mysql server setup
4 echo mysql-server mysql-server/root_password select vagrant | debconf-set-selections
5 echo mysql-server mysql-server/root_password_again select vagrant | debconf-set-selections
6
7 # phpMyAdmin setup
8 echo phpmyadmin phpmyadmin/dbconfig-install boolean true | debconf-set-selections
9 echo phpmyadmin phpmyadmin/app-password-confirm password vagrant | debconf-set-selections
10 echo phpmyadmin phpmyadmin/mysql/admin-pass password vagrant | debconf-set-selections
11 echo phpmyadmin phpmyadmin/mysql/app-pass password vagrant | debconf-set-selections
12 echo phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2 | debconf-set-selections
13
14 ################### INSTALL AND UPDATE ######################
15
16 # Remove backports
17 sed -i 's/.*backports.*//g' /etc/apt/sources.list
18
19 # Update package lists
20 apt-get update
21
22 # Install lamp stack
23 apt-get install -y mysql-server apache2 php5 libapache2-mod-php5 php5-mysql php5-gd php5-curl php-pear php5-xsl phpmyadmin
24
25 # run apache as vagrant to ease things
26 service apache2 stop
27 sed -i 's/www-data/vagrant/g' /etc/apache2/envvars
28 chown -R vagrant /var/lock/apache2
29 service apache2 start
30
31 # Install dev tools
32 apt-get install -y  vim git subversion curl make wget nfs-common portmap
33
34 # Additional stuff
35 apt-get install -y zsh language-pack-de
36
37 # Setup composer or if allready installed it would update
38 curl -sS https://getcomposer.org/installer | php
39 mv composer.phar /usr/local/bin/composer
40
41 # Install jslint
42 #svn co https://svn.code.sf.net/p/javascriptlint/code/trunk jsl 
43 #cd jsl/
44 #python setup.py install
45
46 #################### USER CONFIG ##########################
47
48 # Get grml-zsh
49 #wget -O /home/vagrant/.zshrc http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
50
51 # Set zsh as default shell
52 #chsh vagrant -s /usr/bin/zsh
53
54 # Create www link to /vagrant
55 #ln -s /vagrant /home/vagrant/www
56
57 ################# MYSQL AND WEBSERVER #####################
58
59 # Allow unsecured remote access to MySQL.
60 mysql -u root -p"vagrant" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; FLUSH PRIVILEGES;"
61
62 # Fix mysql bug
63 sed -e 's/127.0.0.1/0.0.0.0/g' -i '/etc/mysql/my.cnf'
64
65 # Allow modules for Apache.
66 a2enmod rewrite
67
68 # Disable apache default sites
69 a2dissite default 000-default
70
71 # phpmyadmin vhost
72 phpmyadmin_vhost="
73 <VirtualHost *:80>\n
74         DocumentRoot    \"/usr/share/phpmyadmin\"\n
75         ServerName      pma.local\n
76         ServerAlias     www.pma.local\n
77 </VirtualHost>\n"
78
79 echo -e $phpmyadmin_vhost > /etc/apache2/sites-available/pma-local
80
81
82 # Enable pma-local for apache
83 a2ensite pma-local
84
85 # Allow override for default site
86 sed -i '/AllowOverride None/c AllowOverride All' /etc/apache2/sites-available/default
87
88 # Remove phpmyadmin alias to enforce own vhost
89 sed -i 's/^Alias.*$//' /etc/apache2/conf.d/phpmyadmin.conf
90
91 ###################### INSTALL TINE20 ######################
92 if [ -d /vagrant/tine20.git/tine20 ]; then
93     source /vagrant/setup-tine20.sh
94 fi
95
96 ###################### FINALS ###########################
97
98 # Restart / Start services and clean up
99 service apache2 restart
100 service mysql restart
101 apt-get clean
102
103 # Add apache2 to autostart
104 update-rc.d apache2 enable