diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 96 |
1 files changed, 63 insertions, 33 deletions
@@ -1,4 +1,4 @@ -# Archweb README +# Parabolaweb README To get a pretty version of this document, run @@ -14,62 +14,92 @@ See AUTHORS file. # Dependencies -- python -- python-virtualenv +- python2 +- python2-virtualenv # Python dependencies -More detail in `requirements.txt` and `requirements_prod.txt`; it is best to -use virtualenv and pip to handle these. But if you insist on (Arch Linux) -packages, you will probably want the following: +We're going to use pip to handle python dependencies, m'kay? +Worry about that in step 3. + +# Testing Installation -- mysql-python or python-pysqlite -- django -- python-markdown -- python-south -- python-memcached +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. -# Testing Installation +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. -1. Run `virtualenv`. + $ source `pwd`-env/bin/activate - $ cd /path/to/archweb && virtualenv ../archweb-env +3. Fix symlink to the environment -2. Source the virtualenv. + (parabolaweb-env) $ ln -sf ../../parabolaweb-env/lib/python2.7/site-packages/django/contrib/admin/media media/admin_media - $ . ../archweb-env/bin/activate + 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. -2. Install dependencies through `pip`. +4. Install dependencies through `pip`. - (archweb-env) $ pip install -r requirements.txt + To install base dependencies, run + (parabolweb-env) $ pip install -r requirements.txt -3. Copy `local_settings.py.example` to `local_settings.py` and modify. + 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 MySQL and memcached installed automatically, run + (parabolweb-env) $ pip install -r requirements_prod.txt + +5. Copy `local_settings.py.example` to `local_settings.py` and modify. Make sure to uncomment the appropriate db section (either sqlite or mysql). -4. Sync the database to create it. +6. Sync the database to create it. - (archweb-env) $ ./manage.py syncdb + (parabolaweb-env) $ ./manage.py syncdb -5. Migrate changes. +7. Migrate changes. - (archweb-env) $ ./manage.py migrate + (parabolaweb-env) $ ./manage.py migrate -6. Load the fixtures to prepopulate some data. If you don't want some of the +8. Load the fixtures to prepopulate some data. If you don't want some of the provided data, adjust the file glob accordingly. - (archweb-env) $ ./manage.py loaddata */fixtures/*.json - -7. Use the following commands to start a service instance + (parabolaweb-env) $ for file in */fixtures/*.json; do \ + ./manage.py loaddata $file; \ + done + + The reason we use a loop instead of just calling them with a glob + is that groups.json is expected to fail, and this way it won't + prevent others from loading. + +9. Use the following commands to start a service instance - (archweb-env) $ ./manage.py runserver + (parabolaweb-env) $ ./manage.py runserver -8. To optionally populate the database with real data: +10. To optionally populate the database with real data: - (archweb-env) $ wget ftp://ftp.archlinux.org/core/os/i686/core.db.tar.gz - (archweb-env) $ ./manage.py reporead i686 core.db.tar.gz - (archweb-env) $ ./manage.py syncisos + $ 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. +Alter architecture and repo to get x86\_64 and packages from other repos if +needed. # Production Installation |