Namestitev SubmitServer » History » Version 6
Gašper Fele-Žorž, 07.02.2011 12:54
| 1 | 1 | Gašper Fele-Žorž | h1. Namestitev SubmitServer |
|---|---|---|---|
| 2 | |||
| 3 | Najprej namestimo potrebne dodatne pakete: |
||
| 4 | |||
| 5 | <pre> |
||
| 6 | apt-get install tomcat6 mysql-server subversion ant liblog4j1.2-java libmysql-java |
||
| 7 | </pre> |
||
| 8 | |||
| 9 | Geslo za root mysql je na marmoset.fri.uni-lj.si enako geslu za root sicer. |
||
| 10 | |||
| 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 | <pre> |
||
| 14 | shell> mysql -u root -p |
||
| 15 | mysql> create user 'marmoset'@'localhost' identified by 'malaopica'; |
||
| 16 | mysql> create database marmoset character set = utf8; |
||
| 17 | mysql> grant all privileges on marmoset.* to 'marmoset'@'localhost'; |
||
| 18 | </pre> |
||
| 19 | |||
| 20 | 5 | Gašper Fele-Žorž | Popravimo /etc/mysql/my.cnf po vzorcu: |
| 21 | <pre> |
||
| 22 | [mysqld] |
||
| 23 | character-set-server = utf8 |
||
| 24 | |||
| 25 | [client] |
||
| 26 | default-character-set = utf8 |
||
| 27 | </pre> |
||
| 28 | |||
| 29 | Bazo kot root ponovno zaženemo z: |
||
| 30 | <pre> |
||
| 31 | /etc/init.d mysql |
||
| 32 | </pre> |
||
| 33 | 1 | Gašper Fele-Žorž | Preverimo, če baza deluje: |
| 34 | |||
| 35 | <pre> |
||
| 36 | polz@bober:~$ mysql -u marmoset -p -D marmoset |
||
| 37 | Enter password: |
||
| 38 | Welcome to the MySQL monitor. Commands end with ; or \g. |
||
| 39 | Your MySQL connection id is 43 |
||
| 40 | Server version: 5.1.49-3 (Debian) |
||
| 41 | |||
| 42 | Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. |
||
| 43 | This software comes with ABSOLUTELY NO WARRANTY. This is free software, |
||
| 44 | and you are welcome to modify and redistribute it under the GPL v2 license |
||
| 45 | |||
| 46 | Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. |
||
| 47 | |||
| 48 | mysql> |
||
| 49 | </pre> |
||
| 50 | |||
| 51 | Če deluje, lahko iz svn repozitorija poberemo marmoset. Uporabimo kopijo, ki je na redmine. |
||
| 52 | |||
| 53 | <pre> |
||
| 54 | polz@bober:~$ svn co https://lusy.fri.uni-lj.si/svn/marmoset/ |
||
| 55 | </pre> |
||
| 56 | |||
| 57 | 4 | Gašper Fele-Žorž | Če bi slučajno kdo še hotel uporabiti marmoset iz git snapshota, potlej bi moral |
| 58 | popraviti še datoteko "build.xml" - iz neznanega razloga developerji niso hoteli, |
||
| 59 | da bi se v .war spravila celotna aplikacija. Popraviti je torej treba pravilo |
||
| 60 | "war", da potlej izgleda takole: |
||
| 61 | |||
| 62 | <pre> |
||
| 63 | <war |
||
| 64 | destfile="${dist}/${warfile}" |
||
| 65 | webxml="WebRoot/WEB-INF/web.xml" |
||
| 66 | > |
||
| 67 | <fileset dir="WebRoot"> |
||
| 68 | <!-- |
||
| 69 | <exclude name="WEB-INF/classes/edu/umd/cs/submitServer/shared/*class"/> |
||
| 70 | <exclude name="WEB-INF/lib/log4j.jar"/> |
||
| 71 | --> |
||
| 72 | </fileset> |
||
| 73 | </war> |
||
| 74 | </pre> |
||
| 75 | |||
| 76 | 1 | Gašper Fele-Žorž | Ustvarimo tabele v bazi: |
| 77 | |||
| 78 | <pre> |
||
| 79 | polz@bober:~/marmoset$ cd SubmitServerModelClasses/trunk/SubmitServerModelClasses/dbScripts/ |
||
| 80 | 6 | Gašper Fele-Žorž | polz@bober:~/.../dbScripts$ mysql -u marmoset -p -e "source marmoset-schema.sql" -D marmoset |
| 81 | polz@bober:~/.../dbScripts$ mysql -u marmoset -p -e "source sql-patches/project-starter-file-archives.sql" -D marmoset |
||
| 82 | 1 | Gašper Fele-Žorž | </pre> |
| 83 | |||
| 84 | Ustvarimo uporabnika v bazi. Najprej popravimo bootstrap.sql, ki vsebuje nekaj takega: |
||
| 85 | |||
| 86 | <pre> |
||
| 87 | INSERT INTO students |
||
| 88 | VALUES (DEFAULT, 'USERNAME', 'UNIKATNA_ID_ŠTEVILKA', 'IME', 'PRIIMEK', 'yes', DEFAULT, DEFAULT, DEFAULT, 'GESLO'); |
||
| 89 | </pre> |
||
| 90 | |||
| 91 | Nato izvedemo: |
||
| 92 | <pre> |
||
| 93 | mysql -u marmoset -p -e "source bootstrap.sql" -D marmoset |
||
| 94 | </pre> |
||
| 95 | |||
| 96 | Namestimo SubmitServer na Tomcat - pred tem lahko popravimo local.properties, kjer je mogoče nastaviti direktorij, |
||
| 97 | v katerega se marmoset namesti. V svn je različica, ki ima ta direktorij nastavljen na /var/lib/tomcat6 |
||
| 98 | |||
| 99 | <pre> |
||
| 100 | polz@bober:~/marmoset# cd SubmitServer/trunk/SubmitServer2/ |
||
| 101 | polz@bober:~/marmoset/SubmitServer/trunk/SubmitServer2# ant production.install |
||
| 102 | </pre> |
||
| 103 | |||
| 104 | 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 |
||
| 105 | <pre>/etc/tomcat6/catalina.properties</pre> tako, da k common.loader dodamo ",/usr/share/java/*.jar": |
||
| 106 | <pre> |
||
| 107 | 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 |
||
| 108 | </pre> |
||
| 109 | |||
| 110 | 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>". |
||
| 111 | Konec datoteke potem izgleda takole: |
||
| 112 | |||
| 113 | <pre> |
||
| 114 | <context-param> |
||
| 115 | <param-name>authentication.service</param-name> |
||
| 116 | <param-value>edu.umd.cs.submitServer.GenericStudentPasswordAuthenticationService</param-value> |
||
| 117 | </context-param> |
||
| 118 | <context-param> |
||
| 119 | <param-name>database.server.jdbc.url</param-name> |
||
| 120 | <param-value>jdbc:mysql://localhost/marmoset</param-value> |
||
| 121 | </context-param> |
||
| 122 | <context-param> |
||
| 123 | <param-name>database.user</param-name> |
||
| 124 | <param-value>marmoset</param-value> |
||
| 125 | </context-param> |
||
| 126 | <context-param> |
||
| 127 | <param-name>database.password</param-name> |
||
| 128 | <param-value>malaopica</param-value> |
||
| 129 | </context-param> |
||
| 130 | <context-param> |
||
| 131 | <param-name>database.driver</param-name> |
||
| 132 | <param-value>org.gjt.mm.mysql.Driver</param-value> |
||
| 133 | </context-param> |
||
| 134 | </web-app> |
||
| 135 | </pre> |
||
| 136 | |||
| 137 | Ponovno zaženemo Tomcat: |
||
| 138 | <pre> |
||
| 139 | bober:/home/polz/marmoset/SubmitServer/trunk/SubmitServer2# /etc/init.d/tomcat6 restart |
||
| 140 | </pre> |
||
| 141 | |||
| 142 | Bravo! S tem je SubmitServer v principu nameščen. Zakaj le v principu? Zato, ker je treba omogočiti dostop do njega prek https. |
||
| 143 | Postopek je opisan "tukaj":http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html . Vseeno na hitro povzetek. |
||
| 144 | |||
| 145 | Najprej ustvarimo ključe: |
||
| 146 | <pre> |
||
| 147 | bober:~# keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/share/tomcat6/.keystore |
||
| 148 | </pre> |
||
| 149 | |||
| 150 | Geslo si seveda zapomnimo. |
||
| 151 | |||
| 152 | Nato nastavimo tomcat, da jih uporabi. To storimo tako, da v <pre>/etc/tomcat6/server.xml</pre> odkomentiramo in dodamo geslo v odsek: |
||
| 153 | |||
| 154 | <pre> |
||
| 155 | <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" |
||
| 156 | maxThreads="150" scheme="https" secure="true" |
||
| 157 | 4 | Gašper Fele-Žorž | keystorePass="GESLO" URIEncoding="UTF-8" |
| 158 | 1 | Gašper Fele-Žorž | clientAuth="false" sslProtocol="TLS" /> |
| 159 | </pre> |
||
| 160 | |||
| 161 | Ponovno zaženemo Tomcat: |
||
| 162 | <pre> |
||
| 163 | bober:/home/polz/marmoset/SubmitServer/trunk/SubmitServer2# /etc/init.d/tomcat6 restart |
||
| 164 | </pre> |
||
| 165 | 3 | Gašper Fele-Žorž | |
| 166 | Če kaj ne deluje, si razčesnemo glavo. |