-
Notifications
You must be signed in to change notification settings - Fork 2
/
Vagrantfile
68 lines (66 loc) · 3.34 KB
/
Vagrantfile
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
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.box_version = "20200416.0.0 "
config.vm.network "forwarded_port", guest: 80, host: 8888, id: "apache"
config.vm.network "forwarded_port", guest: 9200, host: 9201, id: "elasticsearch"
config.vm.network "forwarded_port", guest: 6379, host: 6380, id: "redis"
config.vm.synced_folder "shared/", "/home/vagrant/shared", create: true
config.vm.provider "virtualbox" do |v|
v.name = "msc-gods-dev-vm"
v.memory = 2048
v.cpus = 2
end
config.vm.provision "shell", inline: <<-SHELL
echo "*** adding ubuntugis ppa and updating package lists ***"
add-apt-repository ppa:ubuntugis/ubuntugis-unstable
apt-get update
echo "*** installing git ***"
apt-get install -y git
echo "*** installing vim tools ***"
apt-get install -y vim vim-common vim-runtime vim-tiny
echo "*** installing gdal ***"
sudo apt-get install -y gdal-bin
apt-get install -y libgdal-dev
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
echo "*** installing python3-pip and pylint3 ***"
apt-get install -y python3-pip
apt-get install -y pylint3
echo " *** install GDAL python bindings ***"
pip3 install GDAL
echo "*** installing mapserver ***"
apt-get install -y apache2 apache2-bin apache2-utils cgi-mapserver mapserver-bin mapserver-doc python-mapscript
a2enmod cgi fcgid
echo "*** setting Apache default configuration for mapserver ***"
grep -qxF 'ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/' /etc/apache2/sites-available/000-default.conf || cat >> /etc/apache2/sites-available/000-default.conf <<EOF
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin/">
AllowOverride All
Options +ExecCGI -MultiViews +FollowSymLinks
AddHandler fcgid-script .fcgi
Require all granted
</Directory>
EOF
service apache2 restart
echo "*** Mapserver now available from host computer at http://localhost:8888/cgi-bin/mapserv?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities ***"
echo "*** installing and setting up elasticsearch ***"
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
apt-get install apt-transport-https
grep -qxF 'deb https://artifacts.elastic.co/packages/7.x/apt stable main' /etc/apt/sources.list.d/elastic-7.x.list || echo 'deb https://artifacts.elastic.co/packages/7.x/apt stable main' >> /etc/apt/sources.list.d/elastic-7.x.list
apt-get update && apt-get install elasticsearch
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
grep -qxF 'network.host: 0.0.0.0' /etc/elasticsearch/elasticsearch.yml || echo 'network.host: 0.0.0.0' >> /etc/elasticsearch/elasticsearch.yml
grep -qxF 'http.port: 9200' /etc/elasticsearch/elasticsearch.yml || echo 'http.port: 9200' >> /etc/elasticsearch/elasticsearch.yml
grep -qxF 'discovery.type: single-node' /etc/elasticsearch/elasticsearch.yml || echo 'discovery.type: single-node' >> /etc/elasticsearch/elasticsearch.yml
sudo systemctl start elasticsearch.service
echo "*** Elasticsearch now available on host at http://localhost:9201 ****"
echo "*** installing and setting up redis ****"
apt-get install -y redis-server
sudo sed -i 's/supervised no/supervised systemd/' /etc/redis/redis.conf
sudo systemctl restart redis.service
echo "*** redis now available on host at http://localhost:6380 ****"
SHELL
end