Centos Sunucu Üzerinde LAMP – phpMyadmin – BIND DNS ve vsftpd Kurulumu

Merhaba. Bu makalemde size bir Centos sunucuyu nasıl web server haline getireceğinize değineceğim. Baştan sonra tüm aşamaları tek tek yapacağız. Dip not makaleye başlamadan bu uzun makaleyi okumadan bir web panel kurarak bunlarla hiç uğraşmadan da yapabilirsiniz. Panilux yada Centos Web Panel, CPanel, Plesk gibi web yönetim panelleri ile tek bir komutla kurup yolunuza devam edebilirsiniz. Ama makaleyi okumayı tercih edip bu aşamaları yapmak isterseniz panellerin arka planda sunucunuzda ne tür değişiklikler yaptığını, sunucuda bir kaç sitenin nasıl barındığını, domainin nasıl yönlendirildiğini, ftp ile nasıl bağlanıldığını kullanıcıların nasıl oluşturulduğu, linux olduğu için php dosyalarını nasıl çalıştırabileceğiniz, mysql kurulumu gibi uzun uzadıya bir makale olacak. Şimdi sunucumuza terminalden bağlanalım eğer windows kullanıyorsanız putty programını yada müdahillerini indirip ssh aracılığı ile sunucuya bağlanabilirsiniz. (Sunucu özellikleri Cpu 1.8 GHZ – 512 mb Ram- 20 gb hdd Centos 6.8) Düşük özelliklerde bir sanal sunucu.

 

image001

 

SSH ile sunucumuza bağlandık. İlk defa bağlandığımız için bize gönderilen şifreyi tekrar isteyecek yeni bir şifre oluşturmamızı isteyecek bizden Changing password for root kısmına eski şifreyi girip new password kısmına yeni şifrenizi girip tekrar şifreyi onaylamak için yazdıktan sonra sunucuya tamamen bağlandınız demektir. Şimdi hemen sunucumuzu bir güncelleyelim

 

yum update

yum upgrade

 

Güncellemeleri bitirdikten sonra artık kuruluma geçebiliriz. Öncelikle mysql sunucumuzu kuralım. Bunun için komut paneline

 

yum install mysql-server –y

 

Yazarak enterleyelim ve mysql kurlumuzu gerçekleştirelim.

 

Yukardaki gibi kurulumuzu gerçekleşiyor. Kurulum bittikten sonra mysql çalıştıralım

 

service mysqld start

mysql sunucu her açıldığında otomatik açılması için

chkconfig mysqld on

 

 

Şimdide güvenlik ayarlarını ve root şifresini belirleyelim.

 

mysql_secure_installation

 

Yazdıktan sonra bizden şifre isteyecek şifremiz olmadığı için hiç bir şey yazmadan entere basıp bize yeni şifre oluşturalım mı diye soracak bizde y deyip yeni şifre oluşturalım diğer sorularına da y tuşu ile onaylayalım.

 

 

Mysql kurlumu tamam artık apache sunucumuzu kurmaya geçebiliriz. Bunun için de

 

yum install httpd -y

 

Komutu ile kurulumu gerçekleştirelim.

 

 

Apache server kurulumu tamamladıktan sonra apache servislerini çalıştıralım

 

service httpd start

 

Sunucu her reboot ettikten sonra otomatik açılması için

 

chkconfig httpd  on

 

 

Gördüğünüz gibi apache server çalıştı. Şimdi test edelim gerçekten de çalışıyor mu diye. Bunun için bilgisayarınızdan herhangi bir tarayıcıyı açıp sunucumuzun ip adresiniz yazalım.

 

 

Evet gördüğünüz üzere sunucumun ip adresini yazınca apache ana sayfası bizi karşıladı kuruldum diyor yani. Sıra geldi php kurmaya.

 

yum install php –y

 

 

php kurulumu da gerçekleştikten sonra php’nin diğer bileşenlerini kuralım bunların içinde wordpress kurulumu içinde gerekli olacak paketler php ile mysql bağlantısını sağlayan bir kaç şey

 

yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc

 

 

Gerekli paketleri de kurduk. Apache serveri tekrar resetleyelim

 

service httpd restart

 

 

Şimdi sunucumuza php kurduk mysql kurduk. Bakalım sorunsuz çalışıyorlar mı?  /var/www/html dizinin içine bir info.php dosyası oluşturacağız nano kurlu olmadığı için önce nano’yu kuralım.

 

yum install nano –y

 

 

Ardından

 

nano /var/www/html/info.php

 

Komutunu çalıştırıp içine aşağıdaki html komutlarını ekleyelim

 

<?php
phpinfo();
?>

 

ctl+x basıp y tuşu (Türkçe ise e) ile kaydedip çıkıyoruz.

 

 

Sunucumuzda info.php dosyasını açalım bakalım çalışacak mı? Bunun için http://sunucuipadresiniz/info.php yazmanız yeterli

 

 

Yukardaki ekran görüntüsünde de görüldüğü gibi sunucumuzda php çalışıyor kurulu paketler mysql görebilirsiniz. Şimdi mysql bağlanmak için phpmyadmin kuralım

 

yum install epel-release (epel-release paketi yüklü değilse önce paketi yükleyelim)

yum install phpmyadmin –y

 

 

Genelde uzaktan erişime kapalı oluyor. Apache yi resetleyelim

 

service httpd restart

 

 

http://sunucuipadresiniz/phpmyadmin yazınca bağlanıyorsa sıkıntı yok demektir. Eğer bağlanamıyorsanız

 

nano /etc/httpd/conf.d/phpMyAdmin.conf

 

<IfModule !mod_authz_core.c> Ünlem işaretini kaldırın aşağıdaki gibi yapalım

<IfModule mod_authz_core.c>

 

Yukardaki gibi düzenleyip ctrl+x basıp y ile kaydedelim. Httpd tekrar resetleyelim

 

service httpd restart

 

 

http://sunucuipadresiniz/phpmyadmin adresine girince karşımıza phpmyadmin paneli karşılaması lazım. Kullanıcı adımız root şifremiz de mysql ne şifre verdiyseniz o.

 

 

Buraya kadar alt yapımızı oluşturduk. Mysql kurduk, apache kurduk, php5 kurduk, php paketlerini kuruk, mysqlye veritabanını yükleyebilmek için de phpmyadmin kurduk. Şimdi de sıra geldi. Host sistemini oluşturmaya. Önce sunucumuza Bind DNS kuruyoruz ki domainimizi yöneldirildiğinde bağlantı sağlanabilsin.

 

BIND DNS KURULUMU

 

yum install bind bind-utils –y

 

 

Bind DNS kurulumu tamamlandı domain ve sunucu ayarları için named.conf dosyasını açıyoruz.

 

nano /etc/named.conf

 

 

options {

listen-on port 53 { 127.0.0.1; 159.203.141.208; };

        listen-on-v6 port 53 { ::1; };

        directory “/var/named”;

        dump-file “/var/named/data/cache_dump.db”;

        statistics-file “/var/named/data/named_stats.txt”;

        memstatistics-file “/var/named/data/named_mem_stats.txt”;

        allow-query     { any; };

        recursion no;

koyu işaretlediğim yerleri düzenleyiniz. Kendi sunucu ip adresinizi giriniz ve no yu yes yapınız

En alta gelip domaininizi ekleyiniz

zone “bektas.xyz” IN {

        type master;

        file “bektas.xyz.zone”;

        allow-update { none; };

};

Domainimizi ekledik. IP adresimizide tanımladık ctrl+x diyerek kaydedip çıkıyoruz. Domainimiz için bektas.xyz.zone diye bir dosya oluşturduk. Bu dosyayı oluşturmak için (Dikkat “bektas.xyz” ve file “bektas.xyz.zone”; deki ” işaretine dikkat ediniz copy paste ederken trank işareti değişebilir.)

 

nano /var/named/bektas.xyz.zone

 

 

Yukardaki gibi düzenleyiniz kendi domain adresinizi ve NS lerinizi.

$TTL 86400

@   IN  SOA     ns1.bektas.xyz. info@bektas.xyz. (

2014020801  ;Serial

3600        ;Refresh

1800        ;Retry

604800      ;Expire

86400       ;Minimum TTL

)

; NS sunucularini belirtiyoruz:

IN NS              ns1.bektas.xyz.

IN NS              ns2.bektas.xyz.

; NS’lere ait kayitlar. (bu domain ayni zamanda ana zone oldugundan ns1 ve ns2’$

ns1             IN A               159.203.141.208

ns2             IN A               159.203.141.208

; ve diger tum kayitlar.

bektas.xyz.     IN A               159.203.141.208

@               IN A               159.203.141.208

www             IN CNAME           @

bektas.xyz.     IN MX 10 mx.yandex.net.

bektas.xyz.     IN TXT             v=spf1 redirect=_spf.yandex.net

ctr+x diyerek kaydedip çıkıyoruz. Sunucuya yüklenmemek için yandex maili kullanacağımdan mx ve spf kayıtlarını yandex’e yönlendirdim.

Ardından iptables de sıkıtı olmasın diye kapatalım bind dns resetliyoruz ve sunucuya her baştan açtığımızda bind DNS otomatik açılmasını söylüyoruz

 

service iptables stop

service named restart

 

Eğer dosyaları düzgün düzenlediyseniz otomatik Starting de OK yazacaktır. Eğer hata alırsanız tekrar restart ediniz. Eğer conf dosyası ile bir hata varsa size hata olduğuna dair bir uyarı mesajı verecektir.

 

chkconfig named on

Sıra geldi domain panelinizden name serverleri oluşturmaya. Ben domaini Natro’dan aldığım için Natro’nun domain panelinden NS leri tanımlıyorum ve domaini bu NS yönlendiriyorum.

 

NS tanımlamalarını yaptıktan sonra NS lerin oturması 24 saati bulabiliyor bazen. Şimdi deneyelim. Tabi ben yönlendirme işlemleri ve NS ler oturduktan sonra ekran görüntülerini aldım. bektas.xyz dediğimde siteye eriştiğimi ve bektas.xyz whois bilgilerine baktığımda sunucunun ip adresine kayıtlı olduğunu göreceksiniz.

 

 

Name serverde tamam şimdi sıra geldi Host işlemlerini yapmaya ilk önce host işlemleri için dizin işlemlerini yapalım. Örneğin /home/vhost/bektas.xyz/ dizinini bu domain için kullanalım. Önce dizinleri oluşturalım

 

cd /home
mkdir -p vhost/bektas.xyz/{public,private,log,cgi-bin,backup}

 

Klasörlerimizi oluşturduk şimdi sıra geldi apache de domaini tanımlamaya

 

nano /etc/httpd/conf/httpd.conf

 

 

ctr+w ile namevirtualhost yazıp enter basarak arayalım.

NameVirtualHost *:80 başındaki # işareti silelim

# domain: bektas.xyz

# public: /home/vhost/bektas.xyz/

<VirtualHost *:80>

# Admin mail adresi, sunucu adi, sunucu takma adi

ServerAdmin info@bektas.xyz

ServerName  bektas.xyz

ServerAlias www.bektas.xyz

# Index ve web sitesinin ya da uygulamasının bulunacagi public klasor

DirectoryIndex index.html

DirectoryIndex index.php

DocumentRoot /home/vhost/bektas.xyz/public

# Custom log file locations

LogLevel warn

ErrorLog  /home/vhost/bektas.xyz/log/error.log

CustomLog /home/vhost/bektas.xyz/log/access.log common

</VirtualHost>

 

Kodlarını ekledikten sonra ctr+x ile kaydedip çıkıp hosts dosyasını düzenleyelim.

 

nano /etc/hosts

 

# Your system has configured ‘manage_etc_hosts’ as True.

# As a result, if you wish for changes to this file to persist

# then you will need to either

# a.) make changes to the master file in /etc/cloud/templates/hosts.redhat.tmpl

# b.) change or remove the value of ‘manage_etc_hosts’ in

#     /etc/cloud/cloud.cfg or cloud-config from user-data

# The following lines are desirable for IPv4 capable hosts

127.0.0.1 zulfumehmet zulfumehmet

127.0.0.1 localhost.localdomain localhost

127.0.0.1 localhost4.localdomain4 localhost4

159.203.141.208 bektas.xyx

# The following lines are desirable for IPv6 capable hosts

::1 bektas.xyz bektas

::1 zulfumehmet zulfumehmet

::1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

Yukardaki gibi düzenledikten sonra apache ana dizin değiştirdiğimiz için hata vermesin diye

 

chown apache:apache /home/vhost -R

chmod 755 /home/vhost –R

 

Son olarak apache reset atalım

 

service httpd restart

 

Buda tamam artık domainimizi de istediğimiz yere atadık. Buda bitti. Tamam herşey bitti ama biz bu hosta nasıl dosya yükleyeceğiz. Tamam php çalıştı mysql de çalışıyor. Domainler yönlendi. NS ler oturdu. Dosyaları nasıl yükleyeceğiz oda FTP ile elbette bide ftp kuralım.

 

yum install -y vsftpd ftp

 

 

Kurulum bitikten sonra ftp başlatalım ve otomatik başlatmayı aktifleştirelim

 

chkconfig vsftpd on

service vsftpd start

 

ftp yi de başlattık ufak bir kaç ayar daha var onları da yapalım. Aslında fazlalıkları silelim gerek yok onun için

 

rm /etc/vsftpd/vsftpd.conf

 

Bu komutla sildik aşağıdaki ile de oluşturalım.

 

nano /etc/vsftpd/vsftpd.conf

 

Dosyanın içineki komutların hepsini siliniz aşağıdaki komutları giriniz. İsterseniz bunun yedeğini alabilirsiniz.

 

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

#anon_upload_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

#chown_uploads=YES

#chown_username=whoever

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

#idle_session_timeout=600

#data_connection_timeout=120

#nopriv_user=ftpsecure

#async_abor_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Hosgeldiniz….

chroot_local_user=YES

listen=YES

max_clients=100

max_per_ip=25

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

 

 

ctrl+x ile kaydedip çıkıyoruz

 

service vsftpd restart

 

Resetledik herhangi bir sıkıntı yoksa ftp resetlenmiş olması lazım. Şimdi de kullanıcı oluşturalım. Bektas.xyz domainine erişebilmek için izinleri ayarlayalım

 

useradd bektasxyz -d /home/vhost/bektas.xyz

passwd bektasxyz

 

En son html klasörüne okuma yazma izni verelim.

 

chmod 777 /home/vhost/bektas.xyz/public

service vsftpd restart

 

kullanıcı oluşturduk ve passwd ile şifre atadık resetledik de şimdi filezilla yada benzeri bir programla deneyelim bağlanabiliyor muyuz?

 

 

Bağlantı da sağlandı artık public klasörün içine dosyaları yüklemek kaldı. Hepinize kolay gelsin. Tekrar bilgilendireyim bunların hepsini iki üç tıklama ile rahatlıkla web yönetim panellerinden yapabilirsiniz, ücretli ve ücretsiz bir çok web paneller var hepsini yapacağı işlemler arka planda böyle. Bu şekilde size ne faydası olacak derseniz sadece sunucunuza fazladan bir yük bindirmemiş olacaksınız. Hepinize kolay gelsin.

 

 

Exit mobile version