Blame view

INSTALL 2.86 KB
janek37 authored
1
2
3
4
5
Instalacja kuźni na docelowym serwerze
======================================

(zakładamy, że domyślny python jest w wersji przynajmniej 2.6)
janek37 authored
6
7
8
9
10
11
Zależności
---------

moduł Apache'a mod_fastcgi (paczka libapache2-mod-fastcgi w Ubuntu)
python-flup
janek37 authored
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Zmiany w źródłach projektu
--------------------------

Jedyne konieczne zmiany w projekcie (poza konfiguracją bazy opisaną w README) to:

1. Jeśli strona ma działać w podkatalogu domeny, to należy zmienić linijkę w settings.py z

SITE_PREFIX = ''

na

SITE_PREFIX = '/kuznia'

(na przykład).

2. Aby działało wysyłanie maili, pod warunkiem że na serwerze działa poczta (jeśli nie działa, to trzeba zainstalować jakiś serwer SMTP, np. postfix), wystarczy wykomentować linijkę

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

w settings.py, stawiając przed nią #
janek37 authored
33
34
35
TODO
* ustawienie domeny
* edycja tematu listu zapraszającego
janek37 authored
36
37
janek37 authored
38
Konfiguracja Apache'a
janek37 authored
39
40
-------------------
janek37 authored
41
Trzeba włączyć moduł mod_rewrite. Potrzebny jest też moduł mod_fastcgi do apacza. Kiedy już go mamy, to dodajemy do konfiguracji apacza następującą treść (przy założeniu, że instalujemy kuźnię w podkatalogu kuznia skonfigurowanej domeny):
janek37 authored
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

LoadModule fastcgi_module modules/mod_fastcgi.so

FastCGIExternalServer /foo/bar/forge.fcgi -host 127.0.0.1:3033

<Location /kuznia>
  RewriteEngine On
  RewriteRule ^/site/root/kuznia/(media.*)$ /baz/$1 [QSA,L,PT]
  RewriteRule ^/site/root/kuznia/(admin_media.*)$ /baz/$1 [QSA,L,PT]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^/site/root/(.*)$ /baz/forge.fcgi/$1 [QSA,L]
</Location>

Legenda:

/foo/bar/ to ścieżka w systemie plików do katalogu, który jest widoczny pod adresem http://domena/baz/

/site/root/ to główny katalog na dysku odpowiadający domenie (na chopinie to jest /var/www/chopin.ipipan.waw.pl/)

W katalogu /foo/bar/ powinien być skrót do katalogu media w projekcie (i jeśli na serwerze działa selinux, to trzeba zrobić sztuczki, żeby skrót działał). Można też tam zrobić skrót lub skopiować katalog contrib/admin/media do /foo/bar/admin_media, jeśli chcemy korzystać z interfejsu admina (na razie chyba nie chcemy, ale i tak na chopinie działa).


Uruchomienie serwera
--------------------

Najprościej uruchamiać serwer następującym skryptem:


#!/bin/bash

HOME=/home/foobar/

kill `cat $HOME/pid`
cd $HOME/lexeme_forge/
./manage.py runfcgi method=threaded host=127.0.0.1 port=3033 pidfile=$HOME/pid


Polecenie kill wywali niegroźny błąd, jeśli serwer nie był wcześniej uruchomiony, w przeciwnym razie go wyłączy przed ponownym włączeniem. W katalogu /home/foobar powinno być ściągnięte repozytorium projektu.


Aktualizacja projektu
---------------------

$ cd /home/foobar/lexeme_forge/
$ hg pull
$ hg up
janek37 authored
88
89
$ ./manage.py syncdb
$ ./manage.py migrate
janek37 authored
90
91
92
$ /home/foobar/start-server

gdzie start-server jest skryptem z poprzedniego punktu.