-
Notifications
You must be signed in to change notification settings - Fork 13
Advanced set up: server deployment
Soya edited this page Oct 28, 2020
·
1 revision
sudo apt-get install libmysqlclient-dev python-dev
/usr/bin/python2.7
- pip:
sudo easy_install pip
sudo pip install virtualenv
- create a virtualenv for this project:
virtualenv murmur-env
- make sure your virtualenv is activated:
source murmur-env/bin/activate
pip install mysql-python
pip install -r requirements.txt
- edit database details in a new file called private.py. http_handler/settings.py looks for this file to populate database information:
MYSQL_LOCAL = { 'NAME': 'murmur', 'USER': 'admin', 'PASSWORD': 'password', 'HOST': 'localhost' }
- also in this private.py file, add your Amazon S3 settings:
AWS_STORAGE_BUCKET_NAME = 'bucket-name-goes-here'
AWS_ACCESS_KEY_ID = 'key-goes-here'
AWS_SECRET_ACCESS_KEY = 'secret-key-goes-here'
- create file /opt/murmur/env with single word containing "dev", "staging", or "prod" for the type of server you are setting up
- create file /opt/murmur/debug with single word containing "true" or "false" to turn on debug mode
- edit file /opt/murmur/website with single word containing "murmur" or "squadbox" to direct to the respective landing page
- If using Google integration, create a Google API project and enable the Gmail, People and Contacts APIs; generate an Oauth2 client_secrets.json file for this project and put this in the /gmail_setup/ directory
- Run this command at mysql
mysql -u root -p
create database murmur;
- Give privileges to the user that will access the database from django:
grant all privileges ON murmur.* TO root@localhost;
-
python manage.py syncdb
and create superuser - Convert schema app to be managed by South:
python manage.py schemamigration schema --initial
- Then do fake migration:
python manage.py migrate schema 0001 --fake
- Webserver:
python manage.py runserver 0.0.0.0:8000
(check here for details)
Setting for relay & outgoing server is in config/settings.py
(Double check you open firewall for the ports)
If you are using Postfix, you should update two postfix files:
-
master.cf
: add a lineRELAY_PORT_YOU_SPECIFIED_at_config/settings.py inet n - n - - smtpd
-
main.cf
:
mydestination =
local_recipient_maps =
local_transport = error: local mail delivery disabled
relay_domains = YOUR DOMAIN NAME
relay_transport = smtp:127.0.0.1:[RECEIVER PORT YOU SPECIFIED at config/settings.py]
Then reboot Postfix.
- If running email server:
lamson start
⚠️ If it is not running without any error msg or throwsconnection refused
error, then check your email port being used by other services (e.g.,netstat -peanut | grep ":8825"
) and check logs at logs/lamson.err. If the port is being used, use another port or kill the process using the port.
-
crontab -e
and add a line0 */24 * * * python ABSOLUTE_DIRECTORY/manage.py digest