# Parabolaweb README To get a pretty version of this document, run $ markdown README > README.html # License See LICENSE file. # Authors See AUTHORS file. # Dependencies - python2 - python2-virtualenv (if using pip to manage dependencies) # Python dependencies We're going to use pip to handle python dependencies, m'kay? Worry about that in step 3. If you really want to manage dependencies using something other than pip, look at `requirements.txt`, and at the comments on other dependiencies in step 3. # Testing Installation Throughout this, we assume that parabolaweb is installed in a directory called `parabolaweb`. This is not necessarily true. On the main server, it's in `/srv/http/web'. Wherever you see this in a command, know that you should just replace it with the correct path for your install. 1. Run `virtualenv2`. $ cd /path/to/parabolaweb && virtualenv2 `pwd`-env Here I just had you use `pwd` to choose the environment directory. You can use anything, but it is recommended that it not be the same directory as the install. 2. Activate the virtualenv. $ source `pwd`-env/bin/activate 3. Fix symlink to the environment (parabolaweb-env) $ ln -sf ../../parabolaweb-env/lib/python2.7/site-packages/django/contrib/admin/media media/admin_media Of course change `../../parabolaweb-env` to the relative path to your environment. Keep in mind that the path is relative from inside the `media/` directory, not the current directory. 4. Install dependencies through `pip`. To install base dependencies, run (parabolweb-env) $ pip install -r requirements.txt After that you will need to install a database engine for python This means `MySQL-python==1.2.3`, `pysqlite` or `psycopg2` for PostgreSQL. Eg: (parabolweb-env) $ pip install MySQL-python==1.2.3 You may also want to install memcached (parabolweb-env) $ pip install python-memcached==1.47 Alternately, to have psycopg2 and memcached installed automatically, run (parabolweb-env) $ pip install -r requirements_prod.txt We use PostgreSQL on the main server, and you may have problems with other SQLs. 5. Copy `local_settings.py.example` to `local_settings.py` and modify. Make sure to uncomment the appropriate db section. 6. Sync the database to create it. (parabolaweb-env) $ ./manage.py syncdb 7. Migrate changes. (parabolaweb-env) $ ./manage.py migrate 8. Load the fixtures to prepopulate some data. If you don't want some of the provided data, adjust the file glob accordingly. (parabolaweb-env) $ ./manage.py loaddata */fixtures/*.json 9. Use the following commands to start a service instance (parabolaweb-env) $ ./manage.py runserver 10. To optionally populate the database with real data: $ wget https://repo.parabolagnulinux.org/core/os/i686/core.db.tar.gz $ ./manage.py reporead i686 core.db.tar.gz $ ./manage.py syncisos Alter architecture and repo to get x86\_64 and packages from other repos if needed. # Production Installation Ask someone who knows, or you are going to be in trouble. vim: set syntax=markdown et: