1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# 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:
|