Raspberry Pi’nin kurulumu ve LAMP sunucusu olarak yapılandırması

Hana Kamer
Hana Kamer
Published in
7 min readAug 28, 2016

--

Bu hafta ilk defa Raspberry Pi ile uğraştım. Sıfırdan kurulumunu yapıp LAMP server olarak kullanmak üzere yapılandırmasını yaptım. Bu yazıda Raspberry Pi’yi nasıl sıfırdan LAMP sunucusuna çevirebileceğinizi anlatacağım.

En başta Raspberry’nin modelini öğrenmeniz elinizde ne olup olmadığını bilmeniz açısından yararlı olabilir.

Raspberry’nin modelini öğrenmek için devre tahtasının üstündeki model bilgisini kullanabilirsiniz(1).

Ramin büyüklüğünü öğrenmek icin de ana chipin üstünde yazan koda bakıp 2G mi 4G mi içerdiğine bakmamız gerekir.

2G: 2Gbit bellek, 256 MB4G: 4Gbit bellek, 512 MB

Bendekinin chipinde 4G yazdığından bu özelliklere uyan Model B Revision 2.0 olduğu anlaşılıyor.

Kurulum

Raspberry Pi’yi kullanmak için yapmamız gereken ilk şey işletim sistemini kurmak. Bunun icin bootable bir SD card hazırlamak gerekir. (Bu model, boot sırasında flash usb kısmını okumayıp, SD kartı okuduğundan SD kart hazırlamamız gerekir.)

SD kartı hazılamak için linke gidip Raspbian işletim sistemini indirebilirsiniz.

İnen dosyayı açın ve içindeki img dosyasını çıkarın.

Diğer yandan kullanacağınız SD kartınız fat32 formatında formatlayın. Formatlama işleminden sonra terminalde

diskutil list

komutu ile bilgisayarınızdaki diskleri listeleyin(1).

SD kartınızın hangisi olduğunu belirleyin ve onun erişebilirliğini kesin (unmount):

diskutil unmountDisk /dev/disk2

daha sonra img dosyasının bulunduğu dizine gidin ve :

sudo dd bs=1m if=2016-05-27-raspbian-jessie.img of=/dev/rdisk3

komutu ile kopyalama işlemini gerçekleştirin.

dd    : belirtilen dosyayı verilen parametrelere göre formatlayıp kopyalayan komut.
bs : birim zamanda okuduğu ve yazdığı byte sayısını belirten parametre
if : stdin yerine dosyadan okuncağını belirten parametre
stdin : standart input
of : stdout yerine dosyaya yazılacağını belirten parametre
r : raw (r parametresini eklemeden de aynı işlemi yürütebilirsiniz fakat daha uzun sürer. İkisinin karşılaştırıldığı makaleye şuradan bakabilirsiniz)

İşlem bittiğinde aşağıdaki gibi özet göreceksiniz

Kopyalama işleminden sonra eject edip SD kartı SD kart okuyucusuna yerleştirin. (raspberrynin bu modeli boot sırasında usbyi okumadığından kart okuyucusundan yapmanız gerekir) Klavyenizi, ekranınızı ve SD kart okuyucusunu Raspberry Pi’ye bağladığınıza emin olduğunuzda güç kablosunu bağlayın. Kurulum işlemi hemen başlayacaktır.

Kurulumu yaptıktan sonra login için ‘pi’ adını ve ‘raspberry’ parolası ile ilerleyebilirsiniz. Parolanızı güvenliğinizi sağlamak için değiştirmeniz gerekir.

passwd

komutu ile eski ve yeni parolanızı girip değiştirebilirsiniz.

İnternet bağlantısı (wifi ile)

Önce ağınızdaki kablosuz bağlantıları sıralamak için aşağıdaki komutu terminalden çalıştırın.

sudo iwlist wlan0 scan
********************************************************************
iwlist : iwconfig içinde gösterilmeyen kablosuz ağ arayüzü bilgilerini listeler.
iwconfig : kablosuz ağ arayüz yapılandırması
wlan0 : arayüz parametresinin değeri
scan : Alandaki Access Point ve Ad-hoc hücrelerini listeler

Bağlanmak istediğiniz wifiyi belirleyin.

ESSID: ”internet bağlantınızın adı”IE   : bağlantının kullandığı güvenlik standardı.

İstediğimiz bağlantıya bağlanmak için bunu yapılandırmaya eklememiz gerekir.

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

ile wpa-supplicant yapılandırmasını açmış oluruz.

Bu dosyanın en altına kablosuz bağlantınızın adını ve parolasını girin:

network = {
ssid="wifinizin adı"
psk="parolanız"
}

CTRL+X , Y ve son olarak enter ile yaptığınız değişiklikleri kaydedip dosyayı kapatabilirsiniz. Yaptığınız değişikliğin bağlantıya yansımadığını düşünüyorsanız manuel olarak arayüzü baştan başlatabilirsiniz:

sudo ifdown wlan0sudo ifup wlan0

Diğer seçenek Raspberry’i reboot etmeniz:

sudo reboot 

Bağlanıp bağlanamadığınızı kontrol edebilirsiniz:

ifconfig wlan0 

Gelen veride ‘inet addr’ bölümü olup olmadığını kontrol etmeniz gerekir.

İnternete bağlandığınızdan emin olduktan sonra işletim sisteminizin ve paketlerinizin güncel hale getirmeniz gerekir:

sudo apt-get updatesudo apt-get upgrade

Raspberry Pi’yi kullanıma hazır hale getirmiş olduk. Artık ikinci aşamaya geçebiliriz.

LAMP server kurulumu

LAMP sunucusu  : web servisi çözümlerinde kullanılan ve bir platformu her yönü ile karşılamak için gerekli yazılım setlerinin birleşmesiyle oluşan yazılım stacklerinden biridir. Oluştuğu birimlerin baş hariflerinden alıyor adını (Linux, Apache, MySQL ve PHP)

Statik IP

Yapılandırmaya Pi’ye sabit bir IP adresi vermekle başlayacağız. Bu neden gerekli? Evde kullandığımız ip adresler genelde sabit adresler değil, belli bir aralığa düşer. Ağa yeni bir bilgisayar eklendiği anda router ona da yeni bir ip verir. Bir alet ağdan koptuğu zaman ip’si boşa düşer ve bir sonra bağlanan alete bu ip verilir.

Static IP bunun aksine değişmeyen IP’dir. Bilgisayar kullanacağı adresleri belirler ve bunları routera söyler.

Raspberry’nin kullandığı DHCP adresini görmeniz için:

ifconfig
DHCP     : Dynamic Host Configuration Protocol, yukarıda bahsettiğimiz routerın dinamik ip verme protokoludur. Network yönetici (administrator) ihtiyacını azaltmak üzere bilgisayarların IP isteklerini otomatik olarak cevaplayarak bu işlemi DHCP sunucusu üzerinden otomatize eder. Bu sunucunun olmaması durumunda IPlerin statik olarak belirlenmesi gerekir.inet addr : raspberry'nin şuanki adresibcast     : yayın adresi, ağlar arası iletişim sırasında verinin belli bir ağa bağlı bütün bilgisayarlara gönderilmek istendiğinde kullanılan özel bir adrestir.mask      : IP adresini subnetlere bölüp uygun hostları belirlemek için kullanılan 32-bitlik gösterimdir. Bir netmaskda 2 bit otomatik olarak atanmış olur. Bunlardan biri 255.255.225.0'da yer alan 0; atanmış olan network adresi, ikicisi de 255.255.255.255'deki yayın adresi olan 255'dir. Bu iki bit her zaman atanmış olur ve kullanılamaz.subnet   : IP adresinin mantıksal altyapılara bölünmesidir. Bu işlem, bir alt ağda (subnet) yer alan bütün aletlerin birbirleri ile iletişimde bulunmasını, aynı zamanda da alt ağların da birbirleri arasında veri alışverişinde bulunmasına izin verir.

Yapılandırma için edinmemiz gereken bir kaç veri daha var:

netstat -nr************************-r       : IP routing tablosunun içeriğinin gösterilmesini söyler.
-n : netstat komutunun, adresleri; sembolik host ve network isimleri olarak değil de noktalarla ayrılmış IP adresleri olarak göstermesini belirtir.

Bu komut ile sistemdeki butun network bağlantılarını listelemek için kullanılır. Sadece bağlı olanları değil dinlemede olup bağlanacak olan networkleri de listeler.

gateway     : Bütün trafiğin üzerinden geçtiği router IP adresi

Şimdi bu topladığımız verileri kullanarak gerekli yapılandırmayı yapmalıyız. Yapılandırmayı dhcpcd.conf dosyasında yapacağız.

sudo nano /etc/dhcpcd.conf

Dosyanın en altına ethernet mi yoksa wifi arayüzü için yapılandırma yaptığımızı belirttikten sonra ayarlarımızı girmemiz gerekir.

interface wlan0static ip_address=192.168.0.10/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
interface : Hangi network arayüzü için yapılandırma yaptığınızı belirtir.
static ip_address : Atamak istediğiniz sabit IP (Sonuna /24 eklediğinizden emin olun. Bu kısım network büyüklüğünü belirtir.)
static routers : Gateway’in IP adresi
static domain_name_servers : DNS’inizin (Domain Name System) IP adresi

Raspberry’i reboot ettikten sonra IP’yi tekrar kontrol edersek ayarladığımız IP’de olduğunu görürüz.

Eğer Raspberry Pi ye ssh ile kendi bilgisayarınızdan bağlanmak isterseniz önce Raspberry'nin terminalinden 'hostname -I' komutu ile kullandığı IP'yi bulabilirsiniz.
Daha sonra bu IP'yi bilgisayarınızın terminalinde
ssh pi@<IP>komutu ile kullanırsanız Raspberry'e ssh ile bağlanmış olacaksınız. Buradaki 'pi' Raspberry'deki user adı.

İnternetten ulaşılabilirlik

Sunucuyu internete ulaşılır şekle nasıl sokabiliriz?

Evden kullandığımız yerel networkumuzde olan IP adresi özel IP adresi aralığına sahiptir. Öyle ki internetten ulaşılması imkansızdır. Bunun yerine ISP(Internet Service Provider) router tarafından kullanılacak tek dinamik ip adres sağlar. Internetteki trafiğin Raspberry’e akışının mümkün olabilmesi için bu IP adresinin routerdanmış gibi gözükmesi gerekir. Bu işleme Network Address Translation (NAT) denir.

Geçiş izninin olması gerektiği port 80 (http)dir. bilgisayara internet aracılığı ile login olmak isterseniz o zaman port 22 (ssh) den geçiş izni olmalı.

Bunu yapmak için routerınızın ayarlarını izlemeniz gerekir. Benimki Huawei markası . Temel ayarlardan dsl internetin bagli oldugunu kontrol ettikten sonra gelişmiş ayarlardan NAT sekmesine gelip onun altındaki port eşleştirme sekmesinde açmak istediğimiz iki portun değerini (22 ve 80) yazıp gönderiyorsunuz. Portlarınızın açılıp açılmadığını http://portchecker.co/ linkinden bakabilirsiniz. Açılmadıysa güvenlik duvarını düşüğe çekerek tekrar deneyin.

Bu aşamaya kadar Raspberry’nin IP’sini sabitledik ve sunucumuzu internete ulaşılabilir yapmak için routerımızda iki port açtık.

Web sunucusu

Sırada apache web sunucusunun kurulumu var.

apache2 linux isletim sistemlerinde yaygın olarak kullanılan Web sunucusudur. Web sunucusu, kullanıcı tarafında yapılan istek karşılığında gönderilecek web sayfasının tutulduğu/sunulduğu sunucudur. Kullanıcı istek yollarken ve gelen cevabı görüntülerken tarayıcıyı kullanır.

Kuruluma baslamadan önce sistemimizin güncel olmasına dikkat göstermeliyiz. apt-get update ve update ile son güncellemeleri çekebiliriz.

sudo apt-get install apache2

Veri tabanı sunucusu

Web sunucusu icin gerekli yazılımı indirdikten sonra veri tabanı sunucusu olarak kullanacağımız mysql-serveri da indirelim.

Burada sunucu derken sunucunun iki farklı alanda kullanılabileceğine değinmek istiyorum. Bir, makina olarak adı sunucu olan bilgisayar; ikinicisi de farklı içeriğin sunulmasından sorumlu olan yazılımlar; web sunucu, database sunucu, mail sunucu vs.

php

Mysql-serveri yükleme işlemi de bittikten sonra php’yi ekleyebiliriz. Işletim sistemini yüklerken beraberinde Perl ile geldigi icin Perl i atlayabiliriz.

sudo apt-get install php5

ile php 5 i yükleyelim.

php’nin mysqle ulaşabilmesi için gerekli kütüphanelerin kurulumu için de:

sudo apt-get install php5-mysql

Kurulumunuzu test etmek için tarayıcınızdan Raspberry’e verdiğiniz IP adresini girerseniz çalıştığını belirten bir karşılama sayfası açılmalı:

Evet…

Hissi biraz şunu andırabilir…

Referanslar 1, 2, 3, 4, 5

--

--