Manax on DreamHost

  • create a new user in your dreamhost account

  • create a new domain for your project

  • create a MySQL database for your project

  • login the just created account

  • install latest Python release

  • enter domain folder (eg. example.com)

    cd example.com
    
  • Create a virtualenv

    pyvenv-3.5 venv
    source venv/bin/activate
    
  • clone your manax project (eg. my_project)

    git clone [your project git]
    source venv/bin/activate
    
  • create a file passenger_wsgi.py in the root of your website directory (eg. example.com). Replace ‘my_project’ with your project name.

    import sys, os
    cwd = os.getcwd()
    sys.path.append(cwd)
    sys.path.append(cwd + '/my_project')
    
    INTERP = os.path.abspath(cwd + '/venv/bin/python')
    
    if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
    
    sys.path.insert(0,cwd+'/venv/bin')
    sys.path.insert(0,cwd+'/venv/lib/python3.5/site-packages')
    
    os.environ['DJANGO_SETTINGS_MODULE'] = "my_project.settings"
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    
  • Create the restart file to start your passenger site

    mkdir tmp
    touch tmp/restart.txt
    
  • Create folder for static files

    mkdir public/static
    
  • edit env.dreamhost

  • source env.dreamhost

    source env.dreamhost
    
  • enter project folder

    cd my_project
    
  • edit config/settings/dreamhost.py

  • install requirements

    pip install -r requirements/dreamhost.txt
    
  • Run the collectstatic command to set up the static items

    python manage.py collectstatic
    
  • perform makemigrations for every app

  • create database

    python manage.py migrate
    
  • Start manax project via

    python passenger_wsgi.py
    

To restart manax project, for example after some modifications

touch tmp/restart