Konfigurasi CAS Server 3.3.3 dengan MySQL pada Ubuntu

Wee udah lama ngga ngeblog berbulan bulan. hahaha.. emank angin”nan sih yaa. Jadi begini beberapa minggu yang lalu ane iseng” mempelajari Single Sign On nah pada Single Sign On ini menggunakan CAS . CAS merupakan sistem autentikasi yang dibuat oleh Yale University. Ngga usah lama yakk. Udah pada tau kan MySQL itu apa dan buat apa? hehehe.. Yuukk langsung pantengin step step di bawah. Eh, kalau ada yang salah penulisannya mohon koreksinyaa..

Environment :  Ubuntu Desktop 12.04

Instal dulu Tomcat Server yakk :

apt-get update
apt-get install tomcat6

Install openjdk6

apt-get install openjdk-6-jdk

Install maven2

apt-get install maven2

Maven2 ini untuk mengubah project web menjadi .war

Install MySQL Server

apt-get -y install mysql-server

Ketika instalasi mysql server Anda diminta memasukkan password untuk user “root”

Kemudian buat database dulu yaa

mysql -u root -p
Enter password :

Masukkan password yang dibuat pada saat instalasi mysql server. Setelah berubah menjadi prompt mysql>

Masukkan script sql dibawah ini

CREATE DATABASE db_users;
USE DATABASES db_users;
CREATE TABLE tbl_users (username char(20) PRIMARY KEY NOT NULL, password char(64));
GRANT SELECT,UPDATE ON users TO 'sysmin'@'localhost' IDENTIFIED BY 'sysmin1234';
INSERT INTO users(username, password) VALUES ('halocas',MD5('halocas123'));

Download mysql connector

cd /usr/src/
wget http://downloads.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.24.tar.gz
tar xvzf mysql-connector-java-5.1.24.tar.gz

setelah diekstrak mysql connectornya, kemudian download file cas server. Pada kasus ini menggunakan cas server 3.3.3

wget http://www.ja-sig.org/downloads/cas/cas-server-3.3.3-release.tar.gz
tar xvzf cas-server-3.3.3-release.tar.gz

Kemudian pindah ke folder cas-server-3.3.3/cas-server-webapp

cd cas-server-3.3.3/cas-server-webapp

Edit file pom.xml

nano pom.xml

Masukkan script dibawah ini setelah tag <dependencies> sebelum tag </dependencies>

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>cas-server-support-jdbc</artifactId>
  <version>${project.version}</version>
</dependency>
<dependency>
  <groupId>commons-dbcp</groupId>
  <artifactId>commons-dbcp</artifactId>
  <version>1.2.1</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.24-bin</version> <!-- <strong>Ganti Dengan versi mysql-connector yang anda gunakan</strong> -->
  <scope>provided</scope>
</dependency>

Setelah disave kemudian kita akan membuat dalam bentuk .war

mvn package install

Jika terdapat error seperti dibawah ini

Missing:
----------
1) mysql:mysql-connector-java:jar:5.1.24-bin

Try downloading the file manually from the project website.

Then, install it using the command:
mvn install:install-file -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.24-bin -Dpackaging=jar -Dfile=/path/to/file

Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.24-bin -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

Path to dependency:
1) org.jasig.cas:cas-server-webapp:war:3.3.3
2) mysql:mysql-connector-java:jar:5.1.24-bin

Itu artinya mysql-connector kita belum terinstall, maka masukkan command seperti dibawah ini

mvn install:install-file -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.8-bin -Dpackaging=jar -Dfile=../../mysql-connector-java-5.1.24/mysql-connector-java-5.1.24-bin.jar
mvn package install

Setelah tidak ada error lagi copy cas.war ke webapps pada server tomcat6

cp target/cas.war /var/lib/tomcat6/webapps/

Restart server tomcat sebelum mengakses cas server tersebut

service tomcat6 restart

Akses http://localhost:8080/cas, jika berhasil kita lanjut ke tahap selanjutnya.

Pada langkah ini kita akan menghubungkan cas server dengan data yang ada pada MySQL. Copy kan dulu mysql-connector-java-5.1.24-bin.jar ke library cas

cd /usr/src/
cd mysql-connector-java-5.1.24/
cp mysql-connector-java-5.1.24-bin.jar /var/lib/tomcat6/webapps/cas/WEB-INF/lib/

Kemudian edit file deployerConfigContext.xml

cd /var/lib/tomcat6/webapps/cas/WEB-INF/
nano deployerConfigContext.xml

Cari script di bawah ini

<bean   
      class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

Dengan script dibawah ini

<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler">
  <property  name="tableUsers">
    <value>tbl_users</value>
  </property>
  <property name="fieldUser">
    <value>username</value>
  </property>
  <property name="fieldPassword">
    <value>password</value>
  </property>
  <property name="passwordEncoder">
        <bean class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
          <constructor-arg value="MD5" />
        </bean>
  </property>
  <property name="dataSource" ref="dataSource" />
</bean>

Setelah tag berikut

</list>
                </property>
        </bean>

Masukkan script di bawah ini

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName">
    <value>com.mysql.jdbc.Driver</value>
  </property>
  <property name="url">
    <value>jdbc:mysql://localhost:3306/db_users</value> <!-- sesuaikan dengan nama database -->
  </property>
  <property name="username">
    <value>sysmin</value> <!-- isi dengan username sysadmin sesuai dengan konfigurasi mysql sebelumnya -->
  </property>
  <property name="password">
    <value>sysmin123</value> <!-- sesuaikan dengan password user sysadmin -->
  </property>
</bean>

Konfigurasi cas server telah selesai.. kemudian restart tomcat server

service tomcat6 restart

Untuk mengoptimalkan penggunaan cas sebaiknya menggunakan SSL pada tomcat server. Untuk konfigurasi SSL pada tomcat menyusul yaakkk… Terima kasih..

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments