Update vagrant to trusty
[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-xdebug 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 #################### USER CONFIG ##########################
42
43 # Get grml-zsh
44 #wget -O /home/vagrant/.zshrc http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
45
46 # Set zsh as default shell
47 #chsh vagrant -s /usr/bin/zsh
48
49 # Create www link to /vagrant
50 #ln -s /vagrant /home/vagrant/www
51
52 ################# MYSQL AND WEBSERVER #####################
53
54 # Allow unsecured remote access to MySQL.
55 mysql -u root -p"vagrant" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; FLUSH PRIVILEGES;"
56
57 # Fix mysql bug
58 sed -e 's/127.0.0.1/0.0.0.0/g' -i '/etc/mysql/my.cnf'
59
60 # Allow modules for Apache.
61 a2enmod rewrite
62
63 # Disable apache default sites
64 a2dissite default 000-default
65
66 # phpmyadmin vhost
67 phpmyadmin_vhost="
68 <VirtualHost *:80>\n
69         DocumentRoot    \"/usr/share/phpmyadmin\"\n
70         ServerName      pma.local\n
71         ServerAlias     www.pma.local\n
72 </VirtualHost>\n"
73
74 echo -e $phpmyadmin_vhost > /etc/apache2/sites-available/pma-local.conf
75
76 # Enable pma-local for apache
77 a2ensite pma-local
78
79 # Allow override for default site
80 sed -i '/AllowOverride None/c AllowOverride All' /etc/apache2/sites-available/default
81
82 # Remove phpmyadmin alias to enforce own vhost
83 sed -i 's/^Alias.*$//' /etc/apache2/conf.d/phpmyadmin.conf
84
85 ###################### XDEBUG SETTINGS ######################
86
87 if [ -e /etc/php5/conf.d/xdebug.ini ]; then
88     # don't forget to set export XDEBUG_CONFIG="idekey=eclipse"
89     echo xdebug.default_enable=1 >> /etc/php5/conf.d/xdebug.ini
90     echo xdebug.remote_enable=1 >> /etc/php5/conf.d/xdebug.ini
91     echo xdebug.remote_handler=dbgp >> /etc/php5/conf.d/xdebug.ini
92     echo xdebug.remote_connect_back=1 >> /etc/php5/conf.d/xdebug.ini
93     echo xdebug.remote_port=9000 >> /etc/php5/conf.d/xdebug.ini
94     echo xdebug.remote_host=10.10.10.1 >> /etc/php5/conf.d/xdebug.ini
95     echo xdebug.remote_autostart=0 >> /etc/php5/conf.d/xdebug.ini
96     echo xdebug.remote_log=/vagrant/logs/php5-xdebug.log >> /etc/php5/conf.d/xdebug.ini
97 fi
98
99 ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
100 php5enmod mcrypt
101
102 ###################### INSTALL TINE20 ######################
103 if [ -d /usr/local/share/tine20.git/tine20 ]; then
104     source /usr/local/share/tine20.git/scripts/vagrant/setup-tine20.sh
105 fi
106
107 ###################### FINALS ###########################
108
109 # Restart / Start services and clean up
110 service apache2 restart
111 service mysql restart
112 apt-get clean
113
114 # Add apache2 to autostart
115 update-rc.d apache2 enable