Linux(CentOS) sunucuya SSH ile bağlanarak Linux + Apache + MySQL + PHP/Perl ve PhpMyAdmin (LAMP) kurulumu gerçekleştireceğiz. Kuracağımız Stack örneği LAMP olup kurulum öncesi yum REPO dosyalarını güncellememiz gerek.
1) Apache (Apache Web Server 2.0) Kurulumu
# yum install httpd httpd-devel
Yukarıdaki komutu SSH'da yazdıktan sonra onaylama sorusu gelecektir, Y(yes)diyerek devam ediyoruz.
Apache otomatik başlatmak için;
# chkconfig httpd on
Apache konfigirasyon dosyası: /etc/httpd/conf/httpd.conf
Kurulum bittikten sonra aşağıdaki komutla servisi başlatıyoruz.
# /etc/init.d/httpd start
Tarayıcınıza http://SERVER-IP yazarak Apache’nin çalışıp çalışmadığını görebilirsiniz. Eğer ilk resim de gelen ekran gelmediyse aşağıdaki yönergeyi uygulayın.
CentOS işletim sisteminde ön tanımlı olarak bazı portlar dışarıya kapalı gelmektedir. Örnek olarak http (80) portuna ulaşmak için iptables güvenlik ayarlarının yeniden yapılması gerekebilir. Eğer sunucunuzun web sayfasına dışarıdan bağlanmakta güçlük çekiyorsanız aşağıdaki şekilde 80. porta (https için 443) izin vermelisiniz. Başka portlarla da sorun yaşarsanız, bu şekilde izin verebilirsiniz:
SSH üzerinden aşağıdaki kodları sırayla uygulayıp tekrar deneyebilirsiniz;
# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
# service iptables save
2) MySQL Database Server Kurulumu
MySQL Kurulumu;
# yum install mysql mysql-server mysql-devel
MySQL Servisini başlatalım;
# /etc/init.d/mysqld start
MySQL konsoluna giriş yapıyoruz;
# mysql
MySQL Şifremizi belirliyoruz. Sırasıyla aşağıdaki komutları yazın;
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('ŞİFREYAZIN') WHERE user='root';
mysql> flush privileges;
mysql> quit;
Şifreyi kontrol etmek için SSH'dan sunucu ekranını kapatıp tekrar bağlanın sonra aşağıdaki komutu girin;
# mysql -u root -p
Enter Password: ŞİFREYAZIN
MySQL konsoluna girdiyseniz şifre belirleme işlemi başarılı şekilde tamamlanmıştır.
MySQL otomatik başlatmak için;
# chkconfig mysqld on
MySQL Server Bağlantısında aşağıdaki hatayı alıyorsanız şifrenizi yanlış giriyorsunuzdur.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
İlk önce MySQL servisini durduralım;
# /etc/init.d/mysqld stop
Aşağıdaki komutu girip bekliyoruz;
# mysqld_safe --skip-grant-tables &
Komutu girdikten sonra başka bir SSH penceresinden sunucuya tekrar giriş yapın ve aşağıdaki komutu yazın;
# mysql -u root
Komutu girdikten sonra aşağıdakileri sırasıyla uygularak yeni şifre alınız;
mysql> use mysql;
mysql> update user set password=PASSWORD("YeniŞifreniz") where User='root';
mysql> flush privileges;
mysql> quit;
MySQL servisini başlatalım;
# /etc/init.d/mysqld start
MySQL şifremiz ile girmek için aşağıdaki komutu uygulayın. YeniŞifre kısmına MySQL şifrenizi yazın. Giriş yaparsa işlem başarılı şekilde tamamlanmıştır;
# mysql -uroot -pYeniŞifre
CentOS 6.7 REPO İşlemleri;
CentOS 6.7 Repo dizinine geliyoruz ve aşağıdaki komutları sırasıyla uyguluyoruz;
# cd /etc/yum.repos.d/
# service sshd start
# chkconfig sshd on
Daha sonra rpmfusion.org/Configuration sitesinden RHEL 6 or compatible like CentOS altındaki kodu alıp SSH üzerinden yazıp yüklüyoruz.
Yükleme işleminden sonra How to Enable EPEL penceresindeki For EL6 altındaki RPM komutunuda SSH üzerinden yazıp yüklüyoruz. Örnek aşağıdaki gibidir;
# su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm'
3) PHP (PHP Scripting Language 5.0) Kurulumu
PHP Kurulumu;
# yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
PHP Servisini başlatalım;
# /etc/init.d/httpd restart
WinSCP programı ile /var/www/html içerisine aşağıdaki info.php dosyasını atalım.
<?php
phpinfo();
?>
Dosyamızı http://SERVER-IP/info.php adresinden görebiliriz.4) PHP İçin MySQL ve Modüller Desteği Kurulumu
Kurulum komutu;
# yum install php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc
Servisi başlatalım;
# /etc/init.d/httpd restart
PHPMyAdmin kurulumundan devam edebiliriz;
5) PhpMyAdmin Kurulumu
MySQL veritabanlarınızı web üzerinden kontrol edebilmek için phpMyAdmin yazılımına ihtiyaç duyarız.
phpMyAdmin kurulumuna başlayalım;
# yum install phpmyadmin
WinSCP programı ile (/etc/httpd/conf.d/phpmyadmin.conf) dosyasını açın 127.0.0.1 yazan yerlere kendi Server IP adresinizi yazın sonra keydedip sunucuya geri yükleyin.
Sonra phpMyAdmin’in yetkilendirmesini aşağıda gösterildiği gibi cookie’den http’ye dönüştürüyoruz. WinSCP programı ile (/etc/phpMyAdmin/config.inc.php) dosyayı indirip düzenliyoruz.
Dosya içerisinde Authentication method ismini aratın. Uzun açıklama olarak Authentication method (config, http or cookie based)? yazar. Buradaki kod aşağıdaki gibidir;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
Buradaki cookie yazısı yerine http yazıp kaydedin ve dosyayı sunucuya geri atın.
Ayarlamalardan sonra Apache servisini restart ediyoruz;
# /etc/init.d/httpd restart
Kurulum tamamlandıktan sonra http://SERVER-IP/phpmyadmin/ veya www.alanadiniz.com/phpmyadmin adresinden PhpMyAdmin paneline giriş yapabilirsiniz.
PhpMyAdmin giriş bilgileri; kullanıcı adı root olup şifre MySQL şifrenizdir. MySQL şifrenizi unuttuysanız SSH üzerinden aşağıdaki komutla öğrenebilirsiniz;
# cat /root/.my.cnf
VDS sunucular çalışmak için idealdir. LAMP ve Panel kurulumundan sonra sunuyu tekrar ilk aldığınız duruma getirerek başka Server alt yapılarında kurabilirsiniz. Genellikle VDS satın aldığınız yerlerde Yeniden Kurulum olarak bir seçenek vardır. Yeniden kurulum esnasında tüm verileriniz kaybolacak ve ilk zamanki sıfır panelsiz CentOS'a geri dönecektir sanal sunucunuz. Bu işlemi onayladıktan sonra yeni Root şifresi size verilerek sunucuya SSH üzerinden tekrar giriş yapabilirsiniz.