Linux

Centos Sunucuyu LAMP, Phpmyadmin, Bind DNS, Vsftp 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 Paneli 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şiklilikler 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 gibi uzun uzadıya bir makale olacak. Şimdi öncelikle bu aşamaları bedava yapabilmek için digital oceandan bir vps almak için kredi kartınıza tanımlı bir sanal kredi kartı oluşturup bu kredi kartını digitaloceana tanımladıktan sonra bize verdiği 10$ karşılığında 5$ lık vps den kiralayalım aşağıdaki adımlardan istediğiniz vps kiralayabilirsiniz.



Yukardaki adımlardan kendinize 5$ lık vps ücretsiz oluşturabilirsiniz.

Oluşturduğumuz vps ye terminalden bağlanalım eğer windows kullanıyorsanız putty programını yada müdaillerini indirip ssh den sunucumuza bağlanalım.

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ı istiyecek 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 serverimizi 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 diyip yeni şifre oluşturalım diğer sorularına da y tuşu ile onaylayalım.

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

yum install httpd -y

Komutu ile kurulumu gerçekleştirelim.

Apache serverimiz kurulumu tamaladıktan sonra apache serveri çalıştıralım

service httpd start

Sunucu her resetten 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 ip adresiniz yazmanız

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 kurulumuda gerçekleştikten sonra php’nin diğer bileşenlerini kuralım bunların içinde wordpress kurulumu için gerekli 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

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

 <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ştruduk. 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






[code_sc]

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;

[/code_sc]

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

En alta gelip domaininizi ekleyiniz

[code_sc]

zone “bektas.xyz” IN {

        type master;

        file “bektas.xyz.zone”;

        allow-update { none; };

};

[/code_sc]

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.

 

[code_sc]

$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

[/code_sc]

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

[code_sc]

# domain: bektas.xyz

# public: /home/vhostbektas.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>

[/code_sc]

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

nano /etc/hosts

[code_sc]

# 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

[/code_sc]




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ştirek

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.

[code_sc]

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

[/code_sc]

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/html

service vsftpd restart

kullanıcı oluştrudk 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 ne dosyaları yüklemek kaldı. Hepinize kolay gelsin. Tekrar söyleyim 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. Takıldığınız bir yer olursa yardımcı olmaya çalışırım.

5 Yorumlar
  1. Özan Çelik 8 yıl önce
    Cevapla

    Elinize sağlık. Çok faydalı ve bilgilendirici olmuş.

  2. Ogün 6 yıl önce
    Cevapla

    Merhabalar wamp server ı internete açmayı planlıyorumda internette wamp server ile alakali bi sey bulamadım.
    Windows ta gelistirici özellikleri var açtığımda onu nasıl kullanacağım hakkında makalede veya video bulamadım . Web server için daha az uğraştirici yöntem centos mu?

Yorum Yaz

*E-mail adresiniz gizli kalacaktır.

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

Öneriler

Yeni Makaleler