6 Aralık 2016 Salı

UBUNTU SERVER KURULUMU VE  NODE.JS İLE MYSQL KULLANARAK BASİT BİR UYGULAMA


Öncelikle bazı tanımlar ile başlayalım.

VirtualBox 5.1.8 : VirtualBox en yalın haliyle bir sanal makine yazılımıdır. VirtualBox ile bilgisayarınızda sanal olarak farklı işletim sistemleri çalıştırabilirsiniz.
Ubuntu Server 16.10 : Ubuntu bilindiği üzere Linux tabanlı özgür ve ücretsiz bir işletim sistemidir. Ubuntu Server ise Ubuntu'nun Grafik Arayüzü (GUI) bulundurmayan şeklidir.
Node.js 4.2.6 : Sunucu tarafında javascript ile kod geliştirilmesini sağlayan bir platformdur.
MySQL 14.14 : MySQL daha çok web uygulamalarında kullanılan çoklu iş parçacıklı, çok kullanıcılı, hızlı ve sağlam bir ilişkisel veritabanı yönetim sistemidir. Linux altında daha hızlı bir performans sergilemektedir. Kaynak kodu açıktır.

Öncelikle yeni bir UBUNTU SERVER oluşturalım.Adımları oldukça basit ve isterseniz  https://www.youtube.com/watch?v=jyZmgvse0k8 bu adresten ulaşabilirsiniz.



Öncelikle Yeni butonuna basarak yeni bir server oluştururuz.İlk adımda aşağıdada görüldüğü üzere isim belirleriz.Adımlar gayet basit bir kaç fotoğraf ile destekleyeceğim.
























Adımları ilerlemek oldukça basit..


Yalnızca bir kaç adımı sizlerle paylaşıyorum diğer adımları videodan bakabilirsiniz..



 Kurduğumuzda karşımıza gelecek olan Login ekranına belirlediğimiz kullanıcı adı ve şifresini yazarak giriyoruz..


Öncelikle sudo apt update yazarak güncelleme olup olmadığını kontrol ediyoruz ardından sudo apt upgrade komutu ile bütün güncelleştirmeleri yüklüyoruz..
İşlem sırasında karşılaşılan ekran aşağıdaki gibidir..

Güncelleştirmelerin ardından yapmamız gereken işlem ağ yapılandırılmasıdır.Bu da oldukça basittir.Aşağıdaki resimde de görüldüğü üzere ayarlar kısmına tıklıyoruz.

Daha sonra ağ sekmesini açıyoruz ve gelişmiş seçeneğini seçiyoruz.
Ardından B.Noktasına Yönlendirme Kurallarına aşağıda görüldüğü gibi aktarıyoruz..





Gerekli ayarlar yapıldıktan sonra tekrar makinemizi çalıştırıyoruz..Ve gereken programları yüklemeye başlayabiliriz.
Öncelikle Node.js yüklememiz lazım ve bunun için gerekli komut sudo apt-get install nodejs komutudur.
Daha sonra sudo apt-get install npm komutu ile peketleri yüklüyoruz.
Daha sonra sudo apt-get install mysq-server komutu ile MySQL'i yüklüyoruz.Parola isteyecektir,unutmayacağınız bir şifre yapmanızı tavsiye ederim.Artık veri tabanını bağlamak için mysql -u root -p 

Bilmemiz gereken bazı şeyler şunlardır;
create database veritabani_ismi; : Belirtilen isimdeki veritabanini ekler.
show databases; : Bulunan veritabanlarını göstermeyi sağlar.
show tables; : Bulunan tabloları göstermeyi sağlar.
use veritabani_ismi; : Belirtilen veritabanını kullanmayı sağlar.
describe tablo_ismi; : Belirtilen tablodaki id,isim gibi kısımların türlerini vs. gösterir.

Not:MySQL kodları ';'(noktalı virgül) ile biter.

Artık yeni bir database oluşturmakla işe başlayalım. create database mutlu1; yazarak yeni bir database oluşturuyoruz.

Eklediğimiz tabloyu görmek için describe mutlu1; yazarız.


Şimdi ise bu tablolara
insert into mutlu1 values('Mutlu','Kaya');
insert into mutlu1 values('İlker','Diner'); yazarak veri ekleriz.









Hemen bir hatırlatma yapabiliriz küçük 'ı' harfini kabul etmediğini görebiliriz buradan.

Şimdi select * from mutlu1; diyerek tablomuzu ve girdilerini görelim.


Artık yeni bir veritabanı ve tablo ekleme işlemleri bitmiş bulunuyor.
MySQL den çıkabiliriz. \q komutu ile. 'Bye' yazısını görünce çıkmışız demektir.

Şimdi sudo vim deneme.js komutu ile bir js dosyası oluşturuyoruz.
Gelen şifre ekranına ne yazacağınızı biliyorsunuzdur. :) (Parolanızı)
Açılan ekranda artık kodlarımızı yazabiliriz aşağıdaki resim size açıklayıcı olacaktır.

Kodu yazdıktan sonra Esc tuşuna basıp :wq komutu ile tekrar geri yönlendirebiliriz.
Şimdi devam edelim, node komutunu kullanabilmemiz için sudo apt install nodejs-legacy komutunu yazıyoruz.
Daha sonra npm install mysql yazarak Node.js ile MySQL kullanabilmeyi sağlıyoruz.
node deneme.js yazarak uygulamamızı çalıştırıyoruz.
Unutmayınız port numarası 7182 girmelisiniz.














Böylece uygulamamız bitmiş bulunmaktadır. İyi günler.....

Karşılaşılabilecek sorunlar;

-npm ve node.js kullanarak MySQL yüklenmelidir.
-Türkçe harf uyumsuzluğu.
-Port yönlendirmesi yapılırken ana makineye yönlendirilen portun boş olmasına dikkat edilmeli.
-Nodejs-legacy komutu kullanılmazsa node uygulama.js komutu çalışmaz node komutu her ne kadar Node.js ile birlikte çalışsada ayrıca Nodejs-legacy komutu ile yüklenmesi gerekir.


Kaynaklar:

https://www.tutorialspoint.com/nodejs/nodejs_first_application.htm
http://codehandbook.org/python-web-application-flask-mysql/