Centos Sunucuyu LAMP, Phpmyadmin, Bind DNS, Vsftp Kurulumu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bektas
    x-files
    x-files's avatar
    Kayıt Tarihi: 06/Eylül/2005
    Erkek

    CENTOS SUNUCUYU LAMP, PHPMYADMİN, BİND 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 php 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

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

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

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

    PDF halinde indirmek isterseniz:

    https://drive.google.com/file/d/0B0qQyUwUKFVzYTgtSnJoYVdoQkE/view?usp=sharing 

     

    x-files tarafından 23/Ara/16 13:37 tarihinde düzenlenmiştir

    //Hayat Bazen Tatlıdır//--//Aşıksan vur saza şoförsen bas gaza// https://zulfumehmet.com/ Kişisel bir olay
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Martech
    Martech's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    emeğine sağlık. 

    alternatif isteyenler ubuntu https://serverpilot.io/ tamamen otomatik kodlama bilgisi olmayanlar için çok stabil ve güvenilir performans centos dan çok daha iyi olduğunu söyleyebilirim.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikibok
    KaptaN
    KaptaN's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek

    Eline koluna sağlık 

Toplam Hit: 1834 Toplam Mesaj: 3
php mysql ftp kurulum apache centos web server phpmyadmin