Blame view

INSTALL_PL 4.56 KB
Bartłomiej Nitoń authored
1
2
Instrukcja przeznaczona jest dla systemu operacyjnego Ubuntu.
Bartłomiej Nitoń authored
3
Zainstaluj pipa:
Bartłomiej Nitoń authored
4
5
>> sudo apt-get update
>> sudo apt-get -y install python-pip
Bartłomiej Nitoń authored
6
7

Zainstaluj Django w wersji 1.4.8:
Bartłomiej Nitoń authored
8
>> sudo pip install Django==1.4.8
Bartłomiej Nitoń authored
9
10

Zainstaluj Django south:
Bartłomiej Nitoń authored
11
>> sudo apt-get install python-django-south
Bartłomiej Nitoń authored
12
13
lub:
>> sudo pip install South
Bartłomiej Nitoń authored
14
Bartłomiej Nitoń authored
15
16
Zainstaluj Django extensions w wersji 1.6.7:
>> sudo pip install django-extensions==1.6.7
Bartłomiej Nitoń authored
17
Bartłomiej Nitoń authored
18
19
Zainstaluj Django registration w wersji 0.8:
>> sudo pip install django-registration==0.8 
Bartłomiej Nitoń authored
20
21

Zainstaluj pythonowy moduł lxml:
Bartłomiej Nitoń authored
22
>> sudo apt-get install python-lxml
Bartłomiej Nitoń authored
23
24
25
26
27
28
29
30
31
32
33
34

Zainstaluj Postgresa:
>> sudo apt-get update
>> sudo apt-get install postgresql postgresql-contrib
Zmień użytkownika na postgres:
>> sudo -i -u postgres
A następnie dodaj poszczególne role do postgresa komendą:
>> createuser --interactive
Stwórz pustą bazę danych dla Slowala:
>> createdb slowal -E UTF8 -T template0 -l pl_PL.utf8
Jeśli locale pl_PL.utf8 nie istnieje dodatkowo należy uruchomić komendy:
>> sudo locale-gen pl_PL.utf8
Bartłomiej Nitoń authored
35
>> sudo service postgresql restart
Bartłomiej Nitoń authored
36
Załaduj dump bazy danych poleceniem (zrzut bazy umieszczony jest w archiwum INSTALL_PACK.zip, jeśli archiwum nie dołączono do niniejszej paczki sprawdź na stronie http://zil.ipipan.waw.pl/Slowal):
Bartłomiej Nitoń authored
37
38
39
>> psql slowal < obraz_bazy.db

Zainstaluj gita:
Bartłomiej Nitoń authored
40
>> sudo apt-get install git
Bartłomiej Nitoń authored
41
42
43
44
45
46
47
48
49
50

Sklonuj repozytorium gitowe z GitLaba:
>> git clone http://git.nlp.ipipan.waw.pl/walenty/Slowal.git

Stwórz folder "Walenty" w folderze "data":
>> cd data
>> mkdir Walenty

Dodaj w głównym folderze projektu plik konfiguracyjny settings.py (plik umieszczony jest w archiwum INSTALL_PACK.zip):
	Zmień w nim zmienną STATIC_ROOT, tak by wskazywała na położenie plików statycznych strony, np.:
Bartłomiej Nitoń authored
51
		STATIC_ROOT = "/.../static/Slowal"
Bartłomiej Nitoń authored
52
Bartłomiej Nitoń authored
53
Dodaj w głównym folderze projektu plik konfiguracyjny database_data.py (plik umieszczony jest w archiwum INSTALL_PACK.zip) oraz zdefiniuj w nim połączenie z bazą danych, np.:
Bartłomiej Nitoń authored
54
55
56
	DATABASES = {
	    'default': {
		'ENGINE': 'django.db.backends.postgresql_psycopg2',
Bartłomiej Nitoń authored
57
58
		'NAME': 'db_name',                      
		'USER': 'user_name',                     
Bartłomiej Nitoń authored
59
60
61
62
63
64
65
66
67
		'PASSWORD': '',                  
		'HOST': '',                     
		'PORT': '5432',                   
	    }
	}

Zainstaluj moduł psycopg2:
>> sudo apt-get install python-psycopg2
Bartłomiej Nitoń authored
68
69
Zainstaluj Morfeusza2 zgodnie z instrukcjami na stronie http://sgjp.pl/morfeusz/dopobrania.html.
Bartłomiej Nitoń authored
70
71
72
73
Zgraj pliki statyczne do dedykowanego katalogu poleceniem:
>> python manage.py collectstatic

Zainstaluj Apacha:
Bartłomiej Nitoń authored
74
>> sudo apt-get install apache2
Bartłomiej Nitoń authored
75
76

Zainstaluj mod-wsgi:
Bartłomiej Nitoń authored
77
>> sudo apt-get install libapache2-mod-wsgi
Bartłomiej Nitoń authored
78
79
80
81
82

Utwórz plik slowal.wsgi odpowiednio definiując w nim ścieżki do plików statycznych. Przykładowa treść pliku poniżej:
--------------------------------------------
import os, sys
Bartłomiej Nitoń authored
83
84
sys.path.append('/home/zil/Slowal')
sys.path.append('/home/zil')
Bartłomiej Nitoń authored
85
86
87
88
89
90
91
os.environ['DJANGO_SETTINGS_MODULE'] = 'Slowal.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
--------------------------------------------
Bartłomiej Nitoń authored
92
Skonfiguruj apacha dodając plik konfiguracyjny (np. o nazwie slowal.conf) do folderu sites-available apacha (domyślnie /etc/apache2/sites-available/), ścieżka WSGIScriptAlias musi wskazywać na plik slowal.wsgi. Przykładowy plik konfiguracyjny poniżej:
Bartłomiej Nitoń authored
93
94
--------------------------------------------
<VirtualHost *:80>
Bartłomiej Nitoń authored
95
    ServerAdmin name@gmail.com
Bartłomiej Nitoń authored
96
97
98
99
    ServerName slowal.nlp.ipipan.waw.pl

    ServerAlias walenty.ipipan.waw.pl
Bartłomiej Nitoń authored
100
    DocumentRoot /.../Slowal/templates/
Bartłomiej Nitoń authored
101
102
103
104
105
    <Directory />
      Options FollowSymLinks
      AllowOverride None
      Require all granted
    </Directory>
Bartłomiej Nitoń authored
106
    WSGIScriptAlias / /.../scripts/slowal.wsgi
Bartłomiej Nitoń authored
107
108
    WSGIDaemonProcess Slowal user=zil group=zil processes=2 threads=15
    WSGIProcessGroup Slowal
Bartłomiej Nitoń authored
109
110
    Alias /static/ /.../static/Slowal/
    <Directory "/.../static/Slowal">
Bartłomiej Nitoń authored
111
112
113
        Require all granted
    </Directory>
Bartłomiej Nitoń authored
114
115
    ErrorLog /.../logs/Slowal/error.log
    CustomLog /.../logs/Slowal/access.log combined
Bartłomiej Nitoń authored
116
117
118
119
</VirtualHost>
--------------------------------------------

Uruchom stronę poleceniem:
Bartłomiej Nitoń authored
120
>> sudo a2ensite slowal.conf
Bartłomiej Nitoń authored
121
122
123
124

Zrestartuj apacha:
>> sudo service apache2 restart
Bartłomiej Nitoń authored
125
126
127
128
129
Opcjonalnie ustaw w crontabie cykliczne uruchamianie komend create_[...]_walenty i count_positions_occurrences,
Ważne, żeby skrypt create_text_walenty był uruchamiany z przynajmniej dziennym wyprzedzeniem przed create_TEI_walenty i create_tex_walenty:
1 0 * * 5 python /.../Slowal/manage.py create_text_walenty
1 0 * * 7 python /.../Slowal/manage.py create_tex_walenty
1 0 * * 7 python /.../Slowal/manage.py create_TEI_walenty
Bartłomiej Nitoń authored
130
0 1 * * * python /.../Slowal/manage.py count_positions_occurrences