| 1 | Zine 0.1 Installation Instructions |
|---|
| 2 | ================================== |
|---|
| 3 | |
|---|
| 4 | For a working Zine instance you need to have the following libraries |
|---|
| 5 | installed: |
|---|
| 6 | |
|---|
| 7 | - Python* 2.4 or higher |
|---|
| 8 | - Werkzeug* 0.6 or higher |
|---|
| 9 | - Jinja2* |
|---|
| 10 | - A database (MySQL, SQLite or PostgreSQL and others are supported) |
|---|
| 11 | - SQLAlchemy* 0.6 or higher |
|---|
| 12 | - sqlalchemy-migrate* 0.6 or higher |
|---|
| 13 | - simplejson* [included in Python 2.6 and higher] |
|---|
| 14 | - html5lib* |
|---|
| 15 | - pytz* |
|---|
| 16 | - Babel* |
|---|
| 17 | - lxml* [2.0 or higher] |
|---|
| 18 | |
|---|
| 19 | Libraries marked with * are installable from the cheeseshop via |
|---|
| 20 | easy_install / pip or might be available in Debian already. |
|---|
| 21 | |
|---|
| 22 | If you might use easy_install:: |
|---|
| 23 | |
|---|
| 24 | $ easy_install Werkzeug Jinja2 MySQL-python SQLAlchemy simplejson \ |
|---|
| 25 | pytz Babel lxml html5lib sqlalchemy-migrate |
|---|
| 26 | |
|---|
| 27 | To install lxml you may need the development packages of libxml2 and libxslt |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | Installation |
|---|
| 31 | ------------ |
|---|
| 32 | |
|---|
| 33 | Currently the installation of Zine is only possible on (mostly) posix |
|---|
| 34 | systems like OS X, Solaris, BSD or Linux. Development of Zine works |
|---|
| 35 | on other operating systems as well and future release may provide a |
|---|
| 36 | deployment plan for Windows as well. |
|---|
| 37 | |
|---|
| 38 | To install Zine on your system you have to configure and "make install" it:: |
|---|
| 39 | |
|---|
| 40 | $ ./configure --prefix=/usr && make install |
|---|
| 41 | |
|---|
| 42 | Zine installs itself into `/usr/lib/zine` and `/usr/share/zine`. Please |
|---|
| 43 | note that this does not install the dependencies. |
|---|
| 44 | |
|---|
| 45 | Note to package maintainers: for staged installs use DESTDIR variable |
|---|
| 46 | |
|---|
| 47 | The following example shows how to set up Zine for `mod_wsgi`. |
|---|
| 48 | |
|---|
| 49 | 1. Create a new folder `/var/zine/yourblog` where `yourblog` is a name |
|---|
| 50 | that make sense for you. |
|---|
| 51 | 2. Copy the `zine.wsgi` file from `/usr/share/zine/servers` into the |
|---|
| 52 | newly created folder and open it with an editor. |
|---|
| 53 | 3. Modify the `INSTANCE_FOLDER` variable to point to the `yourblog` folder. |
|---|
| 54 | 4. Open your Apache vhost config or your Apache config, whatever you use |
|---|
| 55 | and add the following lines:: |
|---|
| 56 | |
|---|
| 57 | WSGIScriptAlias /yourblog /var/lib/zine/yourblog/zine.wsgi |
|---|
| 58 | |
|---|
| 59 | This tells Apache that it should hook your blog into the webserver at |
|---|
| 60 | `/yourblog`. You can also move it to a different vhost and mount it |
|---|
| 61 | in the root or ask Apache to spawn as different user. More details |
|---|
| 62 | about that are available in the `mod_wsgi documentation`_. |
|---|
| 63 | 5. Make sure the user your Apache (or application if you configured a |
|---|
| 64 | different user for mod_wsgi) has read and write access to the |
|---|
| 65 | `yourblog` folder. |
|---|
| 66 | 6. Reload your apache and go to the URL of your blog and follow the |
|---|
| 67 | installation instructions. |
|---|
| 68 | |
|---|
| 69 | |
|---|
| 70 | .. _mod_wsgi documentation: http://code.google.com/p/modwsgi/wiki/InstallationInstructions |
|---|
| 71 | |
|---|
| 72 | |
|---|
| 73 | Development Quickstart |
|---|
| 74 | ---------------------- |
|---|
| 75 | |
|---|
| 76 | For a quickstart with the development server do this:: |
|---|
| 77 | |
|---|
| 78 | $ mkdir instance |
|---|
| 79 | $ ./scripts/server -I instance |
|---|
| 80 | |
|---|
| 81 | After the first start you will find yourself in an installation wizard |
|---|
| 82 | that helps you to create the database tables and an administrator |
|---|
| 83 | account. |
|---|
| 84 | |
|---|
| 85 | To get access to a python console with the zine instance context do this:: |
|---|
| 86 | |
|---|
| 87 | $ ./scripts/shell |
|---|
| 88 | |
|---|
| 89 | Note that if your instance folder is not named "instance" or is not stored |
|---|
| 90 | in this directory or if you are not below the instance folder you have to |
|---|
| 91 | provide the path to it as argument to the scripts using the "-I" parameter. |
|---|