6 Aralık 2016 Salı

MySql ve Node.js kullanarak Ubuntu Server 16.10 üzerinde basit bir WEB uygulaması geliştirme örneği


Merhabalar arkadaşlar bu sitede sizlere Ubuntu Server 16.10 üzerinde geliştirdiğim basit bir web uygulaması anlatacağım.Öncelikle bu uygulama için kulladığım programlardan size bahsetmek istiyorum.

VirtualBox


VirtualBox sanal makine oluşturmamıza olanak sağlayan bir programdır.Sanal olarak çalışan işletim sistemi misafir kendi işletim sistemimiz ise ev sahibidir.Misafir sistemde yaptığımız işlemler tamamen ayrı bir bilgisayarda yapılıyormuş gibi ev sahibi sistemde bir değişiklik yaratmaz.İndirmek için aşağıdaki linkten yardım alabilirsiniz.

https://www.virtualbox.org/wiki/Downloads

Ubuntu Server 16.10


Ubuntu Linux kökenli bir işletim sistemidir.Açık kaynak kodlu özgür bir yazılımdır.Grafiksel arayüz bulundurmaz.Komut ekranına dayalı işletim sistemidir.İndirmek için aşağıdaki linkten yardım alabilirsiniz.


https://www.ubuntu.com/download/server


Node.js


NodeJS sunucu tarafından JavaScript ile kod geliştirilmesini sağlayan chrome gibi  v8 JavaScript engine(JavaScript kodunu makine diline çevirir.) üzerinde çalışan bir platformdur.

MySQL


MySQL birçok sistemde yüklü bulunan çoklu iş parçacıklı, çok kullanıcılı,hızlı ve sağlam bir veritabanı yönetim sistemidir.

Şimdi kurulum aşamasına gelecek olursak verdiğim linklerden VirtualBox ve Ubuntu Server'ı indirip kuruyoruz.VirtulBox'un kullanım aşaması herkesin kurabileceği şekilde gayet basittir.İlk olarak Ubuntu Server kurulum aşamasına gelecek olursak:




İlk olarak yukarıda solda Yeni yazan yere tıklıyoruz ve yeni bir sanal aygıt oluşturma işlemine başlıyoruz.




Burada sanal makinemizin türü seçilir ve sanal makineye bir ad verilir ve ileri seçeneğine tıklanır.







Burada seçili olan seçeneği değiştirmeden oluştur diyoruz.






Bu seçeneği seçerseniz sizin belirlediğiniz ölçütte alan otomatik olarak ayrılacaktır.Sabitlenmiş boyut ise otomatik olarak 8 GB dir.





Ardından başlat simgesine tıklıyoruz.







Burada sağ taraftaki dosya simgesine tıklayıp ISO olarak indirilen Ubuntu Server'ı(benim masaüstümde) seçiyoruz ve seçtikten sonra Başlat butonuna tıklıyoruz.







Bu gelen seçeneğe "Evet"  deyip ilerlemelisiniz.Bu seçenekte klavye tanımlanır  eğer klavyenizi tanımazsa komut satırında sorun yaşarsınız.

Daha sonra gerekli seçenekler ve programın kendi düzeni sayesinde ilerliyoruz.




Yukarıda görüldüğü gibi OpenSSH server ve Lamp server seçenekleri seçilir.Seçimler spacebar tuşu ile yapılır ve enter seçeneği ile devam edilir.



Daha sonra uygun yüklemeler yapıldığında karşınıza böyle bir ekran gelecektir.Burada login yazan yere kendi belirlediğiniz kullanıcı adınızı örnekte "neo" şeklinde verilen gibi password yazan yere de yine kendi belirlediğiniz parolanız yazılır.

Daha sonra sudo apt-get update ve sudo apt-get upgrade komutları ile sistemimize güncelleştirmeleri yüklüyoruz.

Şimdi birtakım ayarlar yapmamız gerekiyor.







Bu kurulumlardan sonra birtakım ayarlar yapmamız gerekiyor.Bunun için de sanal makinenin ayarlar kısmından sol tarafta karşımıza çıkacak olan listeden Ağ seçeneğini seçip Bağlantı Noktası Yönlendirme Butonu'ndan NAT ayarlarını yapacağız.





Ben ayarları bu şekilde yaptım siz farklı şekillerde de (uygun bir sekilde tabi) yapabilirsiniz.


Sıra geldi MySQL kurulumu ve veritabanı oluşturmaya.Şimdi sudo apt get install nodejs ve ardından sudo apt get install npm kodlarını yazıp yükleme yapmayı sağlıyoruz. Şimdi  MySQL kurulumu için terminale sudo apt-get install  mysql-server kodunu yazınız.Bu komutlardan sonra mysql -u root -p komutu ile giriş yapıyoruz.


Şimdi bir veritabanı oluşturacağız.Bu veritabanı okuldaki öğrencilerin ders notlarını içerecek.Create database diyerek bir veritabanı oluşturup use ile içine gireceğiz.Örneğin:
create database zeynep; // diyerek oluşturabiliriz.
use zeynep;

Eğer "Database changed" mesajını aldıysanız veritabanına girmişsiniz demektir.




Yukarıda görüldüğü gibi insanlar adında bir tablo oluşturduk ve içine değişkenler koyduk.Böylece tabloda gerekli sütunlar oluşmuş oldu.Şimdi bu tablo içerisine birkaç veri ekleyelim.


Şimdi eklediğimiz verileri ekrana bastıralım.



SHOW DATABASES; diyerek de veritabanını görebiliriz.



\q; komutunu yazdığınızda çıkış yapabilirsiniz.

Şimdi nodejs kullanabilmek için komut satırına sudo pico zeynep_uygulama.js komutunu kullanıyoruz.Gelen ekranı uygun şekilde aşağıda görüldüğü gibi yazıyoruz.


Hem node komutu hem de Nodejs ile Mysql komutu kullanımı için aşağıdaki kodları yazıyoruz.

sudo apt install nodejs-legacy
npm install mysql

Bu kodları girdikten sonra putty kullanarak bağlantımızı yapalım.Putty indirmek için aşağıdaki linkten yardım alabilirsiniz.

http://www.putty.org/

Putty ayarlarını da aşağıda görüldüğü gibi yapıyoruz.



Ayarları yaptıktan sonra putty ekranına node zeynep_uygulama.js komutunu yazıyoruz.

Artık port adresimiz üzerinden veritabanımıza bağlanabiliriz.








Yukarıda görüldüğü gibi localhost:8000 adresimizden oluşturmuş olduğumuz veritabanındaki verileri görebiliyoruz.Böylece uygulamamızın sonuna gelmiş olduk. :)



Karşılaştığım Sorunlar:


Doğruyu söylemek gerekirse hiç kolay olmadı bu uygulamayı geliştirmek.Örneğin Ubuntu Server için birçok kez  sanal makineyi yeniden başlattığım zaman giriş yapamadım ve tekrar tekrar programı yükledim.Bu da  bana  a
şırı zaman kaybına yol açtı.Ayrıca bazı kaynaklardan aldığım komut kodları hata verdi ve sürekli farklı kaynaklardan komutlar aradım ve gerek bilgisayarımın azizliğine gerekse internet kesintilerine çok uğradım.Sonuç olarak uygulamamızı öyle ya da böyle yapmış olduk. :)

KAYNAKÇA:

http://www.koodla.com/2010/02/24/ubuntu-lamp-rehberi/
http://harunozer.com/makale/nodejs_nedir.htm
http://www.putty.org/
https://www.virtualbox.org/wiki/Downloads
http://tecadmin.net/connect-nodejs-with-mysql/#
https://www.ubuntu.com/download/server
https://help.ubuntu.com/community/Nano