20 Ocak 2014 Pazartesi

SAKAI KURULUM ADIMLARI (LINUX - UBUNTU)

Kurmadan önce özet geçmek gerekirse Sakai Uzaktan Eğitim Sistemini çalıştırmak için kurmamız ve yapmamız gerekenler şöyle;

  1. Java Kurulumu

  2. Tomcat Kurulumu ve Konfigürasyonu

  3. Mysql Kurulumu

  4. Mysql Connector Yükleme

  5. Maven Kurulumu ve Konfigürasyonu

  6. Subversion Kurulumu

  7. Sakai Database'ini oluşturma

  8. Sakai Yükleme ve Konfigürasyonu

  9. Derleme ve Deploy


1. Java

Eğer Open jdk varsa kaldırıyoruz.

sudo apt-get purge openjdk*

Daha sonra aşağıdaki adımları uygulayarak oracle java yı kuruyoruz.

sudo add-apt-repository ppa:eugenesan/java
sudo apt-get update
sudo apt-get install oracle-java7-installer


Ben bu aşamada şöyle bir hata almıştım;
Oracle JDK 7 is NOT installed.
dpkg: error processing oracle-java7-installer (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up lame (3.99.3+repack1-1) ...
Errors were encountered while processing:
oracle-java7-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)

Çözümünü araştırdım ve şu şekilde buldum;
sudo rm /var/lib/dpkg/info/oracle-java7-installer*
sudo apt-get purge oracle-java7-installer*
sudo rm /etc/apt/sources.list.d/*java*
sudo apt-get update
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

2. Tomcat

Uygun tomcat sürümünü indirmemiz gerekiyor. Son versiyonu burada mevcut;

http://tomcat.apache.org/download-70.cgi

Fakat benim deneyip çalıştırdığım sürüm 7.0.35 . Test edildi onaylandı ;)

Buradan indirebilirsiniz :  apache-tomcat-7.0.35.tar.gz

Şimdi tomcati sıkıştırılmış bir biçimde indirdiğimize göre açmamız gerekecek. Bunu şu şekilde yapabiliriz;


sudo tar zxvf home/.../Downloads/apache-tomcat-7.0.35.tar.gz /opt/tomcat



Bu komut ile Downloads içerisine indirmiş olduğumuz tomcat dosyasını opt içerisinde oluşturduğumuz tomcat dizinine açmış oluyoruz.

Şimdi tomcat üzerinde birkaç değişiklik yapmamız gerekiyor.
sudo gedit /opt/tomcat/bin/setenv.sh

komutuyla bin dizini altında setenv.sh dosyasını oluşturup açıyoruz ve içine aşağıdaki komutu yapıştırıyoruz.
export JAVA_OPTS="-server -Xmx1028m -XX:MaxPermSize=320m -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dsun.lang.ClassLoader.allowArraySyntax=true"

Şimdi de aşağıdaki işlemleri yapıyoruz.

Conf dizini içindeki catalina.properties dosyasını açıyoruz. Bu şekilde yapılabilir;
sudo gedit /opt/tomcat/conf/catalina.properties

Sonra;
“common.loader=…” ile başlayan satırın sonuna şu kodu ekliyoruz;

,${catalina.base}/common/classes/,${catalina.base}/common/lib/*.jar

“shared.loader=…” ile başlayan satıra şunu;

${catalina.base}/shared/classes/,${catalina.base}/shared/lib/*.jar

“server.loader=…” ile başlayan satıra

${catalina.base}/server/classes/,${catalina.base}/server/lib/*.jar

bu ifadeleri ekliyoruz. Ve tomcat dizinine gelip aşağıdaki şekilde gerekli klasörleri oluşturuyoruz.

mkdir -p shared/classes shared/lib common/classes common/lib server/classes server/lib

Şimdi tomcatin kullanıcı ayarlarını yapacağız. Kullanıcı türleri oluşturup bu türen kullanıcılar üretip şifrelerini vereceğiz.
sudo gedit /opt/tomcat/conf/tomcat-users.xml

komutu ile dosyayı açıyoruz ve aşağıdaki gibi düzenliyoruz. Bu kodların bir kısmı zaten yorum şeklinde dosyanın içinde mevcut yorumları kaldırıp düzenleyebiliriz.
<role rolename='tomcat'/>
<role rolename='admin-gui'/>
<role rolename='manager-gui'/>
<role rolename='role1'/>
<user password='tomcat' roles='tomcat,role1' username='both'/>
<user password='tomcat' roles='role1' username='role1'/>
<user password='tomcat' roles='admin-gui,manager-gui,manager,admin' username='tomcat'/>

Değişikliklerin kaydedilmesi için tomcati aşağıdaki komutlar ile yeniden başlatıyoruz;
sh /opt/tomcat/bin/shutdown.sh
sh /opt/tomcat/bin/startup.sh

3. Mysql

mysql --help komutu ile sistemde daha önceden mysql kurulu olup olmadığını kontrol edelim.
Eğer yoksa aşağıdaki komut ile mysql i sistemimize kuruyoruz.

Kurulum aşamasında şifre istendiğinde root şifresini "mysqlpwd1" olarak verebilirsiniz. Aşağıdaki adımlarda bu şifre ile konfigürasyon yapılacaktır.
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev

apache ve phpmyadmini de şu şekilde kuruyoruz;
sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert phpmyadmin

4. Connector

Mysql ile uygun olan connectorü indirip tomcate eklememiz gerekiyor. Bu linkten uygun versiyonu indirebiliriz. Ben 5.1.28 i indirmişim.

http://dev.mysql.com/downloads/connector/j/5.0.html

tar.gz dosyasını indirip bulunduğu yere açıyoruz. İçindeki mysql-connector-java-version.bin.jar dosyasını tomcat/common/lib e kopyalıyoruz.
sudo cp /home/../Downloads/mysql-connector-java-version/mysql-connector-java-version.bin.jar /opt/tomcat/common/lib

5. Maven

Maven2'yi sisteme kurmak için;



sudo apt-get install maven2




Kurulduktan sonra maven repository için bir dizin oluşturacağız. Home dizinine gidiyoruz

cd home/zeynep/



mkdir -p .m2/repository




.m2 klasörünün içine settings.xml adlı dosyayı oluşturuyoruz.



gedit .m2/settings.xml



Açılan dosyanın içine aşağıdakileri kopyalıyoruz;
<settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>tomcat7</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<appserver.id>tomcat7</appserver.id>
<appserver.home>/opt/tomcat</appserver.home>
<maven.tomcat.home>/opt/tomcat</maven.tomcat.home>
<sakai.appserver.home>/opt/tomcat</sakai.appserver.home>
<surefire.reportFormat>plain</surefire.reportFormat>
<surefire.useFile>false</surefire.useFile>
</properties>
</profile>
</profiles>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>proxy.uma.ac.za</host>
<port>80</port>
<username>dnsusername</username>
<password>pass</password>
<nonProxyHosts>localhost</nonProxyHosts>
</proxy>
</proxies>
</settings>

Localde kuracak olanlar proxies taginin olduğu kısmı kaldırabilirler. Ben localde kurduğum için o kısmı eklemedim.
6. Subversion

Subversion ile daha sonra sakai kaynak kodlarını indireceğiz. Kurmak için;

$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn


7. Database

Sakainin kullanacağı database'i oluşturmak için aşağıdaki adımları izliyoruz;(yukarda root şifresini mysqlpwd1 vermiştik.)

mysql -uroot -pmysqlpwd1
create database sakai default character set utf8;
grant all privileges on sakai.* to 'sakai'@'localhost' identified by 'ironchef';
flush privileges;
quit


8. Sakai yükleme ve Konfigürasyon

Önce /opt dizinine geliyoruz ve aşağıdaki komutla sakai kaynak kodlarını opt altında sakai klasörüne indiriyoruz.
svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-2.9.2/ sakai

Sakai için tomcat dizininde klasör oluşturuyoruz.
mkdir /opt/tomcat/sakai

Oluşturduğumuz yeni klasöre bir setting dosyası yapacağız bu dosyayı da sakainin kaynak kodlarının bulunduğu yerden kopyalayıp içinde düzenlemeler yapacağız
mv config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties /opt/tomcat/sakai/sakai.properties


Bu dosyanın içinde sakainin kullanacağı database ve bunun kullanıcı adı parolası gibi değerler tutuluyor. Bunları kendimize göre ayarlamamız gerekiyor.



sudo gedit /opt/tomcat/sakai/sakai.properties



 

Dosyayı yukardaki gibi açtıktan sonra içindeki DATABASE kısmını bulup bunun altındaki şu değerleri değiştireceğiz;

username@javax.sql.BaseDataSource=sakai

password@javax.sql.BaseDataSource=ironchef

(Bu değerleri sakai database ini oluştururken vermiştik.)

Bu dosyanın içinde ayrıca şu değişikliği de yapacağız. Sakai öntanımlı olarak HSQLDB kullanıyormuş biz bunu MYSQL e çevireceğiz.
Bunun için dosyanın içindeki Database kısmının altında HSQLDB yazan yerleri yorum satırı yapıp. MYSQL kısmındaki yorumları kaldırıyoruz.

Son hali şu şekil oluyor;
# The database username and password. The defaults are for the out-of-the-box HSQLDB.
# Change to match your setup. Do NOT enable access to your database without a password.
username@javax.sql.BaseDataSource=sakai
password@javax.sql.BaseDataSource=ironchef

# HSQLDB settings (DEFAULT)
#vendor@org.sakaiproject.db.api.SqlService=hsqldb
#driverClassName@javax.sql.BaseDataSource=org.hsqldb.jdbcDriver
#hibernate.dialect=org.hibernate.dialect.HSQLDialect
#validationQuery@javax.sql.BaseDataSource=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS
# Two hsqldb storage options: first for in-memory (no persistence between runs), second for disk based.
#url@javax.sql.BaseDataSource=jdbc:hsqldb:mem:sakai
#url@javax.sql.BaseDataSource=jdbc:hsqldb:file:${sakai.home}db/sakai.db

# MySQL settings
vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
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

 

9. Derleme ve Deploy

Şimdi tüm ayarlarımızı yapmış bulunuyoruz...
Bu aşamadan sonra derleme işlemine başlıyoruz
opt/sakai/master dizinine geliyoruz



mvn clean install




komutu ile öncelikle master projesini derlemiş olduk

Şimdi cd .. ile sakai dizinine geri dönelim ve aşağıdaki komutu çalıştırarak tüm kodların derlenmesini ve tomcate deploy edilmesini sağlayalım.



mvn clean install sakai:deploy -Dmaven.tomcat.home=/opt/tomcat -Dsakai.home=/opt/tomcat/sakai/



Bu aşama biraz zaman alabilir. İşlemin sonunda BUILD SUCCESS sonucunu aldıysanız artık çalıştırabilirsiniz.



sh /opt/tomcat/bin/shutdown.sh

sh /opt/tomcat/bin/startup.sh



komutları ile tomcat'i tekrar başlatalım.
Tomcat'in başlaması da biraz uzun sürebilir
3 4 dakika bekledikten sonra localhost:8080/portal adresinden Sakai uygulamasına ulaşmış olacaksınız.(inş ;) )

(localhost:8080/portal adresinden giremezseniz 127.0.0.1:8080/portal adresini de denemeyi unutmayın bu yüzden hata alanlar oluyormuş localleri farklıysa demekki )

Bir de sakai uygulaması açıldığında sisteme giriş yapmak için öntanımlı olarak kullanıcı adı ve şifre "admin" dir.

Hiç yorum yok:

Yorum Gönder