Setting up a production instance of Toaster
From Yocto Project
Jump to navigationJump to search
A production instance of Toaster is one in which you wish to share the Toaster instance with multiple users. It is also the setup which can cope with heavier loads on the web service.
Requirements
- Build requirements
- Apache webserver
- mod-wsgi for Apache webserver
- Mysql database server
Ubuntu 14.04.3:
$ sudo apt-get install apache2 libapache2-mod-wsgi mysql-server virtualenv
Fedora 22/RH:
$ sudo dnf install httpd mod_wsgi python-virtualenv
Installation
- Checkout a copy of Poky into the web server directory. We're going to be using /var/www/toaster.
$ mkdir -p /var/www/toaster
$ cd /var/www/toaster/
$ git clone git://git.yoctoproject.org/poky
$ git checkout jethro # change for any release name required
- Initialise a virtualenv and install Toaster dependencies to keep the python packages isolated from your system provided packages - not required but recommended
$ cd /var/www/toaster/
$ virtualenv venv
$ source ./venv/bin/activate
$ pip install -r ./poky/bitbake/toaster-requirements.txt
$ pip install mysql
$ pip install MySQL-python
- Configure toaster edit /var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'toaster_data',
'USER': 'toaster',
'PASSWORD': 'yourpasswordhere',
'HOST': 'localhost',
'PORT': '3306',
}
- Add a config file for Toaster to your Apache webserver configurations available directory.
Ubuntu/Debian put it here: /etc/apache2/conf-available/toaster.conf
Fedora/RH : /etc/httpd/conf.d/toaster.conf
Alias /static /var/www/toaster/static
<Directory /var/www/toaster/static>
Order allow,deny
Allow from all
Require all granted
</Directory>
WSGIDaemonProcess toaster_wsgi python-path=/var/www/toaster/toaster-next/bitbake/lib/toaster:/var/www/toaster /venv/lib/python2.7/site-packages
WSGIScriptAlias / "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py"
<Location />
WSGIProcessGroup toastern_wsgi
</Location>
In Ubuntu/Debain you will need to enable the config in Apache webserver
$ sudo a2enmod wsgi toaster