#!/bin/sh # Configuration de la base de données. Le mot de passe est constant car c'est # pour une installation de dév locale qui ne sera accessible que depuis la # machine virtuelle. DBUSER="cof_gestion" DBNAME="cof_gestion" DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4" # Installation de paquets utiles apt-get update && apt-get install -y python3-pip python3-dev python3-venv \ libmysqlclient-dev libjpeg-dev git redis-server pip install -U pip # Configuration et installation de mysql. Le mot de passe root est le même que # le mot de passe pour l'utilisateur local - pour rappel, ceci est une instance # locale de développement. echo "mysql-server mysql-server/root_password password $DBPASSWD" | debconf-set-selections echo "mysql-server mysql-server/root_password_again password $DBPASSWD" | debconf-set-selections apt-get install -y mysql-server mysql -uroot -p$DBPASSWD -e "CREATE DATABASE $DBNAME; GRANT ALL PRIVILEGES ON $DBNAME.* TO '$DBUSER'@'localhost' IDENTIFIED BY '$DBPASSWD'" # Installation et configuration d'Apache apt-get install -y apache2 a2enmod proxy proxy_http proxy_wstunnel headers cp /vagrant/provisioning/apache.conf /etc/apache2/sites-available/gestiocof.conf a2ensite gestiocof a2dissite 000-default service apache2 restart mkdir /var/www/static chown -R ubuntu:www-data /var/www/static # Mise en place du .bash_profile pour tout configurer lors du `vagrant ssh` cat >> ~ubuntu/.bashrc <<EOF # On utilise la version de développement de GestioCOF export DJANGO_SETTINGS_MODULE='cof.settings_dev' # Identifiants MySQL export DBUSER="$DBUSER" export DBNAME="$DBNAME" export DBPASSWD="$DBPASSWD" # Permet d'utiliser les utilitaires pythons locaux export PATH="\$PATH:\$HOME/.local/bin" # Charge le virtualenv source ~/venv/bin/activate # On va dans /vagrant où se trouve le code de gestioCOF cd /vagrant EOF # On va dans /vagrant où se trouve gestioCOF cd /vagrant # Installation du virtualenv, on utilise désormais python3 sudo -H -u ubuntu python3 -m venv ~ubuntu/venv sudo -H -u ubuntu ~ubuntu/venv/bin/pip install -U pip sudo -H -u ubuntu ~ubuntu/venv/bin/pip install -r requirements.txt -r requirements-devel.txt # Préparation de Django sudo -H -u ubuntu DJANGO_SETTINGS_MODULE='cof.settings_dev' DBUSER=$DBUSER DBNAME=$DBNAME DBPASSWD=$DBPASSWD bash provisioning/prepare_django.sh # Installation du cron pour les mails de rappels sudo -H -u ubuntu crontab provisioning/cron.dev # On installe Daphne et on demande à supervisor de le lancer sudo -H -u ubuntu ~ubuntu/venv/bin/pip install daphne apt-get install -y supervisor cp /vagrant/provisioning/supervisor.conf /etc/supervisor/conf.d/gestiocof.conf sed "s/{DBUSER}/$DBUSER/" -i /etc/supervisor/conf.d/gestiocof.conf sed "s/{DBNAME}/$DBNAME/" -i /etc/supervisor/conf.d/gestiocof.conf sed "s/{DBPASSWD}/$DBPASSWD/" -i /etc/supervisor/conf.d/gestiocof.conf service supervisor restart