7a04e24d02ce687e7115eb96231e588d5742555d
[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-xdebug 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 # Enable pma-local for apache
82 a2ensite pma-local
83
84 # Allow override for default site
85 sed -i '/AllowOverride None/c AllowOverride All' /etc/apache2/sites-available/default
86
87 # Remove phpmyadmin alias to enforce own vhost
88 sed -i 's/^Alias.*$//' /etc/apache2/conf.d/phpmyadmin.conf
89
90 ###################### XDEBUG SETTINGS ######################
91
92 if [ -e /etc/php5/conf.d/xdebug.ini ]; then
93     # don't forget to set export XDEBUG_CONFIG="idekey=eclipse" (TODO add to bashrc)
94     echo xdebug.default_enable=1 >> /etc/php5/conf.d/xdebug.ini
95     echo xdebug.remote_enable=1 >> /etc/php5/conf.d/xdebug.ini
96     echo xdebug.remote_handler=dbgp >> /etc/php5/conf.d/xdebug.ini
97     echo xdebug.remote_connect_back=1 >> /etc/php5/conf.d/xdebug.ini
98     echo xdebug.remote_port=9000 >> /etc/php5/conf.d/xdebug.ini
99     echo xdebug.remote_host=10.10.10.1 >> /etc/php5/conf.d/xdebug.ini
100     echo xdebug.remote_autostart=0 >> /etc/php5/conf.d/xdebug.ini
101     echo xdebug.remote_log=/vagrant/logs/php5-xdebug.log >> /etc/php5/conf.d/xdebug.ini
102 fi
103
104 ###################### INSTALL TINE20  ######################
105 if [ -d /vagrant/tine20.git/tine20 ]; then
106     source /vagrant/setup-tine20.sh
107 fi
108
109 ###################### FINALS ###########################
110
111 # Restart / Start services and clean up
112 service apache2 restart
113 service mysql restart
114 apt-get clean
115
116 # Add apache2 to autostart
117 update-rc.d apache2 enable