Commits

Anonymous committed c4f927e

add install file

  • Participants
  • Parent commits e8da9af

Comments (0)

Files changed (5)

+INSTALLATION
+------------
+
+
+Couchit requirements :
+----------------------
+python 2.5.x or 2.6.x 
+couchdbkit 1.8
+jinja2 2.1.1
+pygments 1.0
+pyyaml 3.x
+rdflib 2.4.1
+wekzeug 0.5.1
+
+Server requirement :
+bind 9 or any dns server that handles wildcards in ANAME
+couchdb 0.9.1 or sup
+postfix or any mail server
+
+Optionnal :
+Python spawning
+nginx 
+
+Installation :
+--------------
+
+1) Install requirements
+
+2) Put somewhere in your disk the couchit sources. For the example /var/www/vhosts/couchit.
+
+3) Configure bind . Add your zone. Here is an example to configure a local zone for development though configuration is the same for production server, you just have to change the domain name.
+
+in named.conf add :
+
+    zone "couchit.local" {
+            type master;
+            file "couchit.local.zone";
+            allow-transfer {localhost; };
+    };
+
+
+then add a zone. On my machine it's in /var/named. Create a file couchit.local.zone:
+
+$TTL    86400
+@       IN      SOA     ns.couchit.local. root.couchit.local.  (
+                                      2009081914 ; Serial
+                                      10800       ; Refresh
+                                                                          3600        ; Retry
+                                                                          3600000     ; Expire
+                                                                          86400 )     ; Minimum
+                                                                        
+              IN      NS      ns0.couchit.local.
+
+              IN      A       127.0.0.1
+ns0           IN      A       127.0.0.1
+*             IN      A       127.0.0.1
+
+
+
+4) Optionnal : Configure nginx or the web server you use. I use nginx as a proxy and spawning as wsgi server :
+
+in nginx.conf add a virtual host :
+
+    server {
+        listen 80;
+        root /var/www/vhosts/couchit;
+        server_name couchit.local *.couchit.local;
+        access_log /var/log/nginx/couchit.access.log;
+    
+        if ($host = 'www.couchit.local') {
+            rewrite  ^/(.*)$  http://couchit.local/$1 permanent;
+        }
+
+        location / {
+           proxy_pass http://127.0.0.1:8080/;
+           proxy_redirect off;
+           proxy_set_header Host $host;
+           proxy_set_header Port $proxy_port;
+           proxy_set_header X-Real-IP $remote_addr;
+           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+           client_max_body_size       10m;
+           client_body_buffer_size    128k;
+
+           proxy_connect_timeout      90;
+           proxy_send_timeout         90;
+           proxy_read_timeout         90;
+
+           proxy_buffer_size          4k;
+           proxy_buffers              4 32k;
+           proxy_busy_buffers_size    64k;
+           proxy_temp_file_write_size 64k;
+        }
+
+        location ~* \.(jpg|jpeg|gif|css|png|js|ico|svg)$ {
+            access_log      off;
+            expires         30d;
+        }
+
+        location /favicon.ico {
+            root /var/www/vhosts/couchit/static/img/favicon.ico;
+        }
+
+        location ~ ^/static(.*) {
+            root /var/www/vhosts/couchit/static;
+        }
+        location ~ ^/robots.txt {
+             root /var/www/vhosts/couchit/static;
+        }
+    }
+
+And launch spawning in /var/www/vhosts/couchit :
+
+nohup spawn --port 8080 --host 127.0.0.1 --processes=4 --threads=8 couchit_app.application & 
+
+(nohup is used to put spawning in background)
+
+5) Setup couchit in CouchDB :
+
+Edit settings, add appropriate domain name in SERVER_NAME, configure Apache CouchDB url and databse. Setup your mail server.
+
+Then setup Apache CouchDB
+
+    $ cd /var/www/vhosts/couchit
+    $ python manage setup
+
+    
+6) Start to use couchit :
+
+In development you could use the builtin webserver provided by werkzeug :
+
+    $ cd /var/www/vhosts/couchit
+    $ python manage runserver
+    
+and go to http://couchit.local:5000
+
+
+If you installed nginx, go to http://couchit.local 
     * a nice integration with Friendpaste
     * ...
 
-Couchit requirements :
-----------------------
-python 2.5.x or 2.6.x 
-couchdbkit 1.8
-jinja2 2.1.1
-pygments 1.0
-pyyaml 3.x
-rdflib 2.4.1
-wekzeug 0.5.1
+Installation :
+--------------
 
+See INSTALL file

static/css/tango.css

+.codehilite .hll { background-color: #ffffcc }
+.codehilite  { background: #f8f8f8; }
+.codehilite .c { color: #8f5902; font-style: italic } /* Comment */
+.codehilite .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
+.codehilite .g { color: #000000 } /* Generic */
+.codehilite .k { color: #204a87; font-weight: bold } /* Keyword */
+.codehilite .l { color: #000000 } /* Literal */
+.codehilite .n { color: #000000 } /* Name */
+.codehilite .o { color: #ce5c00; font-weight: bold } /* Operator */
+.codehilite .x { color: #000000 } /* Other */
+.codehilite .p { color: #000000; font-weight: bold } /* Punctuation */
+.codehilite .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
+.codehilite .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
+.codehilite .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
+.codehilite .cs { color: #8f5902; font-style: italic } /* Comment.Special */
+.codehilite .gd { color: #a40000 } /* Generic.Deleted */
+.codehilite .ge { color: #000000; font-style: italic } /* Generic.Emph */
+.codehilite .gr { color: #ef2929 } /* Generic.Error */
+.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.codehilite .gi { color: #00A000 } /* Generic.Inserted */
+.codehilite .go { color: #000000; font-style: italic } /* Generic.Output */
+.codehilite .gp { color: #8f5902 } /* Generic.Prompt */
+.codehilite .gs { color: #000000; font-weight: bold } /* Generic.Strong */
+.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.codehilite .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
+.codehilite .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
+.codehilite .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */
+.codehilite .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */
+.codehilite .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */
+.codehilite .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
+.codehilite .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
+.codehilite .ld { color: #000000 } /* Literal.Date */
+.codehilite .m { color: #0000cf; font-weight: bold } /* Literal.Number */
+.codehilite .s { color: #4e9a06 } /* Literal.String */
+.codehilite .na { color: #c4a000 } /* Name.Attribute */
+.codehilite .nb { color: #204a87 } /* Name.Builtin */
+.codehilite .nc { color: #000000 } /* Name.Class */
+.codehilite .no { color: #000000 } /* Name.Constant */
+.codehilite .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
+.codehilite .ni { color: #ce5c00 } /* Name.Entity */
+.codehilite .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
+.codehilite .nf { color: #000000 } /* Name.Function */
+.codehilite .nl { color: #f57900 } /* Name.Label */
+.codehilite .nn { color: #000000 } /* Name.Namespace */
+.codehilite .nx { color: #000000 } /* Name.Other */
+.codehilite .py { color: #000000 } /* Name.Property */
+.codehilite .nt { color: #204a87; font-weight: bold } /* Name.Tag */
+.codehilite .nv { color: #000000 } /* Name.Variable */
+.codehilite .ow { color: #204a87; font-weight: bold } /* Operator.Word */
+.codehilite .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */
+.codehilite .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */
+.codehilite .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */
+.codehilite .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */
+.codehilite .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */
+.codehilite .sb { color: #4e9a06 } /* Literal.String.Backtick */
+.codehilite .sc { color: #4e9a06 } /* Literal.String.Char */
+.codehilite .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
+.codehilite .s2 { color: #4e9a06 } /* Literal.String.Double */
+.codehilite .se { color: #4e9a06 } /* Literal.String.Escape */
+.codehilite .sh { color: #4e9a06 } /* Literal.String.Heredoc */
+.codehilite .si { color: #4e9a06 } /* Literal.String.Interpol */
+.codehilite .sx { color: #4e9a06 } /* Literal.String.Other */
+.codehilite .sr { color: #4e9a06 } /* Literal.String.Regex */
+.codehilite .s1 { color: #4e9a06 } /* Literal.String.Single */
+.codehilite .ss { color: #4e9a06 } /* Literal.String.Symbol */
+.codehilite .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
+.codehilite .vc { color: #000000 } /* Name.Variable.Class */
+.codehilite .vg { color: #000000 } /* Name.Variable.Global */
+.codehilite .vi { color: #000000 } /* Name.Variable.Instance */
+.codehilite .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */

static/css/vs.css

+.codehilite .hll { background-color: #ffffcc }
+.codehilite  { background: #ffffff; }
+.codehilite .c { color: #008000 } /* Comment */
+.codehilite .err { border: 1px solid #FF0000 } /* Error */
+.codehilite .k { color: #0000ff } /* Keyword */
+.codehilite .cm { color: #008000 } /* Comment.Multiline */
+.codehilite .cp { color: #0000ff } /* Comment.Preproc */
+.codehilite .c1 { color: #008000 } /* Comment.Single */
+.codehilite .cs { color: #008000 } /* Comment.Special */
+.codehilite .ge { font-style: italic } /* Generic.Emph */
+.codehilite .gh { font-weight: bold } /* Generic.Heading */
+.codehilite .gp { font-weight: bold } /* Generic.Prompt */
+.codehilite .gs { font-weight: bold } /* Generic.Strong */
+.codehilite .gu { font-weight: bold } /* Generic.Subheading */
+.codehilite .kc { color: #0000ff } /* Keyword.Constant */
+.codehilite .kd { color: #0000ff } /* Keyword.Declaration */
+.codehilite .kn { color: #0000ff } /* Keyword.Namespace */
+.codehilite .kp { color: #0000ff } /* Keyword.Pseudo */
+.codehilite .kr { color: #0000ff } /* Keyword.Reserved */
+.codehilite .kt { color: #2b91af } /* Keyword.Type */
+.codehilite .s { color: #a31515 } /* Literal.String */
+.codehilite .nc { color: #2b91af } /* Name.Class */
+.codehilite .ow { color: #0000ff } /* Operator.Word */
+.codehilite .sb { color: #a31515 } /* Literal.String.Backtick */
+.codehilite .sc { color: #a31515 } /* Literal.String.Char */
+.codehilite .sd { color: #a31515 } /* Literal.String.Doc */
+.codehilite .s2 { color: #a31515 } /* Literal.String.Double */
+.codehilite .se { color: #a31515 } /* Literal.String.Escape */
+.codehilite .sh { color: #a31515 } /* Literal.String.Heredoc */
+.codehilite .si { color: #a31515 } /* Literal.String.Interpol */
+.codehilite .sx { color: #a31515 } /* Literal.String.Other */
+.codehilite .sr { color: #a31515 } /* Literal.String.Regex */
+.codehilite .s1 { color: #a31515 } /* Literal.String.Single */
+.codehilite .ss { color: #a31515 } /* Literal.String.Symbol */

tools/__init__.py

Empty file added.