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:
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 root

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