Web Servisler uygulamalar tarafından kullanılan metodların bir sunucu üzerinde çalıştırılıp değer döndürmesini sağlayan yapılardır. Böylece farklı uygulamalarda veya farklı teknolojilerle kullanabileceğimiz metodları bir kere yazıp platformdan bağımsız bir şekilde çalıştırabiliriz.
Web servis mimarisinin temeli HTTP üzerine kurulmuştur. Yani genel olarak web servise bir istek gelir ve web servis bu isteği yapıp bir sonuç döndürür. Web servisin bu işlemi yapabilmesi için tanımlanmış farklı yöntemler bulunmaktadır. Bu yazıda bahsedilecek olan yapılardan biri SOAP protokolü diğeri ise REST’dir.
SOAP (Simple Object Access Protocol) uygulamalar ile web servislerin bilgi aktarımını sağlayan XML tabanlı bir protokoldür. Yani web servise giden bilgi XML olarak gönderilir, web servis bu bilgiyi yorumlar ve sonucunu XML olarak geri döndürür. SOAP tabanlı bir web servisin, gönderilen XML verisini nasıl yorumlayacağının tanımlanması gerekir. Bu web servis tanımlaması WSDL standardı ile yapılır.
REST mimarisinde ise işlemler resource kavramıyla yapılır. Resource URI ile tanımlanır ve bir metod tanımlaması veya bir değişken olabilir. Yani REST’te SOAP’ta olduğu gibi XML yardımıyla metodlar çağırılmaz bunun yerine o metodu çağıracak URIler ile web servise HTTP protokolüyle istek yapılır. Böylece REST için WSDL gibi bir tanımlama diline ihtiyaç kalmaz işlemler tamamen HTTP metodları üzerinden yapılır. Örneğin, bir web servisin metodunu SOAP ile “getProductName” şeklinde çağırırken REST ile “/products/name/1″ URI’si ile çağırabiliriz. Ayrıca RESTin döndürdüğü veri tipinin de XML olması zorunlu değildir JSON, XML, TXT, HTML gibi istenen veri türünde değer döndürülebilir.
Yazının devamı;
SOAP ile REST Web Servislerinin Farkları
25 Aralık 2014 Perşembe
Sakai'ye Yeni Modül Eklemek
Sakai Uzaktan Eğitim Sistemini Kullanırken yeni araçlara ihtiyaç duyabiliriz. Bu araçları sisteme eklemek için aşağıdaki yöntemi deneyebilirsiniz;
Sakai Source klasörünün bulunduğu dizine "contribs" adında yeni bir dizin oluşturulur ve yeni modülün kaynak kodu buraya indirilir.
Sakai için yazılmış olan modülleri "https://source.sakaiproject.org/contrib/" adresinden indirebilirsiniz.
Daha sonra maven ile derleyip
Kaynak kodunu indirip derlediğimiz modülü Sakai'de bir siteye eklemek içinse;
eklemek istediğimiz site seçilir,
"tools" sekmesine girilip yukarda görünen "New Tool" butonu ile gelen liste içinde eklediğimiz Tool bulunur ve işaretlenir.
Böylece Sakai'de kullanmak üzere yeni bir aracı; kaynak kodlarını indirip, derleyip, Tomcate deploy ettikten sonra siteye eklemiş olduk.
Eklediğimiz Tool için bir de configurasyon yapmamız gerekebilir. Bu configurasyonlar genelde indirdiğiniz kaynak kodun içinde readme dosyalarında bulunuyor.
Sakai Source klasörünün bulunduğu dizine "contribs" adında yeni bir dizin oluşturulur ve yeni modülün kaynak kodu buraya indirilir.
Sakai için yazılmış olan modülleri "https://source.sakaiproject.org/contrib/" adresinden indirebilirsiniz.
Daha sonra maven ile derleyip
mvn -Dtomcathome = "" sakai:deploy komutu ile Tomcat'in bulunduğu yere deploy etmemiz gerekiyor.Kaynak kodunu indirip derlediğimiz modülü Sakai'de bir siteye eklemek içinse;
eklemek istediğimiz site seçilir,
"tools" sekmesine girilip yukarda görünen "New Tool" butonu ile gelen liste içinde eklediğimiz Tool bulunur ve işaretlenir.
Böylece Sakai'de kullanmak üzere yeni bir aracı; kaynak kodlarını indirip, derleyip, Tomcate deploy ettikten sonra siteye eklemiş olduk.
Eklediğimiz Tool için bir de configurasyon yapmamız gerekebilir. Bu configurasyonlar genelde indirdiğiniz kaynak kodun içinde readme dosyalarında bulunuyor.
MYSQL Parolası Değiştirme
Linux işletim sisteminde Mysql root parolasını / şifresini unuttum ne yapmalıyım diyorsanız aşağıdaki komutu kullanarak root kullanıcınız için yeni bir parola belirleyebilirsiniz.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yeni_parola');
6 Aralık 2014 Cumartesi
PHP Fat Free Framework'ü Apache'de Subfolder'da kurmak için örnek .htaccess Dosyası
# Enable rewrite engine and route requests to framework
RewriteEngine On
# Some servers require you to specify the `RewriteBase` directive
# In such cases, it should be the path (relative to the document root)
# containing this .htaccess file
#
RewriteBase /dizin_ismi/
RewriteRule ^(lib|tmp)\/|\.(ini|php)$ - [R=404]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /dizin_ismi/ [L,QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Etiketler:
.htaccess,
apache,
configuration,
f3,
fat free,
Fat Free Framework,
konfigürasyon,
OOP,
PHP,
subfolder,
Yazılım
18 Mart 2014 Salı
Design Patterns (Tasarım Şablonları) nedir?
Merhaba arkadaşlar,
Bugünden itibaren Nesne Tabanlı Programlamada işleri yarı yarıya kolaylaştıran, daha önceden karşılaşılan problemler üzerinde kafa yorularak taslak haline getirilmiş yapılar olan Tasarım Şablonları (Design Patterns) yazı dizisine başlıyoruz. Hepimize hayırlı olsun :)
Design Patterns Nedir?
Yukarıda da bahsettiğim gibi Design Patterns sıklıkla karşılaşılan problemlere genel çözümler bulmak için oluşturulmuş yapılardır ve tecrübelere dayanır. Bu yüzden sağlam bir yapı oluşturmak için kullanılması tavsiye edilir.
Oluşturmak istediğimiz hemen her dizayn için bir design pattern bulabiliriz veya birkaç patterni birleştirerek problemimize daha uygun yapılar elde edebiliriz. Yapmamız gereken şey sadece hangi şablon ya da şablonların problemimize daha uygun olduğuna karar vermek olacaktır.
Tasarım şablonlarının kullanımında Nesne Tabanlı Programlamanın birçok özelliği kullanılır bu yüzden tasarım şablonlarını daha rahat kavramak için coupling ve cohesion, inheritence, interface, polymorphism gibi konulara hakim olmanız önerilir.
Tasarım şablonları birkaç alt başlık altında incelenir. Bunlar;
Creational ; objelerin oluşturulması ile ilgili tasarımlar,
Structural ; yazılımın genel yapısını kolaylaştıran tasarımlar,
Behavioral ; objelerin birbirleri ile ilişkilerini ve davranışlarını düzenleyen tasarımlar.
Toplamda yaklaşık 25 tasarım şablonu bulunmaktadır. En çok kullanılanlar ve benim bahsedeceklerim şimdilik aşağıdakiler;
1- Strategy pattern (Behavioral)
2-Observer Pattern (Behavioral)
3- Decorator Pattern (Structural)
4-Factory Pattern (Creational)
5-Singleton Pattern (Creational)
6-Command (Behavioral)
7-Adapter (Structural)
8-Facade (Structural)
9-Template (Behavioral)
10-Iterator(Behavioral)
11-Composite (Structural)
12-State (Behavioral)
13-Compound (Patternlerin birlikte kullanılması)
Design Patterns konusuna geçmeden önce ileride çok kullanacağımız ve bu konuyu daha rahat anlamamızı sağlayacak bir yapıdan bahsetmek gerek diye düşündüm ve UML'den biraz bahsetmek istedim.
UML nedir?
UML (Unified Modeling Language), objelerin tasarımı aşamasında kullanılan bir dildir. Objeleri şekillerle ifade ederek object oriented dizaynımızı daha rahat oluşturmamıza ve oluşturduğumuz yapıların başkaları tarafından kolayca anlaşılmasına olanak sağlar. Bir classın UML ile gösterimi aşağıdaki gibidir;

En başta class adı, daha sonra sınıfa ait değişkenler, son olarak da classın metodları gösterilir. UML'de kullanılan " - " simgesi değişkenin private olduğunu, "+" simgesi public olduğunu, "#" ise protected olduğunu gösterir. Değişkenler için önce değişkenin ismi, ":" simgesi ve daha sonra değişkenin tipi belirtilir. Metodlarda ise, metod adı, parantez içinde metodun parametreleri (parametrenin adı : parametre tipi) şeklinde belirtilir.
Sonuç olarak, bir Uml diyagramına baktığımızda, bu classın kodlarını istediğimiz dilde yazabiliriz. Hatta Uml'den koda dönüştüren araçlar da mevcuttur.
Bu şekildeki UML'i aşağıda linkini verdiğim aracı kullanarak oluşturdum.
http://staruml.sourceforge.net/en/
Bir sonraki yazıda Strategy Pattern'i anlatmaya çalışacağım. Herkese kolay gelsin...
Bugünden itibaren Nesne Tabanlı Programlamada işleri yarı yarıya kolaylaştıran, daha önceden karşılaşılan problemler üzerinde kafa yorularak taslak haline getirilmiş yapılar olan Tasarım Şablonları (Design Patterns) yazı dizisine başlıyoruz. Hepimize hayırlı olsun :)
Design Patterns Nedir?
Yukarıda da bahsettiğim gibi Design Patterns sıklıkla karşılaşılan problemlere genel çözümler bulmak için oluşturulmuş yapılardır ve tecrübelere dayanır. Bu yüzden sağlam bir yapı oluşturmak için kullanılması tavsiye edilir.
Oluşturmak istediğimiz hemen her dizayn için bir design pattern bulabiliriz veya birkaç patterni birleştirerek problemimize daha uygun yapılar elde edebiliriz. Yapmamız gereken şey sadece hangi şablon ya da şablonların problemimize daha uygun olduğuna karar vermek olacaktır.
Tasarım şablonlarının kullanımında Nesne Tabanlı Programlamanın birçok özelliği kullanılır bu yüzden tasarım şablonlarını daha rahat kavramak için coupling ve cohesion, inheritence, interface, polymorphism gibi konulara hakim olmanız önerilir.
Tasarım şablonları birkaç alt başlık altında incelenir. Bunlar;
Creational ; objelerin oluşturulması ile ilgili tasarımlar,
Structural ; yazılımın genel yapısını kolaylaştıran tasarımlar,
Behavioral ; objelerin birbirleri ile ilişkilerini ve davranışlarını düzenleyen tasarımlar.
Toplamda yaklaşık 25 tasarım şablonu bulunmaktadır. En çok kullanılanlar ve benim bahsedeceklerim şimdilik aşağıdakiler;
1- Strategy pattern (Behavioral)
2-Observer Pattern (Behavioral)
3- Decorator Pattern (Structural)
4-Factory Pattern (Creational)
5-Singleton Pattern (Creational)
6-Command (Behavioral)
7-Adapter (Structural)
8-Facade (Structural)
9-Template (Behavioral)
10-Iterator(Behavioral)
11-Composite (Structural)
12-State (Behavioral)
13-Compound (Patternlerin birlikte kullanılması)
Design Patterns konusuna geçmeden önce ileride çok kullanacağımız ve bu konuyu daha rahat anlamamızı sağlayacak bir yapıdan bahsetmek gerek diye düşündüm ve UML'den biraz bahsetmek istedim.
UML nedir?
UML (Unified Modeling Language), objelerin tasarımı aşamasında kullanılan bir dildir. Objeleri şekillerle ifade ederek object oriented dizaynımızı daha rahat oluşturmamıza ve oluşturduğumuz yapıların başkaları tarafından kolayca anlaşılmasına olanak sağlar. Bir classın UML ile gösterimi aşağıdaki gibidir;
En başta class adı, daha sonra sınıfa ait değişkenler, son olarak da classın metodları gösterilir. UML'de kullanılan " - " simgesi değişkenin private olduğunu, "+" simgesi public olduğunu, "#" ise protected olduğunu gösterir. Değişkenler için önce değişkenin ismi, ":" simgesi ve daha sonra değişkenin tipi belirtilir. Metodlarda ise, metod adı, parantez içinde metodun parametreleri (parametrenin adı : parametre tipi) şeklinde belirtilir.
Sonuç olarak, bir Uml diyagramına baktığımızda, bu classın kodlarını istediğimiz dilde yazabiliriz. Hatta Uml'den koda dönüştüren araçlar da mevcuttur.
Bu şekildeki UML'i aşağıda linkini verdiğim aracı kullanarak oluşturdum.
http://staruml.sourceforge.net/en/
Bir sonraki yazıda Strategy Pattern'i anlatmaya çalışacağım. Herkese kolay gelsin...
Etiketler:
Design,
Design Patterns,
Genel,
OOP,
Pattern,
Tasarım Şablonları,
UML,
uml nedir,
Yazılım
14 Mart 2014 Cuma
Android - R cannot be resolved to a varIable hatası
Geçenlerde Android ile birşeyler yapayım dedim Linux 64 bit sistemime ADT kurdum. Fakat bir de baktım ki yeni oluşturduğum projelerde "R cannot be resolved a variable" hatasını alıyorum. kütüphane ekle çıkart derken internette bu aşağıdaki komutu buldum denedim ve artık düzgün çalışıyor.
Eğer siz de 64-bit Ubuntu kullanıyorsanız ia32-libs 'i aşağıdaki gibi sisteminize kurduğunuzda "R cannot be resolved a variable" hatasını almayacaksınızdır herhalde...
sudo apt-get install ia32-libs20 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
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;
Çözümünü araştırdım ve şu şekilde buldum;
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;
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.
komutuyla bin dizini altında setenv.sh dosyasını oluşturup açıyoruz ve içine aşağıdaki komutu yapıştırıyoruz.
Şimdi de aşağıdaki işlemleri yapıyoruz.
Conf dizini içindeki catalina.properties dosyasını açıyoruz. Bu şekilde yapılabilir;
Sonra;
Şimdi tomcatin kullanıcı ayarlarını yapacağız. Kullanıcı türleri oluşturup bu türen kullanıcılar üretip şifrelerini vereceğiz.
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.
Değişikliklerin kaydedilmesi için tomcati aşağıdaki komutlar ile yeniden başlatıyoruz;
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.
apache ve phpmyadmini de şu şekilde kuruyoruz;
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.
5. Maven
Maven2'yi sisteme kurmak için;
Kurulduktan sonra maven repository için bir dizin oluşturacağız. Home dizinine gidiyoruz
cd home/zeynep/
.m2 klasörünün içine settings.xml adlı dosyayı oluşturuyoruz.
Açılan dosyanın içine aşağıdakileri kopyalıyoruz;
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;
7. Database
Sakainin kullanacağı database'i oluşturmak için aşağıdaki adımları izliyoruz;(yukarda root şifresini mysqlpwd1 vermiştik.)
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.
Sakai için tomcat dizininde klasör oluşturuyoruz.
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
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.
Dosyayı yukardaki gibi açtıktan sonra içindeki DATABASE kısmını bulup bunun altındaki şu değerleri değiştireceğiz;
(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;
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
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.
Bu aşama biraz zaman alabilir. İşlemin sonunda BUILD SUCCESS sonucunu aldıysanız artık çalıştırabilirsiniz.
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.
- Java Kurulumu
- Tomcat Kurulumu ve Konfigürasyonu
- Mysql Kurulumu
- Mysql Connector Yükleme
- Maven Kurulumu ve Konfigürasyonu
- Subversion Kurulumu
- Sakai Database'ini oluşturma
- Sakai Yükleme ve Konfigürasyonu
- 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.sh3. 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=sakaipassword@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.
17 Ocak 2014 Cuma
Specıal Mücver Tarifi
Bu mücver sizin bildiğiniz mücverlerden değil.. Zaten "mücver mi?" diye soracak olursak o konuda benim de şüphelerim var ama güzel bişey oldu sonuçta...
Evde rendelenmiş havuç kabak ve mısır karışık halde bulunuyordu ne yapsam ne etsem derken bunu buldum..
(Bi evde neden rendelenmiş havuç kabak ve mısır karışık halde bulunur derseniz Sütlü mısır çorbası tarifine bakınız... )

MALZEMELER
-1 kabak
-1 havuç
-Konserve mısır
-Tuz,karabiber
-2 Yumurta
-Un
-Kızartmak için yağ
-İstenirse dereotu da katılabilir
YAPILIŞI
Evde rendelenmiş havuç kabak ve mısır karışık halde bulunuyordu ne yapsam ne etsem derken bunu buldum..
(Bi evde neden rendelenmiş havuç kabak ve mısır karışık halde bulunur derseniz Sütlü mısır çorbası tarifine bakınız... )
MALZEMELER
-1 kabak
-1 havuç
-Konserve mısır
-Tuz,karabiber
-2 Yumurta
-Un
-Kızartmak için yağ
-İstenirse dereotu da katılabilir
YAPILIŞI
- Kabak ve havuç rendelenir.
- Yağ hariç tüm malzemeler karıştırılır, bulamaç haline getirilir
- Daha sonra geniş bir tavaya kaşık kaşık konarak kızartılır.
Dereotlu Peynirli Muffin Tarifi
Malzemeler
-3 yumurta
-1 çay bardağı sıvıyağ
-2 kaşık yoğurt
-1 paket kabartma tozu
-8 10 kaşık un
-Beyaz peynir ve kaşar
-Dereotu
-Tuz
Yapılışı :
- Yumurta ve toz şeker karıştırma kabına alınır. ve 2 3 dakika çırpılır (köpük köpük olana kadar)
- İçine yağ yoğurt ve tuz eklenir, karıştırılır.
- Un ve kabartma tozu karıştırılıp karışıma eklenir.
- İçine peynir, isteğe bağlı kaşar peyniri ve dereotu katılır.
- Kalıpların yarısına kadar dökülerek 240 derecelik fırına verilir. Yaklaşık yarım saatte pişer.
Muffin Tarifi ( Resimli )
Merhaba bu tarifler hep lazım oluyodu bulamıyodum artık yaptıklarımı halka arz etmek istedim çok mühim tarifler çünkü :P
(Resimli) ibaresi önemli bişey galiba heryerde yazıyodu benim neyim eksik diyerekten ben de yazdım.
Bi de bu tarifin tuzlu (dereotlu peynirli) olanı da var tarifi için hobilerim -> yemek tarifleri bölümüne bakabilirsiniz.

Muffin Tarifi
-3 yumurta
-1 su bardağı toz şeker
-1 çay bardağı sıvıyağ
-1 buçuk çay bardağı süt
-1 paket şekerli vanilin
-1 paket kabartma tozu
-8 10 kaşık un
Yapılışı :
(Resimli) ibaresi önemli bişey galiba heryerde yazıyodu benim neyim eksik diyerekten ben de yazdım.
Bi de bu tarifin tuzlu (dereotlu peynirli) olanı da var tarifi için hobilerim -> yemek tarifleri bölümüne bakabilirsiniz.
Muffin Tarifi
-3 yumurta
-1 su bardağı toz şeker
-1 çay bardağı sıvıyağ
-1 buçuk çay bardağı süt
-1 paket şekerli vanilin
-1 paket kabartma tozu
-8 10 kaşık un
Yapılışı :
- Yumurta ve toz şeker karıştırma kabına alınır. ve 2 3 dakika çırpılır (köpük köpük olana kadar)
- İçine yağ süt ve vanilin eklenir, karıştırılır.
- Un ve kabartma tozu karıştırılıp karışıma eklenir.
- İçine isteğe göre damla çikolata, fındık, ceviz, hindistan cevizi v.b. katılır.
- Kalıpların yarısına kadar dökülerek 240 derecelik fırına verilir. 20 adet civarı çıkıyor. Yaklaşık yarım saatte pişer.
- Çıktıktan sonra üzeri de süslenebilir. Bu kısım hayal gücüne kalmış.
Bunun gibi :)
Kaydol:
Yorumlar (Atom)