- enterId:146618 Ubuntu LAMP Rehberi « KOODLA | BLOG

Ubuntu LAMP Rehberi

Date24 / Şubat / 2010 Author Osman Akşit    Category Ubuntu, mysql, php     Tags Yorumlar3 Yorum Yapilmis.

Bu yazıda Ubuntu’da adım adım LAMP sunucusunu nasıl kuracağımızı ve konfigüre edeceğimizi anlatacağım. LAMP kelimesinin açılımı Linux, Apache, MySQL ve PHP olarak kabul görse de, şu anki durumda MySQL yerine PostgreSQL’i ve PHP yerine Perl ile Python’ı da ekleyebiliriz. Kendi bilgisayarınıza LAMP sunucusu kurarak projelerinizi lokal olarak geliştirebilir ve web sunucunuza gönderebilirsiniz. İsterseniz kendi bilgisayarınızı hem web yazılımı geliştirme için hem de web sunucusu olarak da kullanabilirsiniz.

Mesela sabit IP alarak ve DNS adreslerini değiştirerek sahip olduğunuz alan adınızı kendi bilgisayarınıza yönlendirip, tamamen kendinizin konfigure edebileceği bir web sunucunuz olabilir. ADSL kullanıcıları için küçük bir not düşeyim; kullandığınız ADSL paketi limitli de olsa limitsiz de olsa Türk Telekom upload miktarına herhangi bir limit koymuyor. Yani “fatura çok gelir mi” derdi olmadan istediğiniz pakette bilgisayarınızı web sunucusu olarak kullanabilirsiniz.

Şimdi adım adım Ubuntu üzerinde LAMP sunucusunu nasıl kuracağımızı görelim. Aslında Ubuntu’nun harika paket yönetim sistemiyle herşey ne kadar kolay olsa da, hiç bilmeyenler için adım adım göstermek daha yararlı olur.

İlk önce sistemimizin güncel olduğundan emin olmak için şu komutları çalıştıralım:

apt-get update
apt-get upgrade

Sistemimiz tüm güncellemeleri yaptıktan sonra ilk önce Apache web sunucusunu kuralım:

apt-get install apache2

Sadece bir web sunucusu altında aynı anda birden fazla web sitesi barındırabileceğinizi biliyor muydunuz? Mesela kendi web sunucunuzda hem blogunuzu (ornekblog.com), hem arkadaşınızın kişisel web sitesini (orneksite.com)  hem de şirketinizin sitesini (orneksirket.com) barındırabilirsiniz. Bunun için Apache’nin sanal sunucu (virtual hosting) özelliğini kullanmamız gerekecek. Eğer kendi web sunucunuzu kuracaksanız bir sabit IP’niz olduğunu varsayıyorum. Türk Telekom’un aylık sabit IP ücreti en son 3 TL idi, çok fazla değiştiğini sanmıyorum. Şimdi Apache’yi bize verilen sabit IP’yi dinlemesi için konfigüre edelim. Sabit IP’mizin 193.140.110.65 olduğu varsayalım. /etc/apache2/ports.conf dosyasını açarak NameVirtualHost satırına sabit IP’mizi ekliyoruz ve 80 nolu portu dinlemesini söylüyoruz. Bu port http için standart porttur ancak isterseniz modeminizde yapacağın yönlendirme ile farklı bir portu dinlemesini de sağlayabilirsiniz.

NameVirtualHost 193.140.110.65:80

Daha sonra da  /etc/apache2/sites-available/default dosyasını açarak <VirtualHost > ile başlayan satıra yine kendi sabit IP’mizi yazıyoruz.

<VirtualHost 193.140.110.65:80>

Şimdi de oluşturmak istediğimiz her bir sanal sunucu için /etc/apache2/sites-available/ dizininin altında bir dosya oluşturuyoruz. Bu dosyaların ismini oluşturmak istediğimiz sitelerin alan adlarını verelim. Mesela kişisel blogunuz için ornekblog.com isminde bir dosya oluşturup içine de şunu ekliyoruz:

<VirtualHost 193.140.110.65:80>
     ServerAdmin info@ornekblog.com
     ServerName ornekblog.com
     ServerAlias www.ornekblog.com
     DocumentRoot /srv/www/ornekblog.com/public_html/
     ErrorLog /srv/www/ornekblog.com/logs/error.log
     CustomLog /srv/www/ornekblog.com/logs/access.log combined
</VirtualHost>

Aynı şekilde şirketinizin web sayfası için de orneksirket.com isminde bir dosya oluşturup içini de aşağıdaki gibi dolduruyoruz:

<VirtualHost 193.140.110.65:80>
     ServerAdmin info@orneksite.com
     ServerName orneksite.com
     ServerAlias www.orneksite.com
     DocumentRoot /srv/www/orneksite.com/public_html/
     ErrorLog /srv/www/orneksite.com/logs/error.log
     CustomLog /srv/www/orneksite.com/logs/access.log combined
</VirtualHost>

Bu yaptığımız konfigürasyonda sitemizde kullanacağımız tüm dosyalar /srv/www/ dizininin altında saklanacak fakat isterseniz dosyalarınızı başka bir dizinde tutup bu dizine sembolik link verebilirsiniz. Tercih size kalmış. ErrorLog ve CustomLog satırları zorunlu değil fakat ileride sitenizdeki hataları saklamak ve incelemek isteyebilirsiniz, o yüzden şimdiden tanımlamak daha yararlı olur. Yukarıdaki sanal sunucu konfigürasyonumuzu kullanmadan önce dosyalarda belirttiğimiz dizinleri oluşturmamız gerek.

mkdir -p /srv/www/ornekblog.com/public_html
mkdir /srv/www/ornekblog.com/logs

mkdir -p /srv/www/orneksite.com/public_html
mkdir /srv/www/orneksite.com/logs

Daha sonra da şu komutları çalıştırarak sanal sunucularımızı aktive edelim.

a2ensite ornekblog.com
a2ensite orneksite.com

Bu komut ile sites-available dizininin altındaki sanal sunucularımız için sites-enabled dizininin altında sembolik link oluşturuyor. Eğer herhangi bir sanal sunucumuzu deaktive etmek istersek şu komutu çalıştırmamız gerekecek:

a2dissite ornekblog.com

Daha sonra Apache’yi yeniden yükleyerek değişikliklerin etkin olmasını sağlayacağız.

/etc/init.d/apache2 reload

Şimdi geldik web sunucumuza bir database sunucusu kurmaya. Şu anda en çok kullanılan açık kaynak database sunucusu MySQL ancak bildiğiniz gibi MySQL her ne kadar açık kaynak bir proje olsa da lisans hakları Sun şirketine aitti. Ancak geçen sene Sun şirketi Oracle’a satıldı ve MySQL, Oracle’ın bir ürünü oldu. İroni olan şu ki Oracle’ın kendi ücretli database ürünü var ve MySQL’in geliştirilmesine daha ne kadar destek verecek bilmiyoruz. Fakat önümüzdeki birkaç yıl daha MySQL’in piyasada olacağını düşünüyorum eğer Oracle bize bir süpriz yapmazsa.

Şimdi şu komutla MySQL sunucumuzu kuralım:

apt-get install mysql-server

Kurulum esnasında size root kullanıcısı için şifre oluşturmanızı ve hangi web sunucusunu kullanmak istediğinizi soracaktır. Burada bir hatırlatma yapalım, şifresini oluşturduğumuz root kullanıcısı ile işletim sistemimizin root kullanıcısı tamamen farklı. Burada MySQL root kullanıcısının şifresini oluşturuyoruz.

Bu nokta da mysql_secure_installation programını çalıştırmanızı öneriyorum, bu programı çalıştırarak ve size soracağı sorulara evet ya da hayır cevapları vererek MySQL sunucunuzun güvenliğini  önemli oranda arttırmış olursunuz.

mysql_secure_installation

Şimdi MySQL’e root kullanıcısı ile giriş yapalım ve örnek bir database oluşturalım:

mysql -u root -p

Aşağıdaki komutla deneme adında bir database oluşturuyoruz:

create database deneme;

Şimdi de bu oluşturduğumuz database için bir kullanıcı oluşturup, database üzerindeki tüm hakları bu kullanıcıya veriyoruz:

grant all on deneme.* to 'osman' identified by '146ct';

Burada osman adında bir kullanıcı oluşturduk ve şifresini de 146ct olarak belirledik. Artık PHP programlarınızda bu kullanıcı adı ve şifre ile bu database’e bağlanabilirsiniz ve üzerinde istediğiniz database işlemini gerçekleştirebilirsiniz.

quit

Bu komutla ile MySQL programından çıkış yapabilirsiniz.

Son olarak da web sunucumuza PHP yükleyelim.

apt-get install php5 php5-mysql php-pear

PHP programlarınızın güvenliğini arttırmak için de /etc/php5/apache2/ dizininin altında bulunan php.ini dosyasını açıp aşağıdaki satırları şöyle değiştiriyoruz:

max_execution_time = 30
memory_limit = 64M
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = Off
log_errors = On
error_log = /var/log/php.log
register_globals = Off

Şimdi de Apache’yi yeniden başlatarak herşeyin yüklenmesini ve çalışmaya hazır hale gelmesini sağlayalım.

/etc/init.d/apache2 restart

Böylelikle kendi bilgisayarımıza bir web sunucu kurmuş ve kullanılmaya hazır hale getirmiş olduk. Bir dahaki yazımızda da Eclipse geliştirme ortamını kullanarak nasıl PHP programları geliştireceğimizi göreceğiz.

- Bu blogda yer alan yazıları RSS ile takip edebilirsiniz. RSS aboneliği için tıklayın.

- Ya da bu blogda yer alan bütün yazıları içindekiler sayfasında görüntüleyebilirsiniz. Tıklayın!

Ubuntu LAMP Rehberi yazısına 3 Yorum yapılmış.

  • isa engiz 24 Şubat 2010, 06:29

    Yazı için teşekkürler. sabit ip 2.75 tl. bu ücreti verip kendi web sunucumuzu kurabiliriz…

    En yakın zamanda bu yazıdakileri uygulamaya koyacağım.

    Teşekkürler.

  • ahmet 06 Nisan 2010, 09:55

    cok guzel bir yazi. tesekkurler

  • web yazılım şirketi 14 Mayıs 2010, 08:39

    google blog araması ile .net üzerinden hizmet veren web yazılım şirketi ararken tesadüfen bu web sayfasına eriştim. çok güzel bir websitesi olmuş yazıları ilgiyle takip edeceğim. rss beslemesine üye oluyorum hemen.

Arama


E-Posta Aboneliği


RSS Aboneliği

En Çok Yorumlanan Yazılar

Etiketler

404 ajax apache arama butonu as astrofizik açık kaynak banner blogger blogger/blogspot Blogger / Blogspot blogspot case chmod css date dosya yükleme editör etiket etkinlik favicon featured form ftp galeri Genel gimp hata sayfası header htaccess htpasswd ilişkisel veritabanı index innodb javascript join JQuery kategori koodla linux mysql opacity php resim url

Son Yorumlar

  • Murat: Güzel bir teknik, şu ana kadar sınırsız alt kategori lazım olmadı ama olmayacağı anlamına gelmiyor :)
  • iilyas: Bu kodlar çalışmıyor arkadaşım. Localde olduğu içinmi acaba ?
  • iilyas: Arkadaşım çok teşekkür ediyorum. Harika anlatmışsın ajaxla çalışmalara başlamak lazım estetik açısından.....
  • Nuri: bende bu şekilde bir çalışma yaptım ancak bir sorunum var ne yaptıysam url den index.php bölümünü kaldıramadım....
  • Kemal: Makale için çok teşekkürler, resimleri div tagları ile yapabilirmiyiz. Bu arada imagelara link verirsek daha...

Sayfalar


Faydalı Bağlantılar