Ubuntu’da Swap Tanımlaması, Apache, MySQL ve PHP5 Kurulumu

Önceki yazımda DigitalOcean’dan bir droplet oluşturup SSH ile bağlanmıştık. İlk iş olarak aşağıdaki komutu çalıştırarak Ubuntu paket depolarını ve sonrasında paketleri güncelleyelim.

apt-get update && apt-get upgrade

Swap Alanının Oluşturulması

Şimdi sunucumuzun performansını arttırma amacıyla bir swap alanı tanımlayacağız. Swap alanı sunucu RAM’inin dolduğu durumlardan RAM yerine alternatif olarak devreye giren bir disk alanıdır. İşletim sistemi bu alanı sanki ikinci bir RAM’miş gibi kullanır. Elbette RAM ile iletişim, disk ile iletişimden daha hızlı olduğu için swap yerine RAM kullanımı her zaman daha karlıdır. Bu sebeple işletim sistemi öncelikle RAM’i zorda kaldığında SWAP’ı kullanır.

Kök dizinimize (/) swap adında bir dosya oluşturacak ve bu dosyayı swap alanı olarak tanımlayacağız. RAM boyutunuzla aynı boyutta bir swap alanı yeterli olacaktır. Ben 512 MB RAM içeren bir droplet seçmiştim bu sebeple swap alanım da 512 MB olacak. Siz bu komutu kendi droplet’inize göre düzenleyebilirsiniz.

sudo dd if=/dev/zero of=/swap bs=1M count=512

Bu komut ile içi sıfırlar ile dolu 512 MB boyutunda bir dosya oluşturmuş olduk.

root@droplet:~# sudo dd if=/dev/zero of=/swap bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 1.14489 s, 469 MB/s

Şimdi oluşturduğumuz bu dosyayı swap olarak tanımlayacağız. Ama önce dosya izinini düzeltmeliyiz.

sudo chmod 600 /swap
root@droplet:~# sudo mkswap /swap 
Setting up swapspace version 1, size = 524284 KiB
no label, UUID=96b984fd-95b6-41fd-8032-0e21826f3f5c
swapon /swap

Bu komut ile dosyayı swap alanı olarak tanımladık ve aktifleştiriyoruz.

Swap alanının aktifleşip aktifleşmediğini kontrol edebiliriz.

root@droplet:~# sudo swapon -s
Filename Type Size Used Priority
/swap file 524284 0 -1

Swap alanı oluşturuldu ve aktifleştirildi ancak sistem her yeniden başlatıldığında tekrar aktifleştirmek zorunda kalmamak için bir ayar daha yapmamız gerekiyor.

# fstab dosyasını editör ile açıyoruz
sudo nano /etc/fstab

Dosyanın en alt satırına şu satırı ekliyoruz :

/swap   none    swap    sw    0   0

Artık free -m komutuyla swap alanı da dahil disklerin kullanım verilerini görebilirsiniz.

root@droplet:~# free -m
total used free shared buffers cached
Mem: 490 481 8 5 5 375
-/+ buffers/cache: 100 389
Swap: 511 0 511

Son olarak sunucumuzun saat dilimini ayarlayalım.

dpkg-reconfigure tzdata
Ekran Resmi 2015-09-10 20.32.32

Apache Kurulumu

[otw_shortcode_info_box border_type=”bordered” border_color_class=”otw-blue-border” border_style=”bordered” rounded_corners=”rounded-3" background_color_class=”otw-aqua” background_pattern=”otw-pattern-3" icon_type=”general foundicon-idea”]Apache2 — Nginx savaşı

İki büyük sunucu sisteminin savaşına hiç dahil olmayacağım. Çünkü Hangisi daha iyi? sorusunun tek ve net bir cevabı yok. Kullanım amacınıza ve sunucunuza göre farklılıklar gösterip bazı durumlarda Nginx daha hızlı iken, bazı durumlarda Apache2 fark atabiliyor. Detayları bu yazıda okuyabilirsiniz. Ben şuan için Apache kuracağım ancak daha sonra Nginx kurulumu ve Apache’den Nginx’e taşınma ile ilgili yazılar da yazacağım.[/otw_shortcode_info_box]

Artık başlamaya hazırız. İlk olarak Apache HTTP Sunucusunu kuracağız. Ubuntu paket yöneticisini kullanarak Apache’yi kuruyoruz.

apt-get install apache2

Kurulum sonrası tarayıcınıza droplet IP adresinizi yazdığınız zaman şöyle bir görüntü ile karşılaşıyor olmalısınız:

Ekran Resmi 2015-09-10 21.05.55

Ayrıca terminalde apache2 -v komutunu çalıştırdığınızda şuna benzer bir sonuç almalısınız:

root@droplet:~# apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jul 24 2015 17:25:11

Apache2 konfigürasyonunu ve sanal konak (virtual host) ayarlarını daha sonra yapacağız.

MySQL kurulumu

Şimdi sıra MySQL veritabanı sunucusunu kurmaya geldi.

apt-get install mysql-server

Kurulum şöyle bir ekran ile başlayacak.

Ekran Resmi 2015-09-10 21.33.28

Sizden root kullanıcısı için bir şifre belirlemenizi istiyor. İsterseniz boş bırakabilirsiniz ancak ben muhakkak bir şifre belirlemenizi öneriyorum. Şifrenizi belirledikten sonra MySQL kurulumu tamamlanacak.

MySQL kendi konfigürasyon verilerini kendi veritabanı yapısında tutuyor. Dolayısıyla ilk olarak mysql_install_db komutunu çalıştırarak sistem tablolarını oluşturmamız gerekiyor. Bu komutu çalıştırdıktan sonra temel MySQL güvenlik ayarlarını yapan mysql_secure_installation komutunu çalıştırıyoruz.

Bu komut ile bize birkaç soru sorulacak bunları açıklamak gerekirse:

# Daha önce belirlediğimiz root şifresini girmemizi istiyor
Enter current password for root (enter for none):
# root kullanıcı şifresini değiştirmek isteyip istemediğimizi soruyor
# Hayır manasında n diyerek devam ediyoruz.
Change the root password? [Y/n]
# MySQL varsayılan olarak şifresiz veritabanı erişimi sağlayan bir anonymous kullanıcı oluşturuyor.
# y diyerek bu kullanıcıyı siliyoruz.
Remove anonymous users? [Y/n]
# Veritabanına uzaktan erişimi n diyerek şimdilik kapatıyoruz.
Disallow root login remotely? [Y/n]
# Test amaçlı oluşturulan veritabanını y diyerek siliyoruz
Remove test database and access to it? [Y/n]
# test kullanıcılarını sildiğimiz için sunucu izinlerini yeniliyoruz
Reload privilege tables now? [Y/n]
MySQL sunucusu kurulumu da tamamlandı.
PHP5 Kurulumu
Sıra PHP5 kurulumuna geldi. İlk olarak php5 paketini, Apache'nin PHP5'i doğru yorumlayabilmesi için libapache2-mod-php5 kütüphanesini ve PHP'nin MySQL sürücüsü olan php5-mysql paketini kuracağız.
apt-get install php5 libapache2-mod-php5 php5-mysql

Sonuç

Bu yazıda sunucunuza bir swap alanı tanımladık, Apache, MySQL ve PHP5 kurulumlarını yapıp, gerekli modül ve kütüphaneleri kurarak birbirleriyle iletişim kurabilmelerini sağladık. Sonraki yazımda sanal konaklardan (virtual hosts) bahsedeceğim.
Like what you read? Give Eray Alakese a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.