rubycas-server ve phpCAS kurulum ve testi

CAS Server Kurulumu

makineler

Gereksinimler

Gereksinimlerin Kurulması

Kolları sıvayalım.

  1. Önce ruby yi yükleyelim

    $ sudo apt-get install ruby1.8

  2. şimdi rubygems i yükleyelim

    $ sudo apt-get install rubygems

  3. LAMP (apache2 + php5 + mysql) kurulumu

     $ sudo apt-get install apache2 php5 mysql-server php5-mysql \
     libapache2-mod-php5 php5-gd mysql-client
    
    • kurulum sırasında mysql sunucu için verdiğimiz kullanıcı adı ve şifreyi not alalım (MYSQL_USER, MYSQL_PASSWORD)

    • [[mysql-db-olustur]] betiği yardımıyla dbnm=casserver, username=casserver, sunucu olarak localhost girin mysql username ve passwordünü istediğinde MYSQL_USER, MYSQL_PASSWORD ü girin. casserver databasi için uygun bir password seçin (CASSERVER_PASSWORD).

        casServer:~# ./bin/mysql-db-olustur 
        db ismi (ör. moodle) casserver
        'casserver' db kullanıcısı [casserver] casserver
        db sunucusu [localhost] localhost
        mysql yöneticisi [root] root
        mysql yönetici parolası 
        'casserver' db kullanıcı parolası 
        casServer:~#
      
    • mysql:users database inde users tablonu oluştur

       CREATE TABLE IF NOT EXISTS `casserver`.`users` (
         `username` varchar(25) NOT NULL,
         `password` varchar(25) NOT NULL,
         `encrypted_password` varchar(25) NOT NULL,
         `encryption_salt` varchar(255) NOT NULL,
         PRIMARY KEY (`username`)
       ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
      
    • yeni kullanıcı ekle

        phpmyadmin yardımıyla bir kullanıcı ekledim
        username:test
        password:test
      
  4. Database bağlantısı için ruby modülünü yükleyelim

     $ sudo apt-get install libmysql-ruby libmysqlclient-dev
     $ sudo apt-get install ruby1.8-dev
     $ sudo gem install mysql
    

debian için not: paket kurulumunda aşağıdaki hata mesajıyla karşılaştım

    # apt-get install libmysqlclient-dev 
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
      libmysqlclient-dev: Depends: libmysqlclient16 (= 5.1.47-1~bpo50+1) but it is not going to be installed
    E: Broken packages
    casServer:~# 

O yüzden apt-get install libmysqlclient15off libmysqlclient15-dev paketleriyle devam kararı aldım.

gem install mysql kurulumunda make: command not found problemiyle karşılaşınca

    $ apt-get install build-essential zlib1g-dev libssl-dev libreadline5-dev
  1. SSL

     $ sudo apt-get install libopenssl-ruby1.8
    
  2. diğer

  3. emin olmamakla birlikte aşağıdaki paketler sanırım gerekecek

      $ sudo apt-get install ri
      $ sudo apt-get install libapache2-mod-passenger apache2-mpm-worker
    
  4. db bağlantısında sqlite3 kullanmak istersen

      $ sudo apt-get install sqlite3 libsqlite3-dev 
      $ sudo gem install sqlite3-ruby
    

CAS Server Kurulumu

  1. gem yardımıyla kurulumu gerçekleştirelim

     $ sudo gem install activesupport
     $ sudo gem install rubycas-server
    
  2. kılavuzda /usr/bin/rubycas-server yardımıyla sunucuyu başlatacağımız söyleniyor FAKAT bu yolda her hangi bir dosya bulunamadı. Araştırıldığında sudo /var/lib/gems/1.8/bin/rubycas-server dizininde çalıştırılabilir bir dosya bulundu. Bulunan sunucu dosyası çalıştırıldı. ayar yapılmadığında

      "RUBYCAS-SERVER SERVER HAS NOT YET BEEN CONFIGURED!!!"
    

benzeri bir uyarı/hata mesajı alabilirsiniz.

  1. Daha önce indirmiş olduğumuz sertifika dosyasını (*.pem), /etc/rubycas-server/test.pem olarak kaydediyoruz.

  2. ilk sunucunun çalıştırılması sırasında /etc/rubycas-server/config.yml dizininde bir configurasyon dosyası oluşturuluyor.

  3. config.yml dosyasında

     server: webrick
     port: 1236
     ssl_cert: /etc/rubycas-server/test.pem
    
  4. DB ayarı

     database:
       adapter: mysql
       database: casserver
       username: casserver
       password: CASSERVER_PASSWORD  # FIXME
       host: localhost
    
  5. authenticatoru ayarla

     authenticator:
       class: CASServer::Authenticators::SQL
       database:
         adapter: mysql
         database: casserver
         username: casserver
         password: CASSERVER_PASSWORD # FIXME
         host: localhost
       user_table: users
       username_column: username
       password_column: password
     #  encrypt_function:  'user.encrypted_password == Digest::SHA256.hexdigest("#{user.encryption_salt}::#{@password}")'
    
  6. nihayi dosya: [[config.yml]].

  7. tekrar sunucuyu çalıştıralım:/var/lib/gems/1.8/bin/rubycas-server

     "[2010-06-30 14:49:54] INFO  WEBrick::HTTPServer#start: pid=9943 port=1236"
    

benzeri bir mesaj aldıysanız her şey yolundadır.

Test Sürüşü

CAS Client Kurulum ve Testi

Gereksinimlerin Kurulması

    $ sudo apt-get install php5-curl
    $ sudo apt-get install php-db php-pear

phpCAS indir, kur ve test et

satırını

    phpCAS::client(CAS_VERSION_2_0,'192.168.140.170',1236,'');

olarak değiştir.

GitHub'dayım