diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 103 |
1 files changed, 69 insertions, 34 deletions
@@ -1,4 +1,4 @@ -# Archweb README +# Parabolaweb README To get a pretty version of this document, run @@ -15,62 +15,97 @@ See AUTHORS file. # Dependencies - python2 -- python2-virtualenv +- python2-virtualenv (if using pip to manage dependencies) # 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: - -- mysql-python or python-pysqlite -- django -- python-markdown -- python-south -- python-memcached +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 -1. Run `virtualenv2`. +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 - $ cd /path/to/archweb && virtualenv2 ../archweb-env + You may also want to install memcached -2. Activate the virtualenv. + (parabolweb-env) $ pip install python-memcached==1.47 - $ source ../archweb-env/bin/activate + Alternately, to have psycopg2 and memcached installed automatically, + run -2. Install dependencies through `pip`. + (parabolweb-env) $ pip install -r requirements_prod.txt - (archweb-env) $ pip install -r requirements.txt + We use PostgreSQL on the main server, and you may have problems + with other SQLs. -3. Copy `local_settings.py.example` to `local_settings.py` and modify. - Make sure to uncomment the appropriate db section (either sqlite or mysql). +5. Copy `local_settings.py.example` to `local_settings.py` and modify. + Make sure to uncomment the appropriate db section. -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 - provided data, adjust the file glob accordingly. +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 + (parabolaweb-env) $ ./manage.py loaddata */fixtures/*.json -7. Use the following commands to start a service instance +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 |