zine-main / INSTALL

Zine 0.1 Installation Instructions
==================================

For a working Zine instance you need to have the following libraries
installed:

- Python 2.4 or higher
- Werkzeug*
- Jinja2*
- A database (MySQL, SQLite or PostgreSQL and others are supported)
- SQLAlchemy 0.5
- simplejson* [included in Python 2.6 and higher]
- html5lib*
- pytz*
- Babel*
- lxml* [2.0 or higher]

Libraries marked with * are installable from the cheeseshop via
easy_install / pip or might be available in Debian already.

If you might use easy_install::

    $ easy_install Werkzeug Jinja2 MySQL-python SQLAlchemy simplejson pytz Babel lxml html5lib

To install lxml you may need the development packages of libxml2 and libxslt


Installation
------------

Currently the installation of Zine is only possible on (mostly) posix
systems like OS X, Solaris, BSD or Linux.  Development of Zine works
on other operating systems as well and future release may provide a
deployment plan for Windows as well.

To install Zine on your system you have to configure and "make install" it::

    $ ./configure --prefix=/usr && make install

Zine installs itself into `/usr/lib/zine` and `/usr/share/zine`.  Please
note that this does not install the dependencies.

Note to package maintainers: for staged installs use DESTDIR variable

The following example shows how to set up Zine for `mod_wsgi`.

1.  Create a new folder `/var/zine/yourblog` where `yourblog` is a name
    that make sense for you.
2.  Copy the `zine.wsgi` file from `/usr/share/zine/servers` into the
    newly created folder and open it with an editor.
3.  Modify the `INSTANCE_FOLDER` variable to point to the `yourblog` folder.
4.  Open your Apache vhost config or your Apache config, whatever you use
    and add the following lines::

        WSGIScriptAlias /yourblog /var/lib/zine/yourblog/zine.wsgi

    This tells Apache that it should hook your blog into the webserver at
    `/yourblog`.  You can also move it to a different vhost and mount it
    in the root or ask Apache to spawn as different user.  More details
    about that are available in the `mod_wsgi documentation`_.
5.  Make sure the user your Apache (or application if you configured a
    different user for mod_wsgi) has read and write access to the
    `yourblog` folder.
6.  Reload your apache and go to the URL of your blog and follow the
    installation instructions.


.. _mod_wsgi documentation: http://code.google.com/p/modwsgi/wiki/InstallationInstructions


Development Quickstart
----------------------

For a quickstart with the development server do this::

    $ mkdir instance
    $ ./scripts/server -I instance

After the first start you will find yourself in an installation wizard
that helps you to create the database tables and an administrator
account.

To get access to a python console with the zine instance context do this::

    $ ./scripts/shell

Note that if your instance folder is not named "instance" or is not stored
in this directory or if you are not below the instance folder you have to
provide the path to it as argument to the scripts using the "-I" parameter.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.