Chào các bạn, sau vài ngày vật vã tìm cách cài cho được Sakai từ Sakai souce, mình đã rút ra được vài điều và muốn chia sẻ lại cho tất cả các bạn.
Bài viết của mình sẽ hướng dẫn các bạn biên dịch, deploy mã nguồn Sakai mới nhất 2.7.0 bằng Apache Maven, Apache Tomcat, Java trên Windows.
Chuẩn bị: Trước tiên các bạn down các gói cần thiết về.
Sakai 2.7.0:
http://source.sakaiproject.org/release/2.7.0/artifacts/sakai-src-2.7.0.zip
Maven 2.2.1:
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-2.2.1-bin.zip
Tomcat 5.5.30: nhớ là Tomcat 5 đó nhé, bản cũ hơn bản này cũng được vì Sakai 2.7.0 không chạy được trên Tomcat 6 hay Tomcat 7
http://mirror-fpt-telecom.fpt.net/apache/tomcat/tomcat-5/v5.5.30/bin/apache-tomcat-5.5.30.zip
Java 6:
http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html
MySQL:
MySQL Java Connector:
Cài đặt:
Trước khi cài đặt lưu ý với các bạn một vấn đề: khi bạn cài các phần mềm trên bạn nên để trong thư mục có đường dẫn không có chứa khoảng trắng. Ví dụ:
Good: C:\opt\tomcat\, C:\sakaistuff\installs\tomcat\
Bad: C:\program files\tomcat\, C:\opt\apache tomcat 5.5.28\
– Cài đặt Java: bạn cài đặt gói jdk vừa down vào thư mục, ví dụ của mình là C:\opt\java.
Cài đặt biến môi trường cho Java: để cài đặt biến môi trường bạn vào My Computer –> Click chuột phải chọn Properties –> Advanced system settings –> Environment Valuables ( cài này trên Windows 7, trên XP tương tự). Trong System Variables, bấm New –> Bạn điền tên biến và giá trị vào sau đó OK.
Với JAVA có biến sau:
Tên biến:
JAVA_HOME
Giá trị: đường dẫn tới thư mục cài java, ví dụ của mình là
C:\opt\java\jdk1.6.0_20
Thêm vào đuôi biến Path giá trị như sau: nhớ gõ dấu “;” để ngăn cách nhé.
C:\opt\java\jdk1.6.0_20\bin
– Cài đặt Maven: giải nén gói maven vào thư mục C:\opt\maven. Sau đó cài đặt các biên môi trường sau:
Tên biến:
MAVEN_HOME
Giá trị: đường dẫn tới thư mục cài Maven, ví dụ của mình là
C:\opt\maven
Tương tự thêm vào đuôi biến Path giá trị:
C:\opt\maven\bin
Tên biến:
MAVEN_OPTS
Gia trị: bạn cứ copy y chang rồi dán vào, xuống phần cài đặt Tomcat mình sẽ giải thích rõ tại sao chọn thông số như vậy.
–Xms256m –Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m
Tạo thư mục .m2 để chứa thư viện biên dịch bằng lệnh sau:
mkdir %HOMEDRIVE%%HOMEPATH%\.m2\repository
Trên Windows thư mục Home mặc định là thư mục user của bạn ví dụ của mình là: C:\Users\hoaihuongbk
Tạo một file settings.xml trong thư mục .m2 để khai báo với Maven biết server home Tomcat nằm ở đâu với nội dung như sau:
Trong đó : c:\opt\tomcat là đường dẫn tới thư mục cài Tomcat trên máy bạn. Bạn cũng có thể thay chỗ đó bằng
${env.CATALINA_HOME}
để chỉ cần chỉnh sửa trong System Environment là xong.
Nếu network của bạn cần proxy thì bạn thêm vào đoạn code sau:
– Cài đặt Tomcat: tương tự như những cài đặt trước bạn cài tomcat vào thư mục C:\opt\tomcat và cài đặt biến môi trường như sau:
Tên biến:
CATALINA_HOME
Giá trị: đường dẫn tới thư mục cài tomcat trên máy bạn, của mình là
C:\opt\tomcat
Thêm vào đuôi biến Path giá trị:
C:\opt\tomcat\bin
Tạo file setenv.bat đặt trogn thư mục bin của tomcat với nội dung như sau:
set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m -XX:NewSize=192m -XX:MaxNewSize=384m -Djava.awt.headless=true -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true
Tới đây bạn để ý các giá trị Xms256m, Xmx512m: đó là giá trị quy định kích thước của đối tượng Java heap, khởi đầu là 256MB và lớn nhất là 512MB, cái này phụ thuộc vào dung lượng RAM trên máy bạn, nếu RAM 1GB thì nên để y như mình đề nghị, RAM 2GB thì bạn có thể chỉnh thành Xms512m, Xmx1024m, RAM 3G trở lên mình chưa thử, chú ý là giá trị Xms không được bằng hoặc lớn hơn giá trị Xmx. Tiếp đến giá trị -XX:PermSize=64m -XX:MaxPermSize=128m là giá trị vùng nhớ để load các class java, cũng tùy vào RAM của bạn mà nên để kích thước vừa phải, mình test trên RAM 1GB thì giá trị như trên, RAM 2GB thì có thể chỉnh thành -XX:PermSize=128m -XX:MaxPermSize=512m.
Một chú ý quan trọng là các giá trị trên phải đồng bộ giữa MAVEN_OPTS và JAVA_OPTS
Copy file MySQL Java Connecter (file *.jar nhé) vào thư mục:
C:\opt\tomcat\common\lib
– Cấu hình Sakai: bạn giải nén sakai vào một thư mục nào đó mà bạn muốn với khuyến cáo đường dẫn như đầu bài viết. Ví dụ của mình là C:\opt\sakai.
Tạo thư mục sakai trong thư mục tomcat và copy file sakai.properties từ C:\opt\sakai\reference\docs vào thư mục sakai vừa tạo. Sau đó chỉnh sửa nội dung lại như sau:
Tìm và comment các thông số trong phần HSQLDB setting:
## HSQLDB settings – on by default
#vendor@org.sakaiproject.service.framework.sql.SqlService=hsqldb
#driverClassName@javax.sql.BaseDataSource=org.hsqldb.jdbcDriver
#hibernate.dialect=org.hibernate.dialect.HSQLDialect
#validationQuery@javax.sql.BaseDataSource=select 1 from
SYSTEM_USERS
# two hsqldb storage options: first for in-memory (no persistence between runs), second for disk based
#url@javax.sql.BaseDataSource=jdbc:hsqldb:.
#url@javax.sql.BaseDataSource=jdbc:hsqldb:${sakai.home}/db/sakai.db
Tìm và chỉnh sửa 2 dòng sau:
Set username@javax.sql.BaseDataSource=sakaiuser
Set password@javax.sql.BaseDataSource=sakaipwd
Trong đó “sakaiuser”, “sakaipwd” lần lượt là username và password để truy cập cơ sở dữ liệu sẽ được tạo trong hướng dẫn cài MySQL sau.
Tìm và uncomment các thông số trong phần MySQL
## MySQL settings – make sure to alter as appropriate
vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQLDialect
url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai?
useUnicode=true&characterEncoding=UTF-8
validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
– Cài đặt MySQL: tương tự bạn cũng cài đặt MySQL vào thư mục C:\opt\mysql.
Tạo biến môi trường,
Tên biến:
MySQL_HOME
Giá trị: đường dẫn tới thư mục cài mysql, ví dụ của mình là
C:\opt\mysql
Thêm vào cuối biến Path:
C:\opt\mysql
Tạo cơ sở dữ liệu:
create database sakai default character set utf8;
Tiếp tục gõ các lệnh sau:
grant all on sakai.* to sakaiuser@’localhost’ identified
by ‘sakaipwd’;
grant all on sakai.* to sakaiuser@’127.0.0.1′ identified
by ‘sakaipwd’;
flush privileges;
Trong đó “sakaiuser”, “sakaipwd” trùng với giá trị lúc nãy đã cài đặt.
Biên dịch và deploy:
Tạo file Master POM cho Sakai: gõ các dòng lệnh sau trong cmd
cd c:\opt\sakai\master
mvn clean install
Deploy Sakai: gõ các dòng lệnh sau trong cmd
cd c:\opt\sakai
mvn clean install sakai:deploy
Nếu lần đầu tiên biên dịch, chương trình sẽ tự động down các gói thư viện cần thiết nên thời gian có thể hơi lâu, chừng 2 giờ đồng hồ, tranh thủ kiếm tách cafe nhâm nhi tí quay lại là có, hehe.
Sau khi biên dịch và deploy thành công, các bạn chạy Tomcat bằng lệnh sau:
startup.bat
Mở browser lên và gõ vào địa chỉ:
Thướng thức thành quả đạt được…
Tắt Tomcat: gõ dòng lệnh sau trong cmd
shutdown.bat
Bạn đừng nản lòng khi biên dịch lỗi hoặc xảy ra hiện tượng outOfMemory, các bạn chỉ cần chỉnh lại các giá trị bộ nhớ mà mình nói lúc nãy đó.
Còn nhiều vấn đề muốn nói nhưng thôi để các bạn nào quan tâm thì nghiên cứu thêm:
Chúc các bạn thành công !!!