Linuxweb.Tr.GG Online PHP,MYSQL Kılavuzu - Linux'ta program derlediniz mi?
   
Menü
  Ana Sayfa
  LinuxWeb Anket
  Bedava Linux Siteleri Evinize Teslim
  Linux Haberleri
  Linux Destek, Teknoloji ve Eğitim Kurumları
  Linux E-Book
  Linux Siteleri
  Windows'da Linux Temaları
  Temel Linux Komutları
  Temel Linux Komutları 2
  Linux Kitapları ve Dergileri
  Pardus Nedir ?
  Pardus İndir
  Pardus Değişenler
  Linux Dersleri 1
     
  PHP ve MYSQL
  PHP
  PHP'ye Giriş
  PHP ve Veritabanı
  PHP ve Web Sunucusu
  Unix/Linux Sistemleri
  Linux'ta program derlediniz mi?
  Güvenli socket ve Internet Erişimi Katmanı
  Windows-PWS ve IIS
  Browser Yetenek Dosyası: Browscap.ini
  PWS 4.0
  Windows'da Apache!
  Windows'da MySQL
  PHP Dili
  PHP'nin Yapı Taşları
  PHP programını durdurmak
  Değişkenler
  Veri Türleri
  Tür Değiştirme
  Fonksiyon
  Escape
  Dört yararlı fonksiyon
  İşlemciler (Operatörler)
  Bir Arttırmak veya Azaltmak için
  Sabit Değerler
  Tarih ve saat Verisi
  PHP'de Program Denetimi
  if Deyimi
  switch deyimi
  switch için kısa yol
  Döngüler
  while döngüsü
  do..while
  for döngüsü
  foreach
  Döngüyü sona erdirmek için: break
  Döngüyü sürdürmek için: continue
  Fonksiyonlar
  Fonksiyon Tanımlama ve Çağırma
  Fonksiyona varsayılan değer verebiliriz
  Değişkenlerin kapsamı: global ve static
  Dizi-Değişkenler, Nesneler
  Dizi Değişken Oluşturalım
  Dizi değişkenleri kullanalım
  Dizi Değişkenlerin Düzenlenmesi
  Dizileri birleştirme: array_merge()
  Dizilere değişken ekleme: array_push()
  Dizinin ilk elemanını silme: array_shift()
  Diziden kesit alma: array_slice()
  Dizileri sıralama: sort() ve rsort()
  İlişkili dizileri sıralama: asort() ve ksort()
  Nesneler
  Bir Nesne Oluşturalım
  PHP İşbaşında
  Formlar
  Form'dan GET Metoduyla Gelen Bilgiler
  URL Kodları
  Form'dan POST Metoduyla Gelen Bilgiler
  Form ile işlemciyi Birleştirelim
  Dosya "çıkartma"
  Dosya İşlemleri
  Harici Dosya (include)
  include mu, require mı?
  Dosyalar hakkında bilgi
  Dosya var mı? file_exits()
  Dosya mı, dizin mi? is_file() ve is_dir()
  Dosya okunabilir mi? is_readable()
  Dosya yazılabilir mi? is_writable()
  Dosya çalıştırılabilir mi? is_executable()
  Dosya boyutu: filesize()
  Dosyaya son erişim tarihi: fileadate(), filemtime() ve filectime()
  Dosyalar oluşturma ve silme
  Dosya açma
  Bir Fonksiyonu durdurmak için: Öl!
  Dosya okuma: fgets(), fread() ve fgetc()
  fseek() ile ölçü belirleme
  Dosyaya yazma ve ek yapma: fwrite() ve fputs()
  Kullanımdaki dosyayı kilitleyin!
  Dizinlerle İşlemler
  Dizin içeriğini listeleme: opendir() ve readdir()
  Dizin oluşturma: mkdir()
  Dizin silme: rmdir()
  Bir Dosya İşlemi Örneği: Konuk Defteri
  Metin Düzenleme ve Düzenli İfadeler
  Temel Alfanümerik Fonksiyonları
  substr()
  trim()
  ord()
  strlen()
  chr()
  printf() ve sprintf()
  number_format()
  Tarih ve Saat Düzenleme
  Düzenli İfadeler
  Eşleştirme deyimleri ve işaretler
  Düzenli İfadelerde Özel Karakterler
  Karakter Grupları
  Düzenli İfade Fonksiyonları
  ereg() ve eregi()
  ereg_replace() ve eregi_replace()
  split()
  sql_regcase()
  PHP ile Veritabanı
  MySQL Veritabanı
  mySQL veri türleri
  PHP-MySQL İlişkisi
  PHP'de Güvenlik
  Parola ve SSL
  Tırnak İşareti Sorunu
  PHP Kaynakları
       

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 ve sıkıştırır. 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ı makina 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. Nesne dosyalarının adının uzantısı genellikle .o olur. Derleyici başlık (header, uzantısı .h olan) dosyalarını bulamazsa derleme hatası verir.

make: henüz derlenmemiş kaynak dosyalarını derleyen yardımcı bir programdır. make, derleme talimatlarını Makefile adlı bir dosyadan alır.

ld: GNU'nun bağlayıcı (linker) programıdır. Nesne dosyalarını ve kitaplık denen dosyaları birbirine bağlayarak ortaya çalıştırılabilir bir program dosyası çıkartır. Genellikle Makefile'ın içinde linker'ın çalıştırılması talimatı bulunur ve sizin bu programı kullanmanız gerekmez.

ldconfig : paylaşılan kitaplık dosyalarını (shared librari) arar. Bu dosyalardan birden fazla program tarafından paylaşılır, ve dosya adlarında .so bulunur.

./configure : C derleyecisi ve header dosyalarının nerede olduğunu araştırır, ve vardığı sonuca göre Makefiles dosyasında değişiklik yapar.

PHP, bir Unix/Linux sisteminde müstakil yorumlayıcı veya Apache Web sunucusunun bir modülü olarak çalışmak üzere derlenebilir. PHP, müstakil yorumlayıcı olarak kurulduğunda, Web sunucusu, her ihtiyaç halinde PHP yorumlayıcısının bir örneğini çalıştırır. Bu, bir süre sonra Web sunucusunun bulunduğu işletim sisteminin yükünün artmasına ve işleyişinde yavaşlamaya yol açabilir. Oysa PHP, sunucunun bir modülü olarak kurulduğunda, bu sakınca ortaya çıkmaz. (Bu özelliği ile PHP, klasik CGI/Perl'ün çalışma tarzından ayrılır, ASP'nin ve ColdFusion'ın çalışma tarzına yaklaşır.) Bununla birlikte kötü niyetle veya beceriksizce yazılmış PHP programları modül olarak kurulmuş PHP'yi çökertirlerse, Web sunucusunu da çökertmiş olurlar; oysa müstakil PHP yorumlayıcı çökerse, Web sunucusuna bir şey olmaz.

Burada yapacağımız kurulum işlemi sırasında Linux kurulu olan bilgisayarımıza Apache Web sunucu programını, bu sunucunun kullanacağı güvenli Socket katmanını sağlayacak Mod_SSL programını, bu programın gerektirdiği OpenSSL aracını, MySQL veritabanı sunucusunu ve PHP Scripting dilini kurmuş olacağız.

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 and GNU make kurulu olduğunu varsayıyorum):

1. Sisteminizi root olarak başlatın ve sıkıştırılmış olarak alacağınız PHP ve Apache dosyalarını geniş yer olan geçici bir dizinde açın, ve o dizine gidin. Sözgelimi, Apache'nin tar-zip 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ğiniz Apache sürümü farklı ise onun adını yazacaksınız. Şimdi Apache'yi açtığınız klasöre gidin ve buradaki configure dosyasını çalıştırın:

# 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ı sunucusunda. Linux'ta root oturumunda iken sıkıştırılmış dosyaları indirdiğiniz geçici dizine  geçin ve dosyaları açın; sonra oluşturulan dizine giderek, configure komutu ile veritabanı sürücüsünü yapılandırın:

# 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, ve 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 yazmanı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şturlan ö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ın; MySQL sunucusu çalışacak ve size 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 şunu yazın (Bilgisayarın vereceği karşılıklardan ayırt etmek için kendi yazdıklarımızı koyu renkle gösteriyoruz):

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). Burada koyu renkle gösterilen satırlar ve işaretler bize aittir:

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)

-> );

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)

Çok güzel! Hem MySQL'i kurmuş, hem de ilk tablomuzu oluşturmuş bulunuyoruz. MySQL komutlarını daha ayrıntılı öğrenebilmek için MySQL'in http://www.mysql.com adresindeki sitesini ziyaret edebilirsiniz. Şimdilik MySQL'den çıkalım ve kuruluma devam edelim.

3. Sıra geldi PHP'ye!  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 koplayalı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;

   
Bugün 19 ziyaretçi (23 klik) Tekil ziyaretci sitemizi ziyaret etti...
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol