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.
Elinize sağlık. Çok faydalı ve bilgilendirici olmuş.
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?
En kolay yöntem bir panel kullanmak, örneğin ücretsiz bir panel olan CentosWebPanel deneyebilirsiniz.