0. 対象
・LINUXのコマンドをある程度知っているLINUX初心者を想定して記述する。
1. 基盤
次の環境にSakai 2.5.0 binary を導入する
HW: Intel Xeon 5160 (2core) x 2CPU, 主記憶4GB, HDD 140GB x2(RAID1)
SW: Red Hat Enterprise Linux ES release 4 (Nahant Update 6) 1.2
2. 環境設定
rootで導入を行なう。。
/root にホームディレクトリが設定されるので src というディレクトリを作成し、ダウンロードしたファイルは /root/src に置く。
2.1 JDK
・ http://java.sun.com/javase/downloads/index_jdk5.jsp から jdk-1_5_0_15-linux-amd64-rpm.bin を/root/srcにダウンロードする。
・ http://java.sun.com/j2se/1.5.0/install-linux.html#install に従って JDK 1.5.0_15を導入する。
chmod +x jdk-1_5_0_15-linux-amd64-rpm.bin
./jdk-1_5_0_15-linux-amd64-rpm.bin
・ 質問に回答していくと、rpmコマンドをたたかなくても /usr/java/jdk1.5.0_15 に導入される。
/root/src にrpm パッケージも生成される。
・ このjdkを利用するためには .bashrc にパスを設定しなければならないが、他のパッケージも同様なので後でまとめて設定する。
2.2 Tomcat
・ http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.25/bin/ から apache-tomcat-5.5.25.tar.gz をダウンロードする。
apache-tomcat-5.5.23.tar.gz は起動が失敗するので、Redhat Linuxのときは使わないでください。
Fedora8 ではtomcat 5.5.25では起動が失敗し、tomcat 5.5.23でうまくいったという報告が寄せられています。
・ /usr/local ディレクトリに展開する。
tar xvfz apache-tomcat-5.5.25.tar.gz -C /usr/local
・ /usr/localディレクトリにて展開されたtomcat-5.5.25を /usr/local/tomcatディレクトリに見えるようにする。
cd /usr/local
ln -s apache-tomcat-5.5.25 tomcat
3 Sakai 2.5.0
3.1 パッケージダウンロードおよび展開
・ http://source.sakaiproject.org/release/2.5.0/ からバイナリをダウンロードする。
・ sakai.properties ファイルが後で必要になるのでソースもダウンロードしておく。(Sakai HPはtar.gz形式であるが、実際はtgz形式)
・ それぞれのパッケージを展開する。
tar xvfz sakai-bin-2-5-0.tar.gz
tar xvfz sakai-src-2-5-0.tgz
・ sakai-binをtomcatに配置する。
cd /root/src/sakai-bin-2.5.0
cp -r . /usr/local/tomcat
3.2 設定
・ sakai.properties を設定する。ここではコピーするだけでデフォルト設定で使う。
mkdir /usr/local/tomcat/sakai
cd /root/src
cp ./sakai-src-2.5.0/component/component-api/component/src/config/org/sakaiproject/config/sakai.properties /usr/local/tomcat/sakai
・ /usr/local/tomcat/conf/server.xmlを編集する。なお、オリジナルのバックアップはとっておく。
cp -p /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml_ORG
vi /usr/local/tomcat/conf/server.xml
8080ポートの設定に、URIEncoding = "UTF-8" を追加。
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
4. 実行環境設定
4.1 .bashrc
・.bashrc に実行環境を設定する。
cd
cp .bashrc .bashrc_ORG
vi .bashrc
次の設定を末尾に追加する。
######
# JDK
export JAVA_HOME=/usr/java/jdk1.5.0_15
export PATH=$JAVA_HOME/bin:$PATH:/usr/local/bin
# Tomcat
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
export CLASSPATH=.:$CATALINA_HOME/common/lib/servlet-api.jar:$CATALINA_HOME/common/lib/jsp-api.jar
######
4.2 環境設定と確認
. .bashrc
set | grep CATALINA
これでCATALINA_HOMEが設定されていることを確認する。
4.3 起動および停止用shell scriptの作成
・Sakaiの起動と停止を行うshell scriptを/root/cmdに設定する。
・次の内容で start-sakai.sh を作成する。
#!/bin/sh
JAVA_OPTS="-server -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
export JAVA_OPTS
CATALINA_OPTS="-server -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
export CATALINA_OPTS
/usr/local/tomcat/bin/startup.sh; tail -f /usr/local/tomcat/logs/catalina.out
・次の内容で stop-sakai.sh を作成する。
#!/bin/sh
JAVA_OPTS="-server -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
export JAVA_OPTS
CATALINA_OPTS="-server -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
export CATALINA_OPTS
/usr/local/tomcat/bin/shutdown.sh
・それぞれのshell scriptに実行権限を与える。
chmod 700 start-sakai.sh
chmod 700 stop-sakai.sh
5. 起動と確認
5.1 起動
・ /root/cmdにてstart-sakai.shを実行する。
cd /root/cmd
./start-sakai.sh
多くのメッセージが表示されるが、下記のメッセージが出されれば起動できている。
INFO: Server startup in 50181 ms (2008-06-11 11:03:39,487 main_org.apache.catalina.startup.Catalina)
ctrl-C にてtail -f を停止する。
5.2 Sakaiへのアクセス
・ PCからブラウザにてSakaiにアクセスする。
http://"sakaiを導入したシステムのFQDN":8080/portal
・ユーザIDおよびパスワードをそれぞれadmin, admin にてログインする。
5.3 停止
・ /root/cmdにてstop-sakai.shを実行する。
sakaiを起動したコンソールにて次のコマンドを入力する。
ps -ef | grep java にてプロセスが表示されなければ正常に停止されている。
さらにMySQL を利用する場合は次の設定を行う
6. MySQLの設定
6.1 ダウンロード
・http://dev.mysql.com/downloads/mysql/5.0.html#linux-rhel5-x86-64bit-rpmsから次のrpmをダウンロードする。
MySQL-client-community-5.0.51a-0.rhel4.x86_64.rpm
MySQL-server-community-5.0.51a-0.rhel4.x86_64.rpm
・http://dev.mysql.com/downloads/connector/j/5.1.html からtomcat と MySQLのコネクタをダウンロードしておく。
mysql-connector-java-5.0.8.tar.gz
6.2 展開
・Redhat Linuxに導入済のSQL関連のパッケージはなるべく削除しておく。
rpm -e --allmatches --nodeps (パッケージ名)
・ダウンロードしたMySQLを展開する。
cd /root/src
rpm -ivh MySQL-client-community-5.0.51a-0.rhel4.x86_64.rpm
rpm -ivh MySQL-server-community-5.0.51a-0.rhel4.x86_64.rpm
・コネクタも展開し、jarファイルを/usr/local/tomcat/common/libにコピーする。
tar xvfz mysql-connector-java-5.0.8.tar.gz
cp mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/common/lib
6.3 セキュリティ
・MySQLクライアントにセキュリティを設定する。
mysqladmin -u root password (任意のパスワード)
以降、mysql -u root -p にてmysqlコマンド環境に入ることになる。
6.4 Sakai データベースの設定
・Sakai データベースとアクセスするsqluserを設定する。
mysql -u root -p
Enter password: ******
mysql> create database sakai default character set utf8;
mysql> grant all on sakai.* to sakaiuser@'localhost' identified by 'sakaipassword';
mysql> grant all on sakai.* to sakaiuser@'127.0.0.1' identified by 'sakaipassword';
mysql> quit
以上で、同一ホストで稼動する tomcat から sqluser にて sakai データベースにアクセスすることができるようになる。なお、 tomcatの設定は /usr/local/tomcat/sakai/sakai.propertiesにて行なう。
6.5 UTF-8の設定
言語環境をUTF-8に設定する。
cp -p /etc/my.cnf.rpmnew /etc/my.cnf
viにて下記の内容を追加、修正。 [mysqld]への追加は[mysqld]の領域に行う。
[cient]の設定はmy.cnf.rmpnewにないので、最後尾に追加する。
[mysqld]
default-character-set=utf8
character-set-server=utf8
[mysql.server]
basedir=/usr (/var/lib から /usr に変更する)
[client]
default-character-set=utf8
・下記にて確認する。
/etc/rc.d/init.d/mysql stop
/etc/rc.d/init.d/mysql start /etc/my.cnf の basedirの設定をしていないとここでエラーする。
mysql -u root -p
Enter password: ******
mysql> show variables like "char%";
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
6.6 sakai.properties設定
cd /usr/local/tomcat/sakai
cp -p sakai.properties sakai.properties_ORG
vi sakai.properties
次の設定をコメントアウトする。
hibernate.dialect=org.hibernate.dialect.HSQLDialect
次の設定を追加する。
username@javax.sql.BaseDataSource=sakaiuser
password@javax.sql.BaseDataSource=(データベース作成時に設定したパスワード)
vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
url@javax.sql.BaseDataSource=jdbc:mysql:validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
7. 起動と確認
7.1 起動
「5. 起動と確認」と同様にして起動する。
7.2 確認
mysql -u root -p
Enter password: ******
mysql> use sakai;
mysql> show tables;
これで280個程度のテーブルが表示される。
7.3 学期の設定
・adminがworksite setupで新規のcourseを作成するときに学期が設定されていないとcourseが作成できないので、ここで設定しておく。
・Sakai2.3までsakai.propertiesで設定していたtermの設定がDBになっている。
・'2008-04-01', '2008-09-30' は現時点が含まれる期間にする。
mysql -u root -p
Enter password: ******
mysql> use sakai;
mysql> insert into CM_ACADEMIC_SESSION_T (ACADEMIC_SESSION_ID,VERSION,LAST_MODIFIED_BY, LAST_MODIFIED_DATE, CREATED_BY, CREATED_DATE,ENTERPRISE_ID, TITLE, DESCRIPTION, START_DATE, END_DATE) values('', '1', '',curdate(), '', curdate(), 'Spring_2008', 'Spring 2008', 'Spring 2008 semester', '2008-04-01', '2008-09-30');
参考
http://groups.google.cl/group/sakai-dev/browse_thread/thread/7a5289978ed5fc55
http://article.gmane.org/gmane.comp.cms.sakai.user/1780
7.4 セクションカテゴリの設定
・Sakai2.5では科目を複数のグループに分割するセクションを有効にするためにSakai DBのテーブルにデータをセットする必要がある。
・具体的にはCM_SEC_CATEGORY_T にLecture、 Discussion、 Lab、 Studio、 Recitation を次の手順で設定する。
mysql -u root -p
Enter password: ******
mysql> use sakai;
mysql> insert into CM_SEC_CATEGORY_T values ('section.category.1.lecture','Lecture');
mysql> insert into CM_SEC_CATEGORY_T values ('section.category.2.discussion','Discussion');
mysql> insert into CM_SEC_CATEGORY_T values ('section.category.3.lab','Lab');
mysql> insert into CM_SEC_CATEGORY_T values ('section.category.4.studio','Studio');
mysql> insert into CM_SEC_CATEGORY_T values ('section.category.5.recitation','Recitation');
mysql> select * from CM_SEC_CATEGORY_T;
+---------------------------+--------+
| CAT_CODE | CAT_DESCR |
+---------------------------+--------+
| section.category.1.lecture | Lecture |
| section.category.2.discussion | Discussion |
| section.category.3.lab | Lab |
| section.category.4.studio | Studio |
| section.category.5.recitation | Recitation |
+---------------------------+--------+
5 rows in set (0.00 sec)
以上