Bu yazımızda CENTOS’u web server olarak kullanabilmemiz için gerekli olan program ve eklentilerin kurulumu, firewall ayarlarının yapılandırılması hakkında bilgi verilecektir. Mümkün olduğunca ekran alıntısı koymuyoruz çünkü anlatımımız konsol komutlarından ibaret olacak.

CENTOS ile yeni tanışan veya daha önce hiç Linux kullanmamış olan arkadaşlarımıza bir ön hazırlık olması açısından; CENTOS’da kullanılan temel komutlar yazımızı okumalarını tavsiye ederiz.

1. “root” Yetkisine Geçiş

CENTOS kurarken herhangi bir user oluşturmamıştık. root yetkisiyle işlemlerimizi yapıyorduk. Eğer kullanıcı oluşturan olmuşsa ilk işlem olarak “sudo su” komutuyla root yetkisi alınmalıdır.

2. CENTOS Güncellemesinin Yapılası.

Centos’u yeni kurduysak. Güncelleme yapmamız gereklidir.

yum update -y

Kurulum anlatım yazımızda, VMware programı üzerine kurulum yaptığımızdan bahsetmiştik. Bir sunucu kiralayıp CENTOS’u oraya da kurmuş olabiliriz. Bunun için sunucuya “SSH” ile nasıl bağlanırız bunu da görmüş olalım.

“çalıştır” a “cmd” yazarak “dos” ortamına geçelim.

Buraya

ssh root@sunucu_ip 
password: şifrenizi giriniz. 

root şifremizi girdikten sonra, CENTOS kod terminaline bağlanmış olacağız.

Bu ne işimize yarayacak derseniz.

  • Kod yazmamız daha etkili ve kolay olacaktır
  • Herhangi bir kod parçacığını kopyala yapıştır yapmamıza yardımcı olacak.
  • Mouse’umuzu kullanabilme imkanı verir.
  • Konsolda yukarı aşağı gezmemizi sağlar.

Veya direkt “putty” programını kullanabilirsiniz. Putty’nin kurulumu ve kullanımı da gayet kolaydır. İnternet ücretsiz oalrak indirebilirsiniz.

3. Apache Kurulumu

yum install httpd 

komutu ile “apache” kurulumu başlamış olacak. Gelen sorulara “yes” anlamına gelen “y” diyerek geçelim.

Apache kurulumumuz bittikten sonra;

Apache servisimizi başlatalım,

systemctl start httpd.service 

CENTOS sunucumuz herhangi bir durumda tekrar başladığında servisi de her seferinde tekrar başlatmamız gerekecek, bunun önüne geçmek için aşağıdaki kodu yazıyoruz.

systemctl enable httpd.service 
systemctl status httpd.service 

komutu ile apache’nin çalışma durumunu görelim.

“active (running)” yazdığı görülmekte. Bu da servisimizin sıkıntısız çalıştığını göstermektedir. Ayrıca web tarayıcınızdan sunucunun ip’sini yazarak sayfa testinizi de yapabilirsiniz.

Eğer sayfa görüntülenemiyorsa. firewall (güvenlik duvarı) default olarak aktif halde gelebilir. Bunun için gerekli izinleri vermemiz gereklidir.

CENTOS firewall izinleri nasıl verilir?

firewall-cmd --add-port=80/tcp –permanent -> http portu 
firewall-cmd --add-port=443/tcp –permanent -> https portu 
firewall-cmd --add-port=21/tcp –permanent -> ftp portu 
firewall-cmd --add-port=22/tcp –permanent -> ssh portu 

yukarıdaki komutlar girildiğinde firewall izinleri verilmiş olacak.

İzin verilen portların karşıkları nelerdir:

  • 80 portu : Yaygın olarak internet erişim protokolü HTTP (Hypertext Transfer Protocol)
  • 443 portu: SSL kullanılacaksa açılmalı. HTTPS ifade etmektedir.
  • 21 portu: FTP – kontrol (veri gönderme/alma) portu.
  • 22 portu: SSH (Güvenli Shell) – Güvenli veri transfer işlemleri (SCP, SFTP) ve port yönlendirme işlemleri için kullanılır.

Yapılan izinleri kontrolünü “/etc/firewalld/zones/public.xml” dizininden yapabilirsiniz.

İşlemlerimiz bittikten sonra firewall’u tekrar başlatalım.

systemctl restart firewalld 
systemctl enable httpd 

Şimdi tarayıcıdan tekrar sayfayı kotnrol edelim ve index sayfasını görelim. Herhangi bir sıkıntı ile karşılaşırsanız yorum yazabilirsiniz veya [email protected] adresine mail atabilirsiniz.

Bu arada lazım olacağı için “nano” text editörünü de kuralım.

yum install nano 

4. PHP kurulumu

yum install php php-mysql 

Kurulumumuz bittikten sonra her zamanki gibi servislerimizi yeniden başlatalım.

cd /var/www/html 

dizinine gidelim. Bu dizin web sitemizde yayınlanacak olan sayfaları içerir. Bu dizin altında olmayan sayfalar çalışamazlar.

nano index.php 

burada “nano” text editörünün kullanmayı da görmüş olacağız. nano editörü sayfayı okumayı ve üzerinde düzenlemeler yapmamızı sağlar. Eğer sayfa yoksa yeni oluşturur. Yukarıdaki kodda görüldüğü gibi biz yeni sayfa oluşturmak için kullandık.

Sayfa açıldığında

<?php
echo “test”;
?>

^X” (Ctrl+X) yaparak çıkıyoruz. Gelen mesajlara “E” (evet) diyoruz. Sayfayı yenilediğimizde “test” yazımız karşımıza gelecek.

5. Mysql Kurulumu

Öncelikle mysql paketini indirmemiz gerekli. Mysql son sürümlerinden ziyade stabil olarak çalışan sürümlerden örneğin şu an 5.7 sürümü stabil çalışmakta onu indirmenizi tavsiye ederiz. Son sürümlerden indirmek isterseniz. https://dev.mysql.com/downloads/repo/yum/ sayfasını ziyaret edebilirsiniz.

Kurulum dosyasını indirme işlemini “wget” uygulamasıyla yapacağız. Bunun için wget uygulamasını kuralım. İndirme işlemini iki kısma ayırdık ilk olarak manuel (elle) nasıl indirebiliriz onun anlatımı yapılacak, ikinci kısımda wget uygulamasıyla indirme işlemi yapılacak, beklemek istemeyenler direkt “wget uygulaması ile Mysql kurulum dosyalarını nasıl indiririz?” kısmına geçiş yapabilirler.

yum install wget 

Kurulum tamamlanınca yine indirme sayfasında bulunan “A Quick Guide to Using the MySQL Yum Repository” tıklayalım ve buradan. “2.Selecting a Release Series” sekmesinde bulunan “https://repo.mysql.com/yum/” sayfasına giriş yapalım. Karşımıza Centos’un tüm sürümleri çıkacak. Sürüme uygun olan linke tıklayarak devam edelim.

“mysql-5.7-community/” dizinine tıklıyoruz.

“el” klasörüne giriş yapıyoruz.

“7/” klasörüne daha sonra “x86_64/” klasörüne giriş yapıyoruz. Karşımıza myqsl 5.7 ile ilgili tüm dosyalar geliyor.

Burada “release” ismindeki dosyalardan.

En yeni tarihlilerden birini seçiyoruz. Ve sağ tıklayarak “bağlantı konumunu kopyala” diyoruz.

Bu şekilde elle kurulum dosyalarını indirmiş olduk.

wget uygulaması ile Mysql kurulum dosyalarını nasıl indiririz?

Aşağıda verilen kodları direkt kopyala/yapıştır yaparak hızlı bir şekilde mysql kurlumunu yapabilirsiniz.

mysql paket indirme servisi

https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm 

paket kurulumu

rpm -ivh mysql57-community-release-el7-10.noarch.rpm 

yum install mysql-server  (mysql kurulum komutu)

systemctl start mysqld  (mysql başlatma komutu)

systemctl enable mysqld  (mysql hazır bulundurma komutu)

systemctl status mysqld  (mysql servis kontrolü)

mysql geçici şifreyi değiştirme işlemi

İlk kurulumda bize geçici şifre veriyor, şimdi onu değiştirelim.

nano /var/log/mysqld.log  (şifre değişimi için log dosyasını okuyalım)

Burada “A temporary password is generated for root@localhost:” kısmını bulalım. Şifreyi seçelim “Ctrl+c” ile şifreyi kopyalalım. SSH bağlantısı ile bu işlemleri çok kolay bir şekilde yapabilirsiniz.

Daha sonra “mysql_secure_installation” komutu ile yeni şifremizi belirleyelim.

mysql_secure_installation 
Yeni Mysql şifremizi belirlemiş olduk.

6. phpMyAdmin Kurulması

Mysql veritabanımızı kullanmak için hazırlanmış, dünya genelinde kullanılan web arayüzü servisidir. Kullanması oldukça kolaydır. Şimdi kurulumuna geçelim.

phpMyAdmin paketlerinin indirilmesi ve kurulum

yum install epel-release  (paketlerin indirilmesi)

yum install phpmyadmin  (kurulumun yapılması)

Tarayıcıya “SUNUCU_IP/phpmyadmin” diyerek sayfamızı test ettiğimizde. Erişim engeliyle karşılaşabiliriz. phpMyAdmin sistem ayarlarını yapmamız gerekecek.

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

“127.0.0.1” yazan yerlere kendi IP’mizi giriyoruz. Local de kullanacaksak, local ip. Yoksa googledan what is my ip diyerek dış ip mize izin veriyoruz. Ağaşıda resim görüdlüğü gibi “require all granted” kodunu da ekliyoruz.

7. FTP kurulumu

Dosya Tranfer Protokolü olarak türkçeye çevribileceğimiz FTP kurulumu oldukça kolaydır. Kullanım alanı oldukça geniştir. Bizim kullanım amacımız Web sitemiz için local’de hazırlamış olduğumuz dosyalarımızı transfer etmek olacak. Farklı farklı ftp uygulamaları bulunmaktadır. Biz “vsftp” uygulamasını kullanacağız.

vsftp’nin kurulumu

yum install vsftpd -y

gerekli ayarların yapılması

nano /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

FTP kullanıcısı ve şifresi belirlenmesi gerekli yetkilerin verilmesi

adduser localuser 

passwd localuser  (kullanıcı adı tekrar giriliyor ve şifre değişikliği yapılması için isteniyor.)

nano /etc/vsftpd/chroot_list  (listesine yeni oluşturduğumuz kullanıcı adını ekliyoruz.)

localuser

systemctl start vsftpd 

systemctl enable vsftpd 

systemctl status vsftpd 

CENTOS LAMP kurulumumuz tamamlandı. Şimdi test etmek amacıyla WINSCP veya FILEZILLA programları aracılığıyla oluşturduğumuz FTP’ye bağlanalım. Local’de oluşturmuş olduğunuz örnek dosyalarınızı yükleyerek sitenizde deneyebilirsiniz.

Bir yanıt yazın