Sehri-Paylasim
Hosgeldiniz
Sehri-Paylasim
Hosgeldiniz
Sehri-Paylasim
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Sehri-Paylasim


 
AnasayfaAramaLatest imagesKayıt OlGiriş yap
Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum
En iyi yollayıcılar
Admin
Linux'ta program derlediniz mi?   Vote_lcapLinux'ta program derlediniz mi?   Voting_barLinux'ta program derlediniz mi?   Vote_rcap 
daba31
Linux'ta program derlediniz mi?   Vote_lcapLinux'ta program derlediniz mi?   Voting_barLinux'ta program derlediniz mi?   Vote_rcap 
hidelgo41
Linux'ta program derlediniz mi?   Vote_lcapLinux'ta program derlediniz mi?   Voting_barLinux'ta program derlediniz mi?   Vote_rcap 

 

 Linux'ta program derlediniz mi?

Aşağa gitmek 
YazarMesaj
Admin
Kurucu / Root
Admin


Mesaj Sayısı : 552
Kayıt tarihi : 09/07/10
Yaş : 41
Nerden : Bursa

Linux'ta program derlediniz mi?   Empty
MesajKonu: Linux'ta program derlediniz mi?    Linux'ta program derlediniz mi?   EmptyC.tesi Eyl. 24, 2011 7:51 am

Linux'ta program derlediniz mi?

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.
/////////////////KUTU BİTTİ///////////////
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
[Linkleri görebilmek için üye olun veya giriş yapın.] 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;
Sayfa başına dön Aşağa gitmek
https://sehripaylasim.yetkin-forum.com
 
Linux'ta program derlediniz mi?
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Sehri-Paylasim  :: Forum :: HTML, PHP, ASP, PERL-
Buraya geçin: