-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbootstrap_vagrant.sh
115 lines (84 loc) · 3.8 KB
/
bootstrap_vagrant.sh
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
103
104
105
106
107
108
109
110
111
112
113
114
115
#!/usr/bin/env bash
# Mysql server setup
echo mysql-server mysql-server/root_password select vagrant | debconf-set-selections
echo mysql-server mysql-server/root_password_again select vagrant | debconf-set-selections
# phpMyAdmin setup
echo phpmyadmin phpmyadmin/dbconfig-install boolean true | debconf-set-selections
echo phpmyadmin phpmyadmin/app-password-confirm password vagrant | debconf-set-selections
echo phpmyadmin phpmyadmin/mysql/admin-pass password vagrant | debconf-set-selections
echo phpmyadmin phpmyadmin/mysql/app-pass password vagrant | debconf-set-selections
echo phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2 | debconf-set-selections
################### INSTALL AND UPDATE ######################
# Remove backports
sed -i 's/.*backports.*//g' /etc/apt/sources.list
# Update package lists
apt-get update
# Install lamp stack
apt-get install -y mysql-server apache2 php5 libapache2-mod-php5 php5-mysql php5-gd php5-curl php-pear php5-xdebug php5-xsl phpmyadmin
# run apache as vagrant to ease things
service apache2 stop
sed -i 's/www-data/vagrant/g' /etc/apache2/envvars
chown -R vagrant /var/lock/apache2
service apache2 start
# Install dev tools
apt-get install -y vim git subversion curl make wget nfs-common portmap
# Additional stuff
apt-get install -y zsh language-pack-de
# Setup composer or if allready installed it would update
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
#################### USER CONFIG ##########################
# Get grml-zsh
#wget -O /home/vagrant/.zshrc http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
# Set zsh as default shell
#chsh vagrant -s /usr/bin/zsh
# Create www link to /vagrant
#ln -s /vagrant /home/vagrant/www
################# MYSQL AND WEBSERVER #####################
# Allow unsecured remote access to MySQL.
mysql -u root -p"vagrant" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; FLUSH PRIVILEGES;"
# Fix mysql bug
sed -e 's/127.0.0.1/0.0.0.0/g' -i '/etc/mysql/my.cnf'
# Allow modules for Apache.
a2enmod rewrite
# Disable apache default sites
a2dissite default 000-default
# phpmyadmin vhost
phpmyadmin_vhost="
<VirtualHost *:80>\n
DocumentRoot \"/usr/share/phpmyadmin\"\n
ServerName pma.local\n
ServerAlias www.pma.local\n
</VirtualHost>\n"
echo -e $phpmyadmin_vhost > /etc/apache2/sites-available/pma-local.conf
# Enable pma-local for apache
a2ensite pma-local
# Allow override for default site
sed -i '/AllowOverride None/c AllowOverride All' /etc/apache2/sites-available/default
# Remove phpmyadmin alias to enforce own vhost
sed -i 's/^Alias.*$//' /etc/apache2/conf.d/phpmyadmin.conf
###################### XDEBUG SETTINGS ######################
if [ -e /etc/php5/conf.d/xdebug.ini ]; then
# don't forget to set export XDEBUG_CONFIG="idekey=eclipse"
echo xdebug.default_enable=1 >> /etc/php5/conf.d/xdebug.ini
echo xdebug.remote_enable=1 >> /etc/php5/conf.d/xdebug.ini
echo xdebug.remote_handler=dbgp >> /etc/php5/conf.d/xdebug.ini
echo xdebug.remote_connect_back=1 >> /etc/php5/conf.d/xdebug.ini
echo xdebug.remote_port=9000 >> /etc/php5/conf.d/xdebug.ini
echo xdebug.remote_host=10.10.10.1 >> /etc/php5/conf.d/xdebug.ini
echo xdebug.remote_autostart=0 >> /etc/php5/conf.d/xdebug.ini
echo xdebug.remote_log=/vagrant/logs/php5-xdebug.log >> /etc/php5/conf.d/xdebug.ini
fi
ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
php5enmod mcrypt
###################### INSTALL TINE20 ######################
if [ -d /usr/local/share/tine20.git/tine20 ]; then
source /usr/local/share/tine20.git/scripts/vagrant/setup-tine20.sh
fi
###################### FINALS ###########################
# Restart / Start services and clean up
service apache2 restart
service mysql restart
apt-get clean
# Add apache2 to autostart
update-rc.d apache2 enable