Tekil Mesaj gösterimi
Alt 20-11-2006, 16:01   #1
odin
B J K
 
odin - ait Kullanıcı Resmi (Avatar)
 
Lightbulb Linuxta Apache (modülleriyle) ,Mysql, PHP Kurulumu



Evet başlangıç olarak şunu belirtmek isterim ki bu döküman CentOS işletim sistemine apache,mysql,php kurulumunu anlatmaktadır.
RedHat ve Fedora kullanıcıları da bu dökümana göre kurulumlarını yapabilirler. Diğer linux türevlerini

kullanan arkadaşlar için kurulum olarak aynı ama başlangıçta çalışmları için farklı dosya yolları kullanmaları gerekmektedir.

örnek olarak CentOS ve redhat başlangıçta çalışması istenen programları /etc/rc.d/init.d/ dizinine atar. ama Suse için

/etc/init.d/ olması gerekir. Evet artık başlayabiliriz.
Öncelikle sistemimizde gcc ve gc++ bulunması gerekir. root shellimize login oluyoruz. daha sonra;
Kod:

root@turk [/]# rpm -qa | grep gcc*
libgcc-3.4.5-2
gcc-c++-3.4.5-2
gcc-java-3.4.5-2
libgcrypt-1.2.0-3
gcc-3.4.5-2
gcc-g77-3.4.5-2
libgcj-devel-3.4.5-2
libgcj-3.4.5-2

komutuyla sistemimizde gerekli derleyicilerin bulunup bulunmadığına bakıyoruz.
görünene göre sistemimizde gerekli derleyiciler ve lib dosyaları bulunmakta. devam ediyoruz.
sistemimizde apache,mysql,php yüklü ise bunları kaldırıyoruz.
önce ;

Kod:

root@turk [/]# ps -ax


ile processleri kontrol edip çalışan apache,mysql var ise bunları;

Kod:

root@turk [/]# kill -9 PID



şeklinde durdurup;

Kod:

root@turk [/]# rpm -qa | grep -i apache
root@turk [/]# rpm -qa | grep -i httpd
root@turk [/]# rpm -qa | grep -i php
root@turk [/]# rpm -qa | grep -i mysql


komutları ile yüklü olup olmadığına bakıp,daha sonra;

Kod:

root@turk [/]# rpm -e dosyaadı


şeklinde siliyoruz.
daha sonra kurulumlar için gerekli olan apache,mysql,php kaynak kodlarını ediniyoruz.

Kod:

root@turk [/]# cd /usr/local/src


yazıp derlemeleri yapacağımız dizine geçiyoruz ve gerekli dosyaları çekiyoruz.

Kod:

root@turk [/]# wget [Sitemizdeki Linkleri Sadece Üyelerimiz Görebilir. 60 saniyenizi Ayirarak üye olmak için Tiklayiniz.]
root@turk [/]# wget [Sitemizdeki Linkleri Sadece Üyelerimiz Görebilir. 60 saniyenizi Ayirarak üye olmak için Tiklayiniz.]
root@turk [/]# wget [Sitemizdeki Linkleri Sadece Üyelerimiz Görebilir. 60 saniyenizi Ayirarak üye olmak için Tiklayiniz.]


daha sonra;

Kod:

root@turk [/] tar zxf php-4.4.2.tar.gz
root@turk [/] tar zxf apache_1.3.34.tar.gz
root@turk [/] tar zxf mysql-standard-4.1.18-pc-linux-gnu-i686


yazarak kaynak kodlarımızı açıyoruz.
ve ;

Kod:

/usr/local/src/php-4.4.2
/usr/local/src/apache_1.3.34
/usr/local/src/mysql-standard-4.1.18-pc-linux-gnu-i686


bu dizinleri görüyoruz.
Evet artık sırasıyla kurulumlara başlayabiliriz.

MYSQL Kurulumu:

önce mysql için bir grup oluşturuyoruz. çünkü güvenlik için mysql in roottan çalışmasını istemiyoruz. bu sebeple ;

Kod:

root@turk [/]# groupadd mysql
root@turk [/]# useradd -g mysql -c "MySQL Server" mysql


yazıp mysql kurulumu için mysql-standard-4.1.18-pc-linux-gnu-i686 dizinine geçiyoruz.

Kod:

root@turk [/]# cd /usr/local/src/mysql-standard-4.1.18-pc-linux-gnu-i686
root@turk [/]# chown -R root.root *
root@turk [/]# make clean
root@turk [/] ./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--disable-maintainer-mode \
--with-mysqld-user=mysql \
--with-unix-socket-path=/tmp/mysql.sock \
--without-comment \
--without-debug \
--without-bench

komutlarını verip mysql i konfigüre ediyoruz. Burda verdiğimiz komutları kendinize göre düzenleyebilirsiniz. mysql genelde

/user/local/mysql dizininde çalışmayı sevdiği için prefix olarak o dizini seçtim. eğer güvenliğinize çok düşkün iseniz chroot

ile kurulum yapabilirsiniz. değişik konfigürasyonlar için;

Kod:

root@turk [/] ./configure --help | less


komutunu verip gerekli seçenekleri kendinize göre düzenleyebilirsiniz.
evet sıradaki bölümde kendimize bi çay koyabiliriz. çünkü mysql in kurulum işlemini başlatacak komutları vericez artık.

Kod:

root@turk [/] make && make install


yazıp kendimize bir çay koyuyoruz.
................................
çayımızı bitirdiğimizde mysql in yüklenmiş olduğunu görüyoruz ama mysql in çalışabilmesi için gerekli olan bazı ayarları

yapmamız gerekmekte sırasıyle o ayarlara bakalım şimdi.
öncelikle mysql için mysql database ini yüklüyoruz.

Kod:

root@turk [/] ./scripts/mysql_install_db

daha sonra mysql dosyalarının kullanıcılarını belirliyoruz ki böylece mysql in dosyalarını sadece biz(root) ve mysql kontrol

edebilsin.

Kod:

root@turk [/] chown -R root:mysql /usr/local/mysql
root@turk [/] chown -R mysql:mysql /usr/local/mysql/data


default mysql konfigürasyon dosyamızı gerekli dizine kopyalıyoruz ve gerekli dosya izinlerini ayarlıyoruz.

Kod:

root@turk [/] cp support-files/my-medium.cnf /etc/my.cnf
root@turk [/] chown rootClick the image to open in full size.ys /etc/my.cnf
root@turk [/] chmod 644 /etc/my.cnf


eğer data directory not existing şeklinde bir hata alıyorsanız, mysql_install_db adımına geri dönüp hata çıktılarına bakın ve

aynı adımları tekrar yapın.
şimdi sisteme mysql in çalışması için gerekli dinamik kütüphane dosyalarının nerde olduğunu söylemeliyiz.

Kod:

root@turk [/] echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
root@turk [/] ldconfig


mysql in başlangıçta otomatik olarak çalışması için mysql i /etc/rc.d/init.d içine ekliyoruz.

Kod:

root@turk [/] cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
root@turk [/] chmod +x /etc/rc.d/init.d/mysql
root@turk [/] /sbin/chkconfig --level 3 mysql on


mysql binaryleri için kısayolları ekliyoruz;

Kod:

root@turk [/] cd /usr/local/mysql/bin
root@turk [/] for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done


mysql a sadece kendi serverımızdan giriş yapılabilmesi için gerekli parametreleri metin editörümüz ile /etc/my.cnf dosyasına giriyoruz. (pico,vi, nano hangisini kullanıyorsanız)

Kod:

skip-networking


yazıp kaydediyoruz.
artık mysql i başlatabiliriz. öncelikle başlangıçta çalışacak scriptimizin çalışıp çalışmadığını kontrol ediyoruz.

Kod:

root@turk [/] cd ~
root@turk [/] /etc/rc.d/rc3.d/S90mysql start


manuel olarak mysql i çalştırıp durdurmak için;

Kod:

root@turk [/] /etc/rc.d/init.d/mysql start
root@turk [/] /etc/rc.d/init.d/mysql stop


yazıyoruz.

hangi mysql versionunu çalıştırdığımızı test olarak kontrol ediyoruz.

Kod:

root@turk [/] mysqladmin version
mysqladmin Ver 8.41 Distrib 4.1.18, for pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version 4.1.18-standard-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: X day X hours X min XX sec

Threads: X Questions: XXXXX Slow queries: X Opens: X Flush tables: X Open tables: X Queries per second avg: X

şeklinde bir çıktı alıyoruz.

mysql e giriş için root userına bir şifre atıyoruz bunun için de;

Kod:

root@turk [/] mysqladmin -u root password yeni-şifre


yazıyoruz ve şifremizi belirliyoruz.

mysql artık sisteminize kurulu ve çalışmakta. birkaç test yapabiliriz.

Kod:

root@turk [/] mysql -u root -p
Enter password:


şifremizi yazıp login oluyoruz.

bize mysqlde olduğumuzu gösteren mysql promptuna düşeceğiz;

Kod:

mysql>


alttaki komutları verip test database'ini ve kullanıcısını siliyoruz.

Kod:

mysql> drop database test;
mysql> use mysql;
mysql> delete from db;
mysql> delete from user where not (host="localhost" and user="root");
mysql> flush privileges;


deneme olarak bir database oluşturuyoruz;

Kod:

mysql> create database deneme;


ve siliyoruz;

Kod:

mysql> drop database deneme;


Unutulmaması gereken mysql de her komuttan sonra ; işareti kullanılmasıdır.

Kod:

mysql> \q


yazıp çıkıyoruz.

Mysql imiz hazır. Şimdi diğer kurulumlara geçiyoruz
odin Ofline   Alıntı ile Cevapla