web_AI-5/Vagrantfile

60 lines
2.0 KiB
Plaintext
Raw Normal View History

2017-10-20 23:54:13 +02:00
# coding: utf-8
# -*- mode: ruby -*-
# vi: set ft=ruby :
BOX_IMAGE = "debian/stretch64"
Vagrant.configure("2") do |config|
config.vm.box = BOX_IMAGE
config.vm.hostname = "web-AI-5"
2017-10-29 17:02:57 +01:00
config.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
2017-10-20 23:54:13 +02:00
# Der Webserver ist unter http://localhost:8000 erreichbar
2017-11-18 09:44:14 +01:00
config.vm.network "forwarded_port", guest: 8000, host: 8000
config.vm.network "forwarded_port", guest: 80, host: 8080
2017-10-20 23:54:13 +02:00
#Diese Option würde erlauben den Server an ein virtuelles
#Netzwerk anzuschliessen.
#config.vm.network "private_network", type: "dhcp"
2017-10-29 20:27:02 +01:00
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
2017-10-20 23:54:13 +02:00
#Begin des Installationsscripts
config.vm.provision "shell", inline: <<-SHELL
DEBIAN_FRONTEND=noninteractive
apt-get update
#zu installierende Pakete
2017-10-29 17:02:57 +01:00
apt-get install -y apache2 python3-django mariadb-server avahi-daemon \
libnss-mdns libapache2-mod-wsgi-py3 python3-mysqldb
2017-10-20 23:54:13 +02:00
2017-11-03 16:48:43 +01:00
#initialize the db
mysql < /vagrant/sql/04_remove_database.sql
mysql < /vagrant/sql/01_create_database.sql
2017-10-20 23:54:13 +02:00
#löschen und verlinken der HTML root damit man diese nicht manuel kopieren muss.
if ! [ -L /var/www/html ]; then
rm -rf /var/www/html
ln -s /vagrant/html /var/www/html
fi
2017-11-03 16:48:43 +01:00
#Copy the apache configuration for django to the correct place
cp /vagrant/apache/000-default.conf /etc/apache2/sites-available/
#restart the webserver
systemctl restart apache2.service
rm /vagrant/django/didgeridoo/webshop/migrations/*.py
2017-11-13 22:48:01 +01:00
python3 /vagrant/django/didgeridoo/manage.py makemigrations webshop
python3 /vagrant/django/didgeridoo/manage.py migrate
mysql < /vagrant/sql/02_insert_data.sql
2017-11-13 22:48:01 +01:00
echo "from django.contrib.auth.models import User; \
User.objects.filter(email='admin@example.com').delete(); \
User.objects.create_superuser('admin', 'admin@example.com', 'password')" |
python3 /vagrant/django/didgeridoo/manage.py shell
2017-10-20 23:54:13 +02:00
SHELL
end