Bu makalemizde aslında bir çoklarımız için gerekli olabilecek, istenilebilecek bir ürünün incelemesini yapacağız. Bu ürün şirket içerisindeki ekip arkadaşlarımızın online mesajlaşmasını sağlıyacak olan Openfire isimli bir mesajlaşma sunucusudur. Bizler bu makalemiz ile birlikte bu ürünün kurulumu, veritabanın MSSQL de tutulması ve yapılan mesajlaşma kayıtlarının loglanması işlemlerini ele alacağız. Kısaca Openfire isimli ürünümüzden de bahsedecek olur isek özetle şirket içi mesajlaşmada kullanılabilecek işlevsel ve kaliteli bir mesajlaşma sunucusudur diyebiliriz. Java ile yazılmış bu ürün bir çok Plugin’i ile birlikte sadece mesajlaşma dışında da becerilere sahip bir üründür. Fakat biz bu makalemizde şuan sadece mesajlaşma fonksiyonu üzerinde duracağız.

İsterseniz yavaş yavaş kurulum aşamasına geçelim.

Baştada belirttiğimiz gibi ürünümüz Java ile yazılmış bir ürün olması sebebiyle çalışacağı platform üzerinde Java yüklenilmiş olmasını şart koşmaktadır. Bununla birlikte dataları harici bir veritabanında tutmak istiyorsanız ki bizler makalemizde bunu yapacağız bir veritabanı sunucusuna ihtiyacınız vardır. Bizler makalemizde gayet başarılı bir veritabanı sunucusu olan Microsfot ürün ailesinden MSSQL i kullanacağız. sizler eğer yapınızda farklı bir veritabanı sunucusu çalıştırıyor iseniz bunu kullanabilirsiniz. Ürünün Mysql ve Oracle veritabanları içinde desteği mevcut. Kendisinin gömülü bir veritabanıda mevcut fakat pek tabiki büyük yapılar veya mesaj loglamak için son derece yetersiz. O yüzden bu işlemler için en sağlıklı işlem olan veritabanını farklı bir DB tutmayı tercih ediyoruz.

Java ile ilgili temel gereksinimi karşılıyor isek ürünü download ederek kuruluma başlıyabiliriz.

Ben ürünün 3.7.0 sürümünü kullanacağım, bu sürüm henüz beta aşamasında fakat betası sorunlu bir ürün değil. 3.6.4 sürümünün bugları giderilmiş bir sürümü olduğu için bu betayı tercih ettim. Bu yinede bir tercih meselesi olup dileyenler 3.6.4 sürümünü de aynı şekilde kurup kullanabilirler.

Openfire 3.7.0 sürümünü link e tıklayarak indirebilirsiniz.

Eğer ürünü indirdi iseniz şimdi kurulum adımlarına geçebiliriz. Önceki Exchange makalemde olduğu gibi bu makalemde de tüm işlemleri adım adım anlatıp, ürünü ilk kez tanıyanların bile kolayca kurabileceği bir şekilde anlatacağım, bu tarz makalelerde anlatımları bu şekilde yapmaya özen göstereceğim. Bu arada resimlerin büyük halleri görmek için üzerine tıklayınız lütfen.

1. Adım) İndirdiğimiz dosyayı açalım. Dil seçeneği olarak ben İngilizce’yi seçiyorum, ürünün Türkçe dil desteği ise yok.

01

2. Adım) Next ile devam ediyoruz.

02

3. Adım) Lisans sözleşmesini kabul ederek kurulum işlemlerine devam ediyoruz.

03

4. Adım) Kurulum yapılacağı dizin. İster iseniz bu dizini değiştirebilirsiniz. Ben Defalut şekilde bırakıyor ve devam ediyorum.

04

5. Adım) Diğer pencereleri Next, Next diyerek geçip kurulumu sonlandırıyorum. Görüdüğünüz gibi gayet basit bir kurulumu var ürünün, normal bir program kuruyormuşcasına kurduk ürünü, şimdi ise iş asıl yapılması gereklere geldi. Bir çok kişi zaten ürünün kurulumuyla ilgili değil; konfigürasyonu ile ilgili sıkıntı yaşamaktadır. Bir çok kişi ürünün ya harici veritabanı bağlantısı ayarlarında yada Active Directory ile entegresinde sıkıntı yaşıyor. Bizlerde bu makalede zaten bu ayarların nasıl sorunsuzca yapılacağından bahsediyor olacağız. Şimdi bu bahsettiğimiz ayarların yapılabilemesi için Run Openfire kutucuğunu işaretleyip, Finish’e tıklayarak ürün kurulumunu başarılı bir şekilde sonlandıralım.

07

6. Adım) Launch Admin diyoruz ve ürünü konfigüre etmeye başlıyoruz. Launch Admin dediğimizde ayarları yapabilmemiz için var sayılan tarayıcımız açılacak. Ayarlarımızı web browserımız üzerinden yapacağız.

08

7. Adım) Yönetim paneli dilini seçiyoruz. İngilizce’yi seçiyorum ben.

09

8. Adım) Evet artık ayarları yapılandırmaya geçmiş bulunmaktayız. Server Settings kısmından Openfire sunucu ayarlarını yapılandıracağız. Burada sunucu ismi olarak Openfire’ın kurulu olduğu sunucunun FQDN adını giriyoruz. Portları ise eğer bir başka uygulama tafaından kullanmıyor ise varsayılanda bırakabilir veya daha farklı portlar belirtebilirsiniz. Ben varsayılan portları bu şekilde bırakıyorum. Fakat yinede tavsiyem 9090 portunu değiştirmeniz olacaktır zira 9090 portu size çalışması için port değişikliği olanağı vermeyen bir başka uygulama tarafından kulanılabilir. Çünkü 9090 portu bazı uygulamar tarafından da sıkça kullanılmakta.

10

9. Adım) Bu adım önemli. Bu adımda Openfire mesajlaşma sunucusunun veritabanın harici bir veritabanı sunucusundamı yoksa kendisiyle birlikte gelen veritabanındamı tutacağız bunu seçmemiz gerekiyor. Ürünün kendi veirtabanı hem performans açısından tatmin ediciği değil hemde bizim yapmak istediğimiz işlemler için yertsiz. O yüzden Standart Database Connection’ı seçiyor ve Continue diyerek devam ediyoruz.

12

10. Adım) Bu adımda Openfire için kullanmayı planladığımız veritabanı türünü seçeceğiz. Makalemizin konularından biriside zaten buydu. Baştada belirttiğimiz gibi bizler ürün için Microsoft firmasının veritabanı yazılımı olan MSSQL i kullacağız, ben yapımdaki diğer ürünler içinde bu veritabanını kullanmaktayım. Dolaysıyla ek veya farklı bir veritabanı uygulamasına ihtiyacım yok. İsterseniz şimdi veritabanı bilgilerini nasıl girmemiz gerektiğine bir göz atalım.

Tabiki veritabanı bilgilerini girmeden önce SQL sunucumuzda openfire isimli bir veritabanı yaratıyoruz. Ben bu veritabanını MSSQL üzerinde sa kullanıcı hesabı ile oluşturdum, fakat sizlere güvenlik sebebiyle bunun yerine openfire isimli bir kullanıcı açamızı ve kurulumuda bu hesap üzerinden gerçekleştirmenizi öneririm.

Eğerki veritabanına openfire isimini verdi iseniz Database URL ye jdbc:jtds:sqlserver://localhost/openfire;appName=jive kopyala-yapıştır diyerek bunu giriniz. Veritabanı adınız farklı bir şey ise openfire yazan yeri uygun olan ad ile değiştiriniz. URL kodu tam bu şekilde olacak eğerki yanlış girer iseniz resimde görüldüğü gibi bilgilerin yanlış olduğuna dair bir uyarı alırsınız.

Username ve Password ise açtığımız veritabanında yetkili olan kullanıcı hesabı olacaktır. Baştada belirttiğim gibi ben veritabanını sa kullanıcı hesabıyla oluşturduğum için sa kullanıcı bilgilerini giriyorum. Continue diyerek devam ediyorum.

16

11. Adım) Önemli olan bir diğer adımda kullanıcı hesaplarının nasıl oluşturulacağı ile ilgili olan adımdır. Ben organizasyonumda Active Directory domain yapısına sahip olduğum için kullanıcı hesaplarımıda Active Directory veritabanından çekerek kullanacağım. Zira kullanıcılarım için tutup tek tek Openfire üzerinde hesap tanımlamak zor ve zahmetli bir iş. Bu aynı zamanda kullanıcılarımında işini kolaylaştıran bir işlem zira kullanıcılarım için ayrıyetten bir hesap bilgisi ve ek bir şifre vermiyeceğim. Domainde oturum açmak için kullandıkları hesap bilgileri ile Openfire mesajlaşma sunucusunuda rahatlıkla kullanabilecekler.

Bu sebepten dolayı ben Profile Settings kısmından Directory Server seçeneğini seçiyor ve Continue diyerek bir sonraki adıma geçiyorum.

17

12. Adım) Bu adımda Active Directory veritabanına erişmek için gerekli doğrulama bilgilerini girmemiz gerekiyor. Genelde Openfire kullanmak isteyenlerin takıldıkları bir başka bölümde bu bölümdür. Bu bölüm kullanıcılarımızın Active Directory veritabanında çekilerek oluşturulması için gerekli ayarları yaptığımız bölümdür.

Şimdi isterseniz bu doğrulama ayarları için değerleri nasıl girdiğimize bakalım.

Ben LDAP server olarak Microsoft Active Directory servisini kullandığım için Server Type tan Active Direcorty’i seçiyorum. Host adım huseyinsevin.com sizler pek tabiki kendi domainize uygun olarak buraları değiştireceksiniz. Port varsayılan değerde kalıyor. Base DN ise şu şekilde olacak dc=huseyinsevin,dc=com. Kimlik doğrulama için bir Active Directory kullanıcı hesabı tanımlamamız gerekiyor. Ben Administrator hesabını kullandım bu iş için ister iseniz Active Directoryde varolan ve kullanıcı adı ve şifresini bildiğiniz bir başka kullanıcı hesabınıda kullabilirsiniz bu işlem için. Gerekli doğrulama bilgilerini girdikten sonra Test Setting diyerek girdiğim verilerin doğruluğunu test ediyorum. Bir sorunla karşılaşmadı isek Save&Continue diyerek devam ediyoruz.

18

User Mapping ve Group Mapping ayarlarını kurulumda ben Save&Continue diyerek geçiyorum. Sizde bu adımları bu şekilde geçebilirisiniz. Daha sonrasında ihtiyaç duymanız halinde bu ayarları Openfire yönetim panelinden tekrardan düzenliyebilirsiniz. Bu kısımdaki ayarlar eğer belli kullanıcı gruplarını sadece belli kullanıcı grubundaki kişiler ile mesaşlaşması gibi bir ayara ihtiyaç duyuyor iseniz gerekli olacaktır. Örneğin sadce Muhasebe departmanıdaki kişilerin sadece bu departmandaki kişilerle yazışabilmesi gibi.

13. Adım) Bu ayarlar kısmındaki son adımımızdır. Burada Openfire mesajlaşma sunucumuz için bir yönetici hesabı belirteceğiz. Bunun için Add Administrator kutucuğuna Active Directory üzerinde varolan bir kullanıcı hesap adını yazıyorum. ve Add e tıklayarak kullanıcıyı ekliyorum. Ben Administrator hesabını ekledim. Sizde Openfire yönetimi için kullanmak istediğiniz herhangi bir hesabı ekliyebilirsiniz.

21

Kullanıcı hesabını ekledikten sonra sorunsuzca çalıştığından emin olamak için hesabın kullanılabilirliğini test edelim.

22

14. Adım) Kurulumu ve Konfigürasyonu başarılı bir şekilde tamaladık. Şimdi diğer ayarların yapılandırılması için Login to admin console tıklayarak yönetim panelini açalım.

23

15. Adım) Yönetici hesap bilgilerini girerek yönetim konsoluna erişelim.

24

16. Adım) Burada yapacağımız temel ayar makalemizin ana konularından sonuncusu olan loglama ile ilgili olan ayardır. Yazışmaların loglana bilmesi için bizler Openfire’ın Monitoring Service isimli eklentisinden yaralanacağız. Yapmamız gereken işlem aslında son derece basit. Bu eklentiyi kurmak ve bir kaç küçük ayar yapmak. Öncelikle eklentiyi kuralım. Bu işlem için Plugins tabından Available Plugins sekmesine geçiyoruz. Burada Openfire tarafından yayınlanmış Openfire mesajlaşma sunucunuz için kullanabileceğiniz bir çok faydalı eklenti bulunmaktadır. Fakat makale konumuz gereği biz şuan sadece loglama işlemlerimizin yapılabilmesi için Monitoring Service isimli eklentiyi inceliyeceğiz.

İlgili eklentiye geliyorum ve eklentiyi kurmak için + işaretine tıklıyorum. 1.5 mblık bir jar dosyasını inidirp kendisi otomatik olak kuracak.

25

Eklentimiz başarılı bir şekilde kuruldu ise Server başlığı altında Archiving diye bir link eklenmiş olduğunu göreceğiz. Burası tutulan logları takip edebileceğimiz kısımdır. İsterseniz şimdi bu kısma geçelim çünkü burada yapmamız gereken küçük bir ayar mevcut.

Server – Archiving – Archiving Settings kısmından loglama ile ilgili bir kaç ayar yapacağız. Archive one-to-one chat ve Archive Group chat checkbox larını işaretliyoruz. Eğerki bir chat odasının konuşmalarını kayıt altına almak istemiyor isek bunu Only archive conversations of the following room names (separated by comma) kısmına bu odaları yazabiliriz. Birden fazla yazışma odası için bu işlemi yapmak istiyor isek aralarına virgül koyarak birden fazla oda ekliyebiliriz. Update Settings diyere ayarlarımızı güncelliyelim.

28

Şimdi isterseniz yazışmalarımızın loglanıp, loglanmadığını kontrol edelim. Client tarafındaki yazılımımz olan Spark’ı açalım ve sohbet oturumumuzu başlatalım. Bu arada Openfire’ın client tarafındaki ürünüde Spark’tır. Ben size Spark’ın 2.6.0 RC1 sürümünü öneririm. Ürünü bu link ten indirebilirsiniz.

Sparkta oturum açabilmek için kullanıcı adı ve şifremi yazıyorum. Sunucu kısmına ise domain adını yazıyorum.

26

Deneme maksatlı bir örnek mesajlaşma yapıyorum….

27

Şimdi dilerseniz sunucu tarafında bu yazışmanın nasıl loglandığına bir göz atalım. Server – Archiving – Search Archive diyelim. Logları yani dahada doğrusu mesajlaşma arşivlerini buradan erişebilirsiniz. Gayet gelişmiş bir arşivleme ve arşivler içerisinde arama yapma seçeneği mevcuttur. Ayrıca yazışmaları PDF çıktı olarak verebilmeside ayrı bir güzellik. Şimdi Administrator ve Tigin adlı kullanıcılar arasında geçen konuşma kayıtlarına bir göz atalım.

30

Evet görüldüğü üzere ürünümüzü başarılı bir şekilde kurduk ve konfigüre ettik. Sistemimiz sağlıklı bir şekilde çalışmakta ve yazışmalar kayıt altına alınmakta. Elbetteki bu yazışmaların kyıt altına alınması güvenlik sebebiyle yapılmakta ve bu yazışmaların kyıt altına alınması kullanıcılarında heline. Zira ileride birisine mesajlaşma sistemi üzerinden bir görevi yerine getirmesini belirttiğinizde bu kişi bu işi inkar eder ise bunu yazışma kayıtlarından kolayca tespit edebilirsiniz.

Bu makalemde sizlere Openfire mesajlaşma sunucusunun bir organizasyon içerisinde nasıl kullanıma hazır hale getirilebileceğinden bahsettik, dilerim işinize yarayan faydalı bir döküman olmuştur.

Saygılarımla.
Hüseyin Sevin.


19 Comments

Barış Kemiksiz · 30 May 2011 at 06:33

Makeleniz çok yararlıoldu teşekkürler fakat sparkta kullanıcıları tek tek el ilemi eklememiz gerekiyor domaindeki tüm kullanıcılarımı otomtik olarak kişi listesine çekebilirmiyiz?

    Hüseyin Sevin · 01 June 2011 at 08:54

    Barış bey merhabalar;

    Kullanıcılarınız için AD de bir grup poluşturabilir ve kullanıcıları bu gruba ekleyebilirsiniz. Openfire kullanıcıları AD den çeker, dolaysıyla hepsini tek tek elle eklemek gerekmiyor. Bu gruptaki kişileri Spark’a otomatik eklemek için ise Users/Groups a gelip ilgili grubun ayarlarını düzenlemeniz gerekmektedir.

    İyi çalışmalar.

Erdem · 21 December 2011 at 12:10

Merhaba Hüseyin Bey, makaleniz için teşekkür ederim gerçekten çok faydalı bir çalışma..
Size kullanıcı logları ile ilgili bir sorum olacak:
Görüşmelerini logladığımız kullanıcıların IP adreslerini de tutmamız gerekiyor. Bu plug-in’e ekstra olarak IP adreslerini ekleyemez miyiz veya bunun için başka bir uygulama var mı?
örn: X kullanıcı 1.1.1.1 IP adresi ile login oldu. Y kullanıcısı ile şu tarih ve şu saatte görüştü gibi…
Şimdiden teşekkürler, iyi çalışmalar…

    Hüseyin Sevin · 21 December 2011 at 13:43

    Merhabalar Erdem bey;

    Dediğiniz gibi bir loglama işlemi için hazır yazılmış başka bir eklenti mevcut bir deneyiniz. Ben kullandığım ortamlarda zaten kullanıcı IP leri sabit olduğu için pek gerek duymamıştım böyle bir şeye. Yada talep edilmediği için pek araştırmadım. Fakat siz dilerseniz IP adresleri, sisteme giriş-çıkış bilgileri için http://blogs.reucon.com/srt/2007/07/14/user_status_plugin_for_openfire.html burada belirtilen eklentiyi bir deneyebilirsiniz. Kullandığınız sürümle uyumlumuudur bilmiyorum fakat pek sorun çıkartacağınıda sanmam.

    Ek olarak sorduğunuz konuşma metinlerinin içerisinde IP adreslerinin geçmesi ise böyle bir eklenti yok yalnız bu eklentiler Java ile yazılmış eklentiler. Eğer yazılım bilginiz mevcut ise isteğinize uygun bir eklentiyi sizde yazabilirsiniz. Eğer yok ise yukarıda belirttiğim eklentiyi kullanmayı deneyiniz.

    İyi çalışmalar dilerim.

Şenol · 27 December 2011 at 09:38

Hüseyin Bey Merhaba Open fire uzun zamandır kullanıyorum mevcut database yapısı ile mysql database e geçiş yaptım kısa süre önce fakat türkçe karakter problemi ile karşılaştım bunu nasıl aşabilirm.client olarak pandion kulanıyorum.

    Hüseyin Sevin · 27 December 2011 at 22:30

    Mysql veritabanı karakter seti nedir? UTF8 de sorun çıkmaması gerekiyor loglama için.

alper · 16 January 2012 at 13:21

Hüseyin bey Merhaba;

Open fire sunucusu için Sistem gereksinimleri nelerdir.
500 kişilik bir sistemde kurulacak olan serverın hdd, ram, cpu özellikleri ne olmalıdır?

    Hüseyin Sevin · 17 January 2012 at 23:03

    Yazışmalar loglanacak ve bahsedildiği gibi DB MSSQL de tutulacak ise 4 çekirdekli bir Xeon işlemcili 16 GB ramli ve SAS 15 K lık tercihen Raid 5 disk yapılı bir donanım tercih edilebilir.

    Yalnız 16 Gb ram için MSSQL de gerekli ram ayarı yapılmalıdır yoksa ram ile ilgili sıkıntı yaşayabilirsiniz. 500 kişi için yukarıda ki donanım idealdir.

    İyi çalışmalar.

alper · 18 January 2012 at 09:32

Hüseyin hocam,

Bu konfigürayon oldukça fazla, Ben başlangıçta 200-300 kullanıcı arası başlayacağım ancak bu zamanla 500 kullanıcıya kadar çıkabilir. Daha az konfigurasyona ihtiyaç duyulan başka bir mesajlaşma sunucusu kurulabilir mi ? Örn: Wildfire ya da başka bir uygulama kullanabilirmiyim.
Mesajlaşma sunucusuna çokta ihtiyacımız yok ama olsa iyi olur şeklinde düşündüm. Sunucu tarafı olmayan 3 party programlar bile belki işimizi görür ancak biraz profesyonel olsun diye düşündüm.

Ne tavsiye edersiniz ?
iyi çalışmalar

    Hüseyin Sevin · 22 January 2012 at 16:32

    Wildfire dediğiniz zaten bu ürün. Alternatif olabilecek pek bir ürün yok yani ücretsiz yok. Lync var fakat hem daha yüksek kaynak isteyen hemde lisanslama maliyeti olan bir üründür. Kapmasımı tabiki daha geniştir sadece Openfire gibi düşünmemek gerekiyor.

    Konfigürasyona gelince bu konfigürasyon iyi bir verim elde etmek istemeniz durumunda verilmiştir. Pek ala ram mikatını 8 düşürebilir veya Raid konfigürasyonu kullanmaya bilirsiniz. Bizler elbetteki en ideal konfigürasyonu öneririz. Tutupta ben size 4 gb ram de yeter diyemem ama pekala siz bu sistemi 4 gb ramli bir makinada da çalıştırabilirsiniz.

canan kestek · 12 August 2013 at 15:38

Merhaba, Ben open fire kullanıcısıyım fakat daha önce hiç kurulum yapmamıştım. ;Open fire programımız hata verdiğinden yeni bir kurulum yapmakl istemekteyim fakat database bilgilerini girme kısmında sıkıntı yaşamaktayım bu konuda ne yapabilirim ?

Onur TURAN · 03 June 2014 at 22:27

Selamlar,

Hocam, OpenFire sunucusu ayrı, sql database i ayrı sunucuda kurulu ise,
konfigurasyonlar nasıl yapılmalı??
Ben bir türlü iki sunucuyu konuşturamadım, yardımcı olabilirmisiniz?

Domain Controller : 192.168.2.245 (AD ve Openfire)
SQL server : 192.168.2.246 (MS SQL 2008)(DB adı Spark)

Hüseyin Sevin · 03 June 2014 at 23:12

Merhaba Onur, Database URL deki localhost kısmını 192.168.2.246 yapıp denemen gerekli. Fakat bunun için o sunucuda 1433 portunun Firewalldan açık olması gerekli. Yani 192.168.2.245 sunucun 192.168.2.246 sunucusunun 1433 portuna erişebiliyor olması gerekli. Telnet ile 192.168.2.244 sunucusuna 1433 portundan erişimeyi dene eğer cevap alamazsan firewall u açman gerekli.

Kolay gelsin.

Dogan · 01 April 2015 at 16:08

Merhaba Hocam, sitedeki dökümanınızdanda faydalanarak openfire kurulumu yaptım,daah öncede kullanmıştım ancak ilk DC üzerinde bu çalışmayı yaptım. ancak servis çalışır çalışmaz herhangi bir hatada vermeden CPU %95-100 arasına çıkıyor.

Kurulumda herhangi bir hata almadım. Sunucu stabil olarak ADC olarak çalışmaktadır ve üzerinde pek bir yük yoktur. normal şartlarda CPU %10’u bile geçmezken şimdi servis çalışır çalışmaz bu sorun ortaya çıkıyor.

biraz araştırma yaptım ama sağlıklı bir çözüme ulaşamadım.

Sistem olarak 2012 HyperV üzerinde koşan 4 GB ram ve Cpu vardır.

yardımcı olursanız çok sevinirim.

Dogan · 01 April 2015 at 16:11

Bu arada sorunu yaşadığım /kullandığım versiyon Openfire 3.9.3

hüseyin candan · 02 April 2015 at 16:55

Hüseyin bey ;
openfire yazılımının içinde şirket içinde yapılacak işlerin bir listesi oluşturulup bu listeye herkesin ulaşımını saglayıp iş takibi yapılabılırmı bir nevi bir ajanda yada rehber gibi kullanılabilirmi.

Hasan Durmuş · 28 October 2015 at 11:33

merhaba

kurulumda Profil Settings kısmında takıldım yardımcı olmanızı temenni ediyorum.

“Directory Server (LDAP)” seçerek kuruluma devam ediyorum Base DN olarak : DC=camp,DC=local yazıyorum. Group mapping kısmına kadar sorunsuz ilerliyorum fakat grup maping kısmındayken
aşağıda ekran görüntüsünü verdiim hata ile karşılaşıyorum.

http://i.hizliresim.com/ZJ31Wa.png

FURKAN AKINCI · 16 September 2016 at 14:31

bunu android de yapamazmıyız

Memet · 25 May 2018 at 12:42

merhaba anlatım için çok teşekkürler.Benim sıkıntım ben database bağlantısına kadar geldim orada takıldım.bağlantı kuramıyorum bana yardım edebilirmisiniz.Şimdiden teşekkürler

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.