Getting started with Booktype development
  • A Booktype installation can be accessed by anyone via any web browser (Internet Explorer unsupported, get Chrome or Firefox). If you wish to install your own Booktype you will need a web server and the assistance of someone who knows how to install software for the web. If you don't have these skills then contact us or find a local or inhouse technician. While the installation and configuration of Booktype requires technical skills, once you've done it, you'll have everything you need to start your own publishing empire.

    1) Download the code

    2) Follow these instructions to install

    Booktype is supported on Unix systems like Debian and Ubuntu, and also on an OSX server. You'll need 3GB Ram and 1Ghz processor as a minimum hardware set-up.

  • 24 Comments sorted by
  • Vote Up1Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    Hi Adam ;)

    One question (I hope not only the first ;)

    Booktype seems to be usuable for tablets (ipad, android, etc)

    Apple make iBook authors

    My question is simple ;)

    Can I do with Booktype the things we can do with iBook autors ?
  • You can do more than iBook authors since you can render to more formats, it is open to collaboration, it is open source so it can be extended by you, you can tie it into the channels you want, you dont have to pay for it, as many people as you like can use it, you are not tied to ibooks store...its a long list....

    The design process is currently different to iBooks since you use css and javascript for the design of all outputs. For those that prefer visual design environments like iBooks we are now developing a very nice design environment so you can visually design your ebooks and printed books. This will be available in 1.6
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    Great ;)

    That's exactly what I want ;)

    And I'm for free software ;)
  • Booktype looks fine. I followed the installation instructions and got it up and running so far. But how can I configure access for non-localhosts?

  • I tried to install booktype, but it complains that the template does not exist.
    I'm running this through lighttpd as reverse proxy.
    the booktype server application is running as root. I checked all the permissions for the template dirs.
    I attached the debug output.
    Is there anything I could check? I couldn't find anything helpful apart from checking the permissions.
  • Reply to @markus+busche:
    Have you started it with 'django-admin runserver' command? If so, you you should do something like 'django-admin runserver <public ip>:<port number>'. Example would be django-admin runserver

  • Reply to @Jochen+Schäfer:
    Look at yout file that was created by createbooki script. Check for the TEMPLATE_LOADERS settings and uncomment the last line (loading template from egg). It should look something like this:


    After you do that, you will probably need to restart the apache server because of wsgi module.

  • Reply to @Aleksandar+Erkalović:

    1.) Uncommented the last entries, so that it matches your suggestion, but the situation stays the same.
    2.) There is no apache in my setup, as I wrote ;-)

    Bye Jochen
    Post edited by Jochen Schäfer at 2012-02-17 12:13:18
  • @Aleksandar Erkalović: thanks a lot for your hint, now everything works fine.
  • Reply to @Jochen+Schäfer:
    I installed it with easy_install. After i did ". ./booki.env" where i created booktype project i managed to initialize database and start the server with django-admin runserver (loaded booki.env before that). Everything worked just fine and it did not complain about the templates. I had .egg in the PYTHONPATH and Django managed to find the templates and etc. Did not try to run it with lighttpd as reverse proxy. Did you manage to solve this problem?
  • Hello All,

     How is this line executed in the installation instructions for Booktype?

      6. Load environment variables

       . ./booki.env
  • Reply to @Slim+Slam:
    Hi... "dot" is just a shortcut for: "source ./booki.env". Go to the directory where you installed Booktype project and  type "source booki.env". That should be it.
  • Thanks.  In the install doc, it also says:

    This install doc uses sqlite3 (it is recommended to use PostgreSQL) as its the easiest to setup so make sure sqlite3 is installed.

    Are there installation instructions for setting Booktype up with PostgreSQL since that's recommended?

    Post edited by Slim Slam at 2012-02-20 12:36:05
  • Reply to @Slim+Slam:
    I don't know what distribution of Linux or OS are you using but i would recommend you to google how to setup PostgreSQL, user accounts and access permissions for basic Django project. That would also include how to configure apache, wsgi or something else for your specific distribution. There are some minor differences sometimes (for instance default PostgreSQL configuration is not the same) and it is better to fallow this kind of howto. You will waste less time for sure.

    For instance (this uses newer configuration for Django 1.3):

    In short, you need to:
     - install PostgreSQL
     - create new account ABC for PostgreSQL
     - create new database  with utf8 encoding where ABC is owner
     - set up access permissions in PostgreSQL
     - change file (database name, user name, password, hostname)

  • I'm updated Booktype to be compatible with django 1.4(will be released in march and have a lot of nice features) + modified templates with style of twitter boostrap.

    I'm very good with booktype coz I'm python/django developer.
    If anyone interested I can send pull request at github

    Also I can write good docs about booktype deployment with virtual python environment etc.
    And can be created one file which can do all work: crate python virtual environment, install requirements(needed python libs and needed versions) and syncdb, create users, make migrations and more.

    I think you should create fabfile (to install all infrastructure via fabric - Just like airtime installer but written in python)
    Post edited by Eugene MechanisM at 2012-02-24 05:12:07
    *hopes airtime will be refactored and moved to python/django from php sometime..*
  • hi Eugene,

    Sounds very interesting - do you have a demo online of the version with the new styles?

  • Hi I'm new Booktype
    How install nginx postgresql and rest like python is any chance install instruction?

  • Reply to @Robert+Quest:
    At the moment i am doing instructions and install script for the nginx. So if you could wait one day for me to finish it, test it a bit and upload....

  • Reply to @Luke:
    What installation? Are you talking about Booktype in general or installation of Booktype on nginx?

  • Reply to @Aleksandar+Erkalović:
    Thank You Aleksandar
    Post edited by Robert Quest at 2012-03-08 11:30:44
  • hi I run the nginx server and I install with the instruction booktype.
    It works if i write on the broswer but how configure 
    a) like revers proxy 
    b) like fastcgi (wscgi) 
    And what is the line in 
    BOOKI_URL = ?
    I have the /etc/hosts file

    /etc/nginx/site-avaible/ - conf nginx like virtual host conf apache

    server {
       listen 80;
       root /var/www/mybooktype

       location /media/ {
            if ($quey_string) {
             expires max;

       location /admin/media/ {
        root /usr/lib/pymodules/python2.6/django/contrib/admin;

      location  / {
         proxy_redirect default;



    but when I restart nginx server then site is not open

    Thank You for Your Help
    Robert Q

    Post edited by Robert Quest at 2012-03-12 14:25:09
  • Reply to @Robert+Quest:
    I pushed changes today to git repository that has nginx docs and where createbooki script knows how to create nginx config files. Use createbooki script to get nginx config file just so you can see how you will get:
      location /site_static/
      location /static/
      location /media/
      location /

    I don't have root, i use alias directive because site_static,static and media are not in the same root directory and they are the only ones that should be accessed from outside world.

    In your case, you should have:
    BOOKI_URL = 'http://%s' % THIS_BOOKI_SERVER

  • It's work Thank You for Your help. I only run fastcgi on port 8000 on console