Unix sistemler üzerinde PHP

Unix sistemler üzerinde PHP

UNIX İşletim Sistemi

 

UNIX, çok kullanıcılı bir işletim sistemidir; aynı anda birden çok kullanıcı, sisteme, ya terminal üzerinden ya da ağa bağlı bir bilgisayar üzerinde koşan terminal emülasyon programı aracılığıyla bağlanıp var olan kaynaklan kullanabilir. İşletim sistemi altında bulunan donanım öğeleri, zaman paylaşımı (time sharing) ilkesi uyarınca tüm kullanıcılar tarafından paylaşılır. Zaman paylaşımı, o anda aktif olarak çalışan kullanıcılara belirli bir zaman dilimi süresi tanımaktır; bu süre içerisinde o kullanıcıya ait işlemler gerçekleştirilir.

 

UNIX ilk olarak 1960"lı yılların sonlarına doğru AT&T Bell laboratuarında, Ken THOMSON ve Dennis RITCHIE öncülüğünde geliştirilmiş ve 1970"li yılların basında PDP-11 adlı bilgisayar sistemi üzerinde koşturulmuştur; C dilinin geliştirilmesi ardından 1970"li yılların ortasına doğru C ile yeniden yazılmıştır. O günden beri ve günümüzde UNIX ve C dili ayrılmaz bir ikilidir.

 

LINUX İşletim Sistemi

 

1991 yılında Finlandiyalı Linus Torvalds tarafından oluşturulan açık kaynak kodlu Linux, bugün dünyanın dört bir yanındaki programcılar tarafından geliştiriliyor. Linux’u diğer işletim sistemlerinden ayıran en önemli özelliği, açık kaynak kodu ile oluşturulması ve geliştirilirken lisanslanmasıdır. Linux’a geçen birey ve kurumlar için, kendilerine ayrı bir maliyet gerektiren lisans ücreti otomatik olarak ortadan kalkmış olur. Temeli açık kaynak kodu olduğu için Linux işletim sistemini istediğiniz gibi yönetebilir, Linux"a kolayca eklemeler yapılabilir ve kopyalayabilirsiniz. Linux, Windows dahil Intel, Sparc, Alpha, Macintosh platformlarında da çalışabilir

 

Linux, Apache, MySQL ve PHP Dünya üzerinde PHP konusunda en çok kullanılan yazılım bileşenidir. Bu yazılımların hepsi Internet üzerinden ücretsiz olarak temin edilebilir.

 

Eğer bir programcı ben PHP dilinde çok iyi bir yere geleceğim diyor ise mutlaka Linux işletim sistemini bilmesi gerekmektedir.

 

Linux"ta Apache, MySQL ve PHP Kurulumu (Derlenmesi)  

Daha önce hiç Linux programı derlemediyseniz, önce bazı kavramları açıklığa kavuşturalım: tar: (tape archiver) birden fazla dosyayı tek dosya haline getirir. Teyplere yedekleme amacıyla geliştirilmiştir. tar dosyaları sıkıştırılmışsa uzatması .gz, değilse .tar olur. gcc: GNU"nun C derleyicisidir. İnsan tarafından okunabilen kaynak kodlarını makine tarafından okunabilen nesne (object) dosyalarına dönüştürür. C programlama diliyle yazılmış kaynak kodları içeren dosyaların uzantını .c olur. make: henüz derlenmemiş kaynak dosyalarını derleyen yardımcı bir programdır. make, derleme talimatlarını Makefile adlı bir dosyadan alır. ./configure : C derleyecisi ve header dosyalarının nerede olduğunu araştırır, ve vardığı sonuca göre Makefile dosyasında değişiklik yapar.

PHP’ yi Linux ortamında Apache Web sunucusuna modül olarak kurmak için sırasıyla şu işlemleri yapmamız gerekir (Sisteminizde gzip veya gunzip ile gcc ve GNU make kurulu olduğunu varsayıyorum):

1.                 Sistemimizi root olarak başlatıyoruz ve sıkıştırılmış olarak alacağımız Apache dosyalarını geniş yer olan geçici bir dizinde açıyoruz ve o dizine gidiyoruz. Sözgelimi, Apache"nin tar.gz olarak sıkıştırılmış kaynak dosyalarının tmp adlı dizinde olduğunu varsayalım:

               # cd /tmp               # gunzip –c apache_1.3.12.tar.gz  / tar xf –

Burada, indirdiğimiz Apache sürümü farklı ise onun adını yazmalıyız. Şimdi Apache"yi açtığımız klasöre gidiyoruz ve buradaki configure dosyasını çalıştırıyoruz:

          # cd apache_1.3.12          # ./configure --prefix=/usr/local/apache

Buradaki örnekte Apache"yi /usr/local/apache dizinine koyduğumuza dikkat edin. Bu dizini, birçok kurulumun varsayım olarak arayacağı dizin olduğu için tercih ediyoruz. Ama isterseniz siz Apache"yi başka dizine de kurabilirsiniz.

2.                 Sıra MySQL veritabanı sunucusunu derlemekte. Linux"ta root oturumunda iken sıkıştırılmış dosyaları indirdiğimiz geçici dizine geçiyoruz ve dosyaları açıyoruz; sonra oluşturulan dizine giderek, configure komutu ile veritabanı sürücüsünü yapılandırıyoruz.

               # cd /tmp               # gunzip -dc mysql-3.22.32.tar.gz | tar xvf -               # cd mysql-3.22.32               # configure --prefix=/usr/local/mysql

Şimdi make komutu ile binary dosyalarını oluşturarak sisteme yükleyelim:

          # make          # make install

MySQL"in kullanım izinlerini belirlememiz gerekir. Aşağıdaki komutları yazarken "parola" kelimesi yerine vermek istediğiniz parola kelimesini yazmamız gerekir:

          # scripts/mysql_install_db          # cd /usr/local/mysql/bin          # ./safe_mysqld &          # ./mysqladmin -u root password "parola"

Kurulum işleminin başarılı olup olmadığını sınamak için, kurulum sırasında oluşturulan örnek veritabanı dosyalarını bulunup bulunmadığını soruşturabilir ve kendimiz yeni bir veritabanı oluşturabiliriz. Bunun için şu komutu yazalım:

          # BINDIR/mysqlshow -p          # mysql -u root -p

Sistem "Enter password:" karşılığını verdiğinde, yukarıda kullanım izinlerini belirlerken yazdığınız parolayı yazıyoruz; MySQL sunucusu çalışacak ve bize kullanıcı izinlerinin bulunduğu "mysql" ve sınama amacıyla oluşturulan "test" adlı iki veritabanının bulunduğunu bildirecektir. Şimdi kendi veritabanımızı oluşturalım. MySQL sunucu komut istemcisi satırına şu komutları yazalım;

          mysql> create database deneme;

Sunucu "Query OK, 1 row affected (0.00 sec)" şeklinde karşılık verecektir. Şimdi bu veritabanını seçerek içinde deneme adlı ve içinde "no" ve "isim" adlı iki alan bulunan bir tablo oluşturalım (MySQL komutları büyük harf-küçük harf ayrımı yapmaz; komutlardan sonra noktalı virgül konur).

          mysql> use deneme;          Database changed          mysql> CREATE TABLE books (          -> no int(3) not null auto_increment,          -> isim char(50) not null,          -> unique(no),          -> primary key(no)         -> ); Bu kod bloğunu çalıştırdıktan sonra sistem bize aşağıdaki gibi dönüt sağlayacaktır.                  Query OK, 0 rows affected (0.00 sec)

Bakalım tablomuz başarılı şekilde oluşmuş mu?

          mysql> show tables;           mysql> describe deneme;          Field Type Null Key Default Extra           no int(3) PRI 0 auto_increment           isim char(50)           2 rows in set (0.00 sec)

Hem MySQL"i kurmuş, hem de ilk tablomuzu oluşturmuş bulunuyoruz. Şimdi MySQL"den çıkalım ve kuruluma devam edelim.

3.                 Sıra geldi PHP kurulumuna. PHP kaynak dosyasının bulunduğu geçici dizine geçin ve dosyaları açın; sonra açılan dosyaların bulunduğu dizine gidin:

               # gunzip -c PHP-4.0.1pl2.tar.gz | tar xf -               # cd PHP-4.0.1pl2

Şimdi configure dosyasını çalıştıracağız; bu komutun birçok opsiyonu vardır; bunların tümünü görmek istiyorsanız, "configure –help" komutunu verebilirsiniz. Biz sadece PHP"ye MySQL ve Apache opsiyonlarını eklemekle yetineceğiz:

# ./configure --with-mysql=/usr/local/mysql --with-xml --with-                                 apache=../apache_1.3.12 --enable-track-vars

Oluşan binary dosyalarını program dosyasına çevirerek, yükleyelim:

          # make          # make install

Oluşan ini dosyasını lib dizinine kopyalıyalım:

          # cp PHP.ini-dist /usr/local/lib/PHP.ini

PHP.ini dosyasındaki bir çok özelliği değiştirerek, PHP"nin çalışma tarzını ayarlayabilirsiniz; örneğin şu satırı ekleyerek, PHP"nin azamî çalışma süresini arttırabilirsiniz:

          max_execution_time = 60;

Döküman Arama

Başlık :

Kapat