Namestitev SubmitServer » History » Version 2

Gašper Fele-Žorž, 03.02.2011 20:17

1 1 Gašper Fele-Žorž
h1. Namestitev SubmitServer
2 1 Gašper Fele-Žorž
3 1 Gašper Fele-Žorž
Najprej namestimo potrebne dodatne pakete:
4 1 Gašper Fele-Žorž
5 1 Gašper Fele-Žorž
<pre>
6 1 Gašper Fele-Žorž
apt-get install tomcat6 mysql-server subversion ant liblog4j1.2-java libmysql-java
7 1 Gašper Fele-Žorž
</pre>
8 1 Gašper Fele-Žorž
9 1 Gašper Fele-Žorž
Geslo za root mysql je na marmoset.fri.uni-lj.si enako geslu za root sicer.
10 1 Gašper Fele-Žorž
11 2 Gašper Fele-Žorž
Nato "dodamo userja":http://dev.mysql.com/doc/refman/5.1/en/adding-users.html in "ustvarimo podatkovno bazo":http://dev.mysql.com/doc/refman/5.0/en/create-database.html na mysql:
12 1 Gašper Fele-Žorž
13 1 Gašper Fele-Žorž
<pre>
14 1 Gašper Fele-Žorž
shell> mysql -u root -p
15 1 Gašper Fele-Žorž
mysql> create user 'marmoset'@'localhost' identified by 'malaopica';
16 1 Gašper Fele-Žorž
mysql> create database marmoset character set = utf8;
17 1 Gašper Fele-Žorž
mysql> grant all privileges on marmoset.* to 'marmoset'@'localhost';
18 1 Gašper Fele-Žorž
</pre>
19 1 Gašper Fele-Žorž
20 1 Gašper Fele-Žorž
Preverimo, če baza deluje:
21 1 Gašper Fele-Žorž
22 1 Gašper Fele-Žorž
<pre>
23 1 Gašper Fele-Žorž
polz@bober:~$ mysql -u marmoset -p -D marmoset
24 1 Gašper Fele-Žorž
Enter password: 
25 1 Gašper Fele-Žorž
Welcome to the MySQL monitor.  Commands end with ; or \g.
26 1 Gašper Fele-Žorž
Your MySQL connection id is 43
27 1 Gašper Fele-Žorž
Server version: 5.1.49-3 (Debian)
28 1 Gašper Fele-Žorž
29 1 Gašper Fele-Žorž
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
30 1 Gašper Fele-Žorž
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
31 1 Gašper Fele-Žorž
and you are welcome to modify and redistribute it under the GPL v2 license
32 1 Gašper Fele-Žorž
33 1 Gašper Fele-Žorž
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
34 1 Gašper Fele-Žorž
35 1 Gašper Fele-Žorž
mysql> 
36 1 Gašper Fele-Žorž
</pre>
37 1 Gašper Fele-Žorž
38 1 Gašper Fele-Žorž
Če deluje, lahko iz svn repozitorija poberemo marmoset. Uporabimo kopijo, ki je na redmine.
39 1 Gašper Fele-Žorž
40 1 Gašper Fele-Žorž
<pre>
41 1 Gašper Fele-Žorž
polz@bober:~$ svn co https://lusy.fri.uni-lj.si/svn/marmoset/
42 1 Gašper Fele-Žorž
</pre>
43 1 Gašper Fele-Žorž
44 1 Gašper Fele-Žorž
Ustvarimo tabele v bazi:
45 1 Gašper Fele-Žorž
46 1 Gašper Fele-Žorž
<pre>
47 1 Gašper Fele-Žorž
polz@bober:~/marmoset$ cd SubmitServerModelClasses/trunk/SubmitServerModelClasses/dbScripts/
48 1 Gašper Fele-Žorž
polz@bober:~/marmoset/SubmitServerModelClasses/trunk/SubmitServerModelClasses/dbScripts$ mysql -u marmoset -p -e "source marmoset-schema.sql" -D marmoset
49 1 Gašper Fele-Žorž
</pre>
50 1 Gašper Fele-Žorž
51 1 Gašper Fele-Žorž
Ustvarimo uporabnika v bazi. Najprej popravimo bootstrap.sql, ki vsebuje nekaj takega:
52 1 Gašper Fele-Žorž
53 1 Gašper Fele-Žorž
<pre>
54 1 Gašper Fele-Žorž
INSERT INTO students
55 1 Gašper Fele-Žorž
VALUES (DEFAULT, 'USERNAME', 'UNIKATNA_ID_ŠTEVILKA', 'IME', 'PRIIMEK', 'yes', DEFAULT, DEFAULT, DEFAULT, 'GESLO');
56 1 Gašper Fele-Žorž
</pre>
57 1 Gašper Fele-Žorž
58 1 Gašper Fele-Žorž
Nato izvedemo:
59 1 Gašper Fele-Žorž
<pre>
60 1 Gašper Fele-Žorž
mysql -u marmoset -p -e "source bootstrap.sql" -D marmoset
61 1 Gašper Fele-Žorž
</pre>
62 1 Gašper Fele-Žorž
63 1 Gašper Fele-Žorž
Namestimo SubmitServer na Tomcat - pred tem lahko popravimo local.properties, kjer je mogoče nastaviti direktorij,
64 1 Gašper Fele-Žorž
v katerega se marmoset namesti. V svn je različica, ki ima ta direktorij nastavljen na /var/lib/tomcat6
65 1 Gašper Fele-Žorž
66 1 Gašper Fele-Žorž
<pre>
67 1 Gašper Fele-Žorž
polz@bober:~/marmoset# cd SubmitServer/trunk/SubmitServer2/
68 1 Gašper Fele-Žorž
polz@bober:~/marmoset/SubmitServer/trunk/SubmitServer2# ant production.install
69 1 Gašper Fele-Žorž
</pre>
70 1 Gašper Fele-Žorž
71 1 Gašper Fele-Žorž
Nastavimo Tomcat tako, da bo classe iskal tudi v direktoriju, kjer je večina javanskih knjižnic. SubmitServer namreč od tam potrebuje log4j knjižnico. Popravimo datoteko
72 1 Gašper Fele-Žorž
<pre>/etc/tomcat6/catalina.properties</pre> tako, da k common.loader dodamo ",/usr/share/java/*.jar":
73 1 Gašper Fele-Žorž
<pre>
74 1 Gašper Fele-Žorž
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/var/lib/tomcat6/common/classes,/var/lib/tomcat6/common/*.jar,/usr/share/java/*.jar
75 1 Gašper Fele-Žorž
</pre>
76 1 Gašper Fele-Žorž
77 1 Gašper Fele-Žorž
Med nastavitve Tomcata dodamo podatke o podatkovni bazi, na katero se SubmitServer povezuje. To storimo tako, da v <pre>/etc/tomcat6/web.xml</pre> dodamo nekaj vnosov "<context-param>".
78 1 Gašper Fele-Žorž
Konec datoteke potem izgleda takole:
79 1 Gašper Fele-Žorž
80 1 Gašper Fele-Žorž
<pre>
81 1 Gašper Fele-Žorž
    <context-param>
82 1 Gašper Fele-Žorž
        <param-name>authentication.service</param-name>
83 1 Gašper Fele-Žorž
        <param-value>edu.umd.cs.submitServer.GenericStudentPasswordAuthenticationService</param-value>
84 1 Gašper Fele-Žorž
    </context-param>
85 1 Gašper Fele-Žorž
    <context-param>
86 1 Gašper Fele-Žorž
        <param-name>database.server.jdbc.url</param-name>
87 1 Gašper Fele-Žorž
        <param-value>jdbc:mysql://localhost/marmoset</param-value>
88 1 Gašper Fele-Žorž
    </context-param>
89 1 Gašper Fele-Žorž
    <context-param>
90 1 Gašper Fele-Žorž
        <param-name>database.user</param-name>
91 1 Gašper Fele-Žorž
        <param-value>marmoset</param-value>
92 1 Gašper Fele-Žorž
    </context-param>
93 1 Gašper Fele-Žorž
    <context-param>
94 1 Gašper Fele-Žorž
        <param-name>database.password</param-name>
95 1 Gašper Fele-Žorž
        <param-value>malaopica</param-value>
96 1 Gašper Fele-Žorž
    </context-param>
97 1 Gašper Fele-Žorž
    <context-param>
98 1 Gašper Fele-Žorž
        <param-name>database.driver</param-name>
99 1 Gašper Fele-Žorž
        <param-value>org.gjt.mm.mysql.Driver</param-value>
100 1 Gašper Fele-Žorž
    </context-param>
101 1 Gašper Fele-Žorž
    </web-app>
102 1 Gašper Fele-Žorž
</pre>
103 1 Gašper Fele-Žorž
104 1 Gašper Fele-Žorž
Ponovno zaženemo Tomcat:
105 1 Gašper Fele-Žorž
<pre>
106 1 Gašper Fele-Žorž
bober:/home/polz/marmoset/SubmitServer/trunk/SubmitServer2# /etc/init.d/tomcat6 restart
107 1 Gašper Fele-Žorž
</pre>
108 1 Gašper Fele-Žorž
109 1 Gašper Fele-Žorž
Bravo! S tem je SubmitServer v principu nameščen. Zakaj le v principu? Zato, ker je treba omogočiti dostop do njega prek https.
110 1 Gašper Fele-Žorž
Postopek je opisan "tukaj":http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html . Vseeno na hitro povzetek.
111 1 Gašper Fele-Žorž
112 1 Gašper Fele-Žorž
Najprej ustvarimo ključe:
113 1 Gašper Fele-Žorž
<pre>
114 1 Gašper Fele-Žorž
bober:~# keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/share/tomcat6/.keystore
115 1 Gašper Fele-Žorž
</pre>
116 1 Gašper Fele-Žorž
117 1 Gašper Fele-Žorž
Geslo si seveda zapomnimo.
118 1 Gašper Fele-Žorž
119 1 Gašper Fele-Žorž
Nato nastavimo tomcat, da jih uporabi. To storimo tako, da v <pre>/etc/tomcat6/server.xml</pre> odkomentiramo in dodamo geslo v odsek:
120 1 Gašper Fele-Žorž
121 1 Gašper Fele-Žorž
<pre>
122 1 Gašper Fele-Žorž
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
123 1 Gašper Fele-Žorž
               maxThreads="150" scheme="https" secure="true"
124 1 Gašper Fele-Žorž
               keystorePass="GESLO"
125 1 Gašper Fele-Žorž
               clientAuth="false" sslProtocol="TLS" />
126 1 Gašper Fele-Žorž
</pre>
127 1 Gašper Fele-Žorž
128 1 Gašper Fele-Žorž
Ponovno zaženemo Tomcat:
129 1 Gašper Fele-Žorž
<pre>
130 1 Gašper Fele-Žorž
bober:/home/polz/marmoset/SubmitServer/trunk/SubmitServer2# /etc/init.d/tomcat6 restart
131 1 Gašper Fele-Žorž
</pre>