ผลต่างระหว่างรุ่นของ "การติดตั้ง Marmoset"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 16: | แถว 16: | ||
'''2. ติดตั้งและสร้างฐานข้อมูล''' | '''2. ติดตั้งและสร้างฐานข้อมูล''' | ||
+ | |||
+ | : อ้างอิงขั้นตอนในเอกสาร [http://theory.cpe.ku.ac.th/~jittat/marmoset-docs/submitserver_installation_instructions.html#mysql] แต่เราจะติดตั้ง mysql โดยใช้ <tt>apt-get</tt> | ||
ติดตั้ง mysql server, และ client | ติดตั้ง mysql server, และ client | ||
แถว 34: | แถว 36: | ||
create database submitserver; | create database submitserver; | ||
grant all on submitserver.* to 'marmoset'@'localhost'; | grant all on submitserver.* to 'marmoset'@'localhost'; | ||
+ | |||
+ | จากนั้นให้ ออกจาก mysql command line interface เพื่อไปเรียก database initialization script | ||
+ | |||
+ | SQL script ต่าง ๆ จะอยู่ที่ <tt>SubmitServerModelClasses/trunk/SubmitServerModelClasses/dbScripts</tt> | ||
+ | |||
+ | ในเอกสาร marmoset จะระบุให้ใช้ script <tt>runsql</tt> แต่เราจะเรียกใช้ mysql โดยตรง โดยสั่งดังตัวอย่างด้านล่าง | ||
+ | |||
+ | ในการสร้าง schema เบื้องต้น ให้ย้ายไปที่ไดเร็กทอรีดังกล่าว แล้วสั่ง | ||
+ | |||
+ | mysql -D submitserver -u marmoset -p < marmoset-schema.sql | ||
+ | |||
+ | เพื่อสร้าง schema และ | ||
+ | |||
+ | mysql -D submitserver -u marmoset -p < sql-patches/project-starter-file-archives.sql | ||
+ | |||
+ | เพื่อ patch database schema | ||
+ | |||
+ | '''4. สร้าง super user''' | ||
+ | |||
+ | : อ้างอิงขั้นตอนในเอกสาร [http://theory.cpe.ku.ac.th/~jittat/marmoset-docs/submitserver_installation_instructions.html#superuser] | ||
+ | |||
+ | ให้แก้ไฟล์ bootstrap.sql ตามเอกสารแล้วสั่ง | ||
+ | |||
+ | mysql -D submitserver -u marmoset -p < bootstrap.sql | ||
'''3. ติดตั้ง web app''' | '''3. ติดตั้ง web app''' | ||
− | + | : อ้างอิงขั้นตอนในเอกสาร [http://theory.cpe.ku.ac.th/~jittat/marmoset-docs/submitserver_installation_instructions.html#compile] | |
+ | |||
+ | ใน ubuntu ที่อยู่ของ tomcat คือ <tt>/usr/share/tomcat6</tt> ในการแก้ไฟล์ <tt>local.properties</tt> ให้แก้เป็นตามด้านหน้า | ||
+ | |||
+ | ant production.install | ||
+ | |||
+ | คำสั่งดังกล่าว ถ้าสั่งด้วย sudo จะคัดลอกไฟล์ได้บางส่วน ถ้าไม่ใช้ sudo จะคัดลอกไฟล์''ไม่ได้เลย'' ดังนั้นให้คัดลอกไฟล์ต่าง ๆ เอง ดังนี้: | ||
− | + | * war file | |
+ | * shared jar | ||
+ | * log4j | ||
=== ตัวอย่าง Config ที่แก้ === | === ตัวอย่าง Config ที่แก้ === |
รุ่นแก้ไขเมื่อ 06:05, 18 กันยายน 2553
สำหรับขั้นตอนการติดตั้งทั่วไป ดูจากเอกสารอ้างอิงหลักที่ mirror มาจากทาง u of waterloo อีกทีหนึ่ง: Marmoset Help Page
เนื้อหา
SubmitServer
ในส่วนนี้จะอธิบายการติดตั้งบน Ubuntu
1. เริ่มต้นจากการติดตั้งซอฟต์แวร์ที่จำเป็น (ยังไม่ครบ)
ติดตั้ง java
sudo apt-get install openjdk-6-jdk openjdk-6-jre
ติดตั้ง tomcat
sudo apt-get install tomcat6
2. ติดตั้งและสร้างฐานข้อมูล
- อ้างอิงขั้นตอนในเอกสาร [1] แต่เราจะติดตั้ง mysql โดยใช้ apt-get
ติดตั้ง mysql server, และ client
sudo apt-get install mysql-server mysql-client
ระหว่างติดตั้งให้จำ password ของ mysql root ไว้ด้วย
จากนั้นสร้าง user และ database สำหรับ SubmitServer โดยสั่งตามนี้
เข้า mysql (ป้อน password root ด้วย)
mysql -u root -p
จากนั้นสั่งสร้าง user, database และ grant permission
create user 'marmoset'@'localhost' identified by 'MARMOSET_DB_PASSWORD'; create database submitserver; grant all on submitserver.* to 'marmoset'@'localhost';
จากนั้นให้ ออกจาก mysql command line interface เพื่อไปเรียก database initialization script
SQL script ต่าง ๆ จะอยู่ที่ SubmitServerModelClasses/trunk/SubmitServerModelClasses/dbScripts
ในเอกสาร marmoset จะระบุให้ใช้ script runsql แต่เราจะเรียกใช้ mysql โดยตรง โดยสั่งดังตัวอย่างด้านล่าง
ในการสร้าง schema เบื้องต้น ให้ย้ายไปที่ไดเร็กทอรีดังกล่าว แล้วสั่ง
mysql -D submitserver -u marmoset -p < marmoset-schema.sql
เพื่อสร้าง schema และ
mysql -D submitserver -u marmoset -p < sql-patches/project-starter-file-archives.sql
เพื่อ patch database schema
4. สร้าง super user
- อ้างอิงขั้นตอนในเอกสาร [2]
ให้แก้ไฟล์ bootstrap.sql ตามเอกสารแล้วสั่ง
mysql -D submitserver -u marmoset -p < bootstrap.sql
3. ติดตั้ง web app
- อ้างอิงขั้นตอนในเอกสาร [3]
ใน ubuntu ที่อยู่ของ tomcat คือ /usr/share/tomcat6 ในการแก้ไฟล์ local.properties ให้แก้เป็นตามด้านหน้า
ant production.install
คำสั่งดังกล่าว ถ้าสั่งด้วย sudo จะคัดลอกไฟล์ได้บางส่วน ถ้าไม่ใช้ sudo จะคัดลอกไฟล์ไม่ได้เลย ดังนั้นให้คัดลอกไฟล์ต่าง ๆ เอง ดังนี้:
- war file
- shared jar
- log4j
ตัวอย่าง Config ที่แก้
server.xml
--- server.xml 2010-08-19 22:45:13.000000000 +0700 +++ /etc/tomcat6/server.xml 2010-09-18 07:09:01.600653343 +0700 @@ -22,9 +22,9 @@ <Server port="8005" shutdown="SHUTDOWN"> <!--APR library loader. Documentation at /docs/apr.html --> - <!-- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> - --> + + <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> <Listener className="org.apache.catalina.core.JasperListener" /> <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html --> @@ -80,11 +80,12 @@ This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> - <!-- + <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" + keystoreFile="/etc/tomcat6/ssl/marmosetKeystore" + keystorePass="PASSWORD" clientAuth="false" sslProtocol="TLS" /> - --> <!-- Define an AJP 1.3 Connector on port 8009 --> <!-- @@ -131,6 +132,9 @@ unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> +<Context path="" docBase="submitServer" debug="0" +reloadable="true"/> + <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!--
web.xml
แก้ตามในคู่มือ marmoset
--- web.xml 2009-05-14 06:15:14.000000000 +0700 +++ /etc/tomcat6/web.xml 2010-09-17 17:57:26.155673917 +0700 @@ -1191,4 +1191,26 @@ <welcome-file>index.jsp</welcome-file> </welcome-file-list> + +<context-param> + <param-name>authentication.service</param-name> + <param-value>edu.umd.cs.submitServer.GenericStudentPasswordAuthenticationService</param-value> +</context-param> +<context-param> + <param-name>database.server.jdbc.url</param-name> + <param-value>jdbc:mysql://localhost/submitserver</param-value> +</context-param> +<context-param> + <param-name>database.user</param-name> + <param-value>MYSQLUSER</param-value> +</context-param> +<context-param> + <param-name>database.password</param-name> + <param-value>MYSQLPASSWORD</param-value> +</context-param> +<context-param> + <param-name>database.driver</param-name> + <param-value>com.mysql.jdbc.Driver</param-value> +</context-param> + </web-app>
policy.d/04webapps.policy
ควรต้องตั้ง permission ให้ดีกว่านี้
--- policy.d/04webapps.policy 2010-08-19 22:45:11.000000000 +0700 +++ /etc/tomcat6/policy.d/04webapps.policy 2010-09-18 00:29:59.447935207 +0700 @@ -5,6 +5,9 @@ // In addition, a web application will be given a read FilePermission // and JndiPermission for all files and directories in its document root. grant { + // this is for testing + permission java.security.AllPermission; + // Required for JNDI lookup of named JDBC DataSource's and // javamail named MimePart DataSource used to send mail permission java.util.PropertyPermission "java.home", "read";
ขั้นตอนที่ต้องระวัง
- ต้องคัดลอกไฟล์ .war และ .jar เอง อย่าลืมคัดลือก log4j.jar ใส่ใน /usr/share/tomcat6/lib ด้วย
- เพื่อให้ log4j เก็บค่าได้ ต้องตั้ง permission
- ติดตั้ง SSL:
- ดูขั้นตอนเพิ่มเติมที่ http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html ใช้ APR
- mysql driver