FEDORA 12 ve ISPconfig 2 KULLANARAK MAİL/FTP

Transkript

FEDORA 12 ve ISPconfig 2 KULLANARAK MAİL/FTP
İÇDUYGU
02/23/2010
FEDORA 12 ve ISPconfig 2
KULLANARAK MAİL/FTP/WEB
SUNUCU KURULUMU
versiyon 1.0
AÇIKLAMA: Fedora 12 Kurulumu ile ilgili açıklamalar HowToForge web sitesinde
“Fedora 12 + ISPconfig 2 Perfect Server” kurulum dokümanından
Türkçe'leştirilmiştir. Ancak bu kılavuz bahsedilen kurulum dokümanından daha
fazla ayrıntı içermektedir. Ayrıca atlanan veya yanlış girilen detayların da
düzeltilmiş halini içermektedir. Kılavuzun “Kaynakça” bölümünde ilgili
referanslar verilmiştir.
Derleyen:
Hakan İÇDUYGU
23 Şubat 2010
Fedora 12 ISPconfig 2 Kurulumu v1.0
1
İÇDUYGU
02/23/2010
İNDEKS
A.
Planlama
3
B.
Genel Bilgi
4
C.
Fedora Kurulumu
6
D.
Fedora'nın Ayarlanması
13
E.
ISPConfig Kurulumu
22
F.
Kaynakça
25
Fedora 12 ISPconfig 2 Kurulumu v1.0
2
İÇDUYGU
02/23/2010
Fedora ve ISPConfig Tabanlı Mail Sunucu Kurulumu
Hedef: Fedora Core 12 ve ISPConfig 2 kullanarak Web+Mail+FTP servislerini bulunduran bir sunucu
kurmak
A.
PLANLAMA
Kurulum için ihtiyaç duyulanlar:
1. Güncel bir işlemci (tercihen AMD tabanlı), 512Mb RAM, 40GB sabit disk (tercihen iki disk ile RAID
1), anakartta bulunmuyorsa harici bir network kartı, kurulumu DVD medyadan yapmak için DVD
okuyucu
2. Fedora Core 12 işletim sisteminin kurulum DVD'si.
3. ADSL veya kablo İnternet gibi genişbant bir bağlantı. Tercihen 4Mbit ADSL hattı gibi bir bağlantı.
4. Statik IP
5. Geçerli bir alan adı (deneme.com gibi)
6. İSS tarafında statik IP ve alan adınızla ilişkilendirilmiş bir Ters DNS kaydı (PTR).
7. Sunucuyu ve modeminizi bağlayabileceğiniz bir kesintisiz güç kaynağı.
Fedora 12'in 3.8 GB'lık iso dosyasını http ile download edecekseniz, download accelerator
kullanmamanız gerekiyor. Yani Flashget, Downthemall tarzı download manager yazılımlarla indirmenize
izin vermez. Doğrudan "Save As - Farklı Kaydet" diyerek diskte bir yere kaydetmeniz gerekir. Eğer
bağlantınız kötüyse ve kopma sorunu yaşama durumunuz varsa, o durumda torrent veya başka bir p2p
uygulamayı kullanmanızı öneririm. uTorrent yazılımı ile torrent versiyonunu daha kolay indirebilirsiniz.
Her hangi bir popüler Linux dağıtımı (CentOS, Fedora, Ubuntu, vs) kurulum arayüzünde veya genel
kullanımda Windows'dan çok farklı değildir.
İnternet üzerinde güncel Linux sorunları ve kurulum anlatımları genel olarak İngilizce'dir. Bu sebeple
HowtoForge grubunun hazırladığı Fedora 12 ve ISPconfig 2 ile Perfect Server kurulum kılavuzunu hem
Türkçe'leştirmeyi, hem de bazı düzeltmeler ve eklemeler yapmayı tercih ettim.
Eğer işlemciniz ve anakartınız 64bit desteği sunuyorsa, Fedora 12 kurulum dosyasının 64bit versiyonunu
indirmenizi öneririm. 64bit mimari Linux'da oldukça performans getirisi olan bir yapıdır. Eğer 64bit
kurulumu tercih edecekseniz, lütfen kurulum kılavuzundaki uyarılarda (ALT-64bit) ifadesinin olduğu
kısımlara özen gösterin. 64bit ve 32bit versiyonlarında Fedora farklı kurulum ve log dosyaları tercih
etmektedir.
Yukarıda ihtiyaçlar listesinde “iki disk ile RAID 1”den bahsettim. Ancak bu RAID ayarını güncel
anakartlarda bulunan RAID ile yapmıyoruz. Özellikle Linux desteği sunan PCI RAID kartlarından
bahsediyorum. Eğer bu tarz bir donanım size pahalı geliyorsa, daha az güvenilir olan Software RAID
kabiliyetinden yararlanabilirsiniz. Software RAID tanımı hakkında bilgiye bu kullanım kılavuzunun disk
bölümleme kısmında değineceğim.
Aşağıda vereceğim örnekte alan adı olarak “deneme.com”, modemin yerel IP adresini 10.0.0.1,
sunucunun yerel IP'si olarak ise 10.0.0.108 kullanacağım.
Fedora 12 ISPconfig 2 Kurulumu v1.0
3
İÇDUYGU
02/23/2010
B.
GENEL BİLGİ
Kurmayı planladığımız sistemde servislerin doğru çalışıp çalışmadığını kontrol etmenin bir kaç farklı
yolu var. Linux'da en hızlı yöntem her zaman konsolu (komut satırını) kullanmaktır. Konsolda aşağıdaki
komutları yazarak servislerin durumunu inceleyebilir, servisleri durdur/başlat/yeniden başlat işlemlerini
yapabilirsiniz.
Örnek:
/etc/init.d/httpd status
komutunu girdiğinizde
[root@www ~]# /etc/init.d/httpd status
httpd (pid 3013 698 697 696 695 694 693 692 691) is running...
şeklinde bir cevap alırsınız. Bu ifadenin sonundaki "running" her hangi bir konfigürasyon hatası olmadan
o servisin çalıştığı anlamına gelir.
Örnek olarak:
/etc/init.d/httpd start -> servisi başlatır. Sizin durumunuzda LAMP dokümanı bu tip servislerin işletim
sistemi açıldığında otomatik başlatılmasını sağlar.
/etc/init.d/httpd stop -> servisi durdurur.
/etc/init.d/httpd restart -> servisi kapatıp yeniden başlatır.
cd /etc/init.d
komutu /etc/init.d klasöre gitmenizi sağlar. "ll", "ls", "ll -a" gibi listeleme komutları da bulunduğunuz
klasördeki dosya ve alt klasörleri listeler.
Kurmayı planladığımız sistemde aşağıdaki servisleri kullanacağız. Bu sebeple ilgili servislerin komut
satırından sorgulanması amacıyla aşağıdaki listeyi hazırladım.
ProFTP (FTP sunucusu)
/etc/init.d/proftpd status
Apache (Web sunucusu)
/etc/init.d/httpd status
MySQL (Veritabanı sunucusu)
/etc/init.d/mysqld status
BIND 9 (DNS sunucusu)
/etc/init.d/named status
Şu an için bu komutlara konsantre olmanıza gerek yok, zira sistemi kurup çalıştırmadan önce iki farklı
uygulama kuracağız. Bir tanesi mail servisi ile alakalı her türlü ayarı yapacağımız, DNS yönetimi gibi
işleri sizin için otomatik hale getiren ISPconfig paketi, diğeri de genel olarak sistem ayarları için
kullanmayı tercih ettiğim Webmin paketidir. Her iki uygulama da sunucuda gerekli olan servisleri kontrol
eder ve sizi durum hakkında bilgilendirir. Ancak siz zaman içinde uzak bağlantı ile komut satırından
sunucuyla görüşmeyi tercih edeceksiniz. Hemen hemen her sistem yöneticisi için durum böyledir.
Kurulum sırasında özellikle komut satırından yaptığımız ayarlamalarda “vi” isimli düzenleme aracını
Fedora 12 ISPconfig 2 Kurulumu v1.0
4
İÇDUYGU
02/23/2010
kullanacağız. Vi aracı oldukça kolay kullanılan bir editördür.
•
•
•
•
•
"vi dosyaadı" şeklinde mevcut bir dosyayı açabilirsiniz. Örnek: vi /etc/resolv.conf
"vi dosyaadı" şeklinde yeni bir dosya yaratabilirsiniz. Az önce verdiğim örnekteki isimle bir
dosya yoksa, otomatik olarak boş bir dosya açar.
vi editöre girdiğinizde dosyaya yazma yetkisi kapalıdır. Yani dosyanın içeriğini görebilirsiniz.
Yukarı/aşağı/sağ/sol okları ile dosyada ileri geri hareket edebilirsiniz. "i" harfine bastığınızda
ekranın altında INSERT ifadesini göreceksiniz. Bu artık yazma hakkınız olduğu anlamına gelir.
Linux'ta konfigürasyon dosyalarında her satır bir komut seti gibi işler.
Kaydederek çıkma/kaydetmeden çıkma. Dosyayı okudunuz, her hangi bir değişiklik yapmadınız,
ESC tuşuna basıp, ":" tuşuna basın (ESC tuşuna bir kaç kez arka arkaya basmanızda sorun olmaz,
genelde INSERT modundan çıkmak için kullanılır) ve ardından "q" yazıp onaylayın. Tekrar
komut satırına geri dönecektir. Dosyada değişiklik yaptıysanız, ancak dosyaya bu değişiklikleri
kaydetmeden çıkmak istiyorsanız ESC -> ":" -> "q!". Kaydedip çıkmak için ise ESC -> ":" ->
"wq!"
vi editöründe bilinen bir satıra gitmek için “:satır no” yazılır. Yani bin satırdan oluşan bir dosyada
540ncı satıra gitmek için “:540” yazmanız yeterli olacaktır.
Fedora 12 ISPconfig 2 Kurulumu v1.0
5
İÇDUYGU
02/23/2010
C.
FEDORA KURULUMU
Şimdi işletim sisteminin kurulumuna başlayabiliriz. İşletim sisteminin kurulum DVD'sini optik sürücüye
yerleştirip, bilgisayarımızın optik sürücüden boot etmesi için gereken ayarları BIOS üzerinden
gerçekleştiriyoruz. İşletim sisteminin kurulumu aşağıdaki karşılama ekranı ile başlayacaktır. Sırayla
aşağıda verilen adımları uygulamanız gerekmektedir.
•
“Install or upgrade an existing system” seçilmelidir.
•
“Disc found” penceresi geldiğinde “skip” seçilmelidir.
Fedora 12 ISPconfig 2 Kurulumu v1.0
6
İÇDUYGU
02/23/2010
•
Fedora'nın kurulum karşılama ekranı geldiğinde Next tuşuna basın.
•
Dil tercihi ekranında English seçilmelidir.
Fedora 12 ISPconfig 2 Kurulumu v1.0
7
İÇDUYGU
02/23/2010
•
Klavye tercihi ekranında Turkish Q seçilmelidir.
•
Eğer “Error processing drive: /dev/sda. This device may need to be reinitialized.
REINITIALIZING WILL CAUSE ALL DATA TO BE LOST!” şeklinde bir hata gelirse “Reinitialize drive” seçilmelidir.
Fedora 12 ISPconfig 2 Kurulumu v1.0
8
İÇDUYGU
02/23/2010
•
Hostname bilgisinde “mail.deneme.com” örneğini kullanacağız. Bu girdiyi yaptığınızda cihaz
deneme.com alan adında “mail” alt alanadından yetkili cihaz olarak işaretlenir.
•
Harita geldiğinde zaman dilimi olarak “İstanbul” seçilmelidir.
Fedora 12 ISPconfig 2 Kurulumu v1.0
9
İÇDUYGU
02/23/2010
•
Root (Linux'da üst düzey yetkili) kullanıcısı için şifre belirmeniz gerekir.
•
Standart Disk Bölümleme - Sunucu olarak seçtiğiniz cihazda RAID güvenliği istemiyorsanız
-veya sadece 1 fiziksel sabit diskiniz varsa – herhangi bir disk bölümleme ayarı yapmadan Next
tuşuna basarak otomatik kuruluma devam edebilirsiniz.
Donanım RAID Destekli Disk Bölümleme - Eğer Linux destekli bir RAID kontrol kartınız ve
uyumlu sabit disk setiniz varsa, ilk olarak RAID kartının kendi ayarlarında dilediğiniz RAID
dizinini hazırlamanız gerekir. Eğer RAID kartı doğru şekilde kuruldu ve ayarlandıysa, disk
bölümleme ortamında tek bir disk görmeniz beklenir. “Use entire drive” seçeneğini işaretlemeniz
yeterli olacaktır. Disk bölümleme işlemini otomatik olarak yapacaktır.
Software RAID ile Disk Bölümleme - Eğer birden fazla fiziksel diskiniz mevcutsa ve yazılım
tabanlı LinuxRAID'den yararlanmak istiyorsanız gerekli ayarları şu şekilde yapmanız uygun
olacaktır; “use entire drive” ve “review and modify partitioning layout” seçili olmalıdır. Bir
sonraki ekranda, her disk için sırayla “software RAID” disk modeli tanımıyla ikişer bölüm
hazırlamanız önerilir. Genelde /boot klasörü için farklı bir disk bölümü, geri kalan diğer tüm
işletim sistemi klasörleri için diskin geri kalan kısmı düzenlenir. Bizim örneğimizde 20GB'lık
bir /boot bölümümüz, “force to be a primary partition” olarak işaretlenerek hazırlanır. Tüm disk
bölümleme işlemleri tamamlandığında yine aynı ekranda bulunan RAID tuşuna tıklanır. İlk olarak
/boot klasörü için “/dev/md0” cihazı tanımlanır. RAID 1, ext4, /boot opsiyonları işaretlenip,
20GB'lık tüm disk bölümleri seçilir. Ardından aynı işlem /dev/md1 seti için “/” kök dizine geri
kalan tüm disk bölümlerinin atanmasıyla tamamlanır. Bu işlemleri onayladığınızda aşağıdaki
örnekte olduğu gibi “Write changes to disk” seçilmelidir. Disklerde yaptığımız değişiklikler
gerçekleştirilir, ardından disk bölümleri format'lanır.
•
•
Fedora 12 ISPconfig 2 Kurulumu v1.0
10
İÇDUYGU
02/23/2010
•
Kurulumun bir sonraki adımında işletim sistemi ile birlikte kurulacak paketleri tanımlamamız
istenir. Üst bölümde bulunan Office & Productivity kısmındaki seçimi kaldırın, Software
Development ve Web Server işaretli olsun. Ekranın altında bulunan Customize Now'ı seçin.
Fedora 12 ISPconfig 2 Kurulumu v1.0
11
İÇDUYGU
02/23/2010
•
Paket listesi ekranı geldiğinde sırayla şu seçenekleri işaretleyin; Gnome, Editors, Text-based
Internet, Development Libraries, Development Tools, DNS Name Server, FTP Server, Mail
Server, MySQL Database, Server Configuration Tools, Web Server, Administration Tools, Base,
Hardware Support, Java, System Tools. Geri kalan tüm paketlerin işaretlerini kaldırabilirsiniz.
•
Sırayla paketler kurulmaya başlayacaktır. Kurulum tamamlandığında aşağıdaki pencereyi
göreceksiniz. Reboot tuşuna basınız.
Reboot işleminden sonra size birkaç soru daha sorulacaktır. Bu sorular arasında işletim sistemini
kullanmak için yaratılacak kullanıcı tanımlaması da vardır. Onları da onayladığınızda, işletim sistemi
açılacaktır. Yarattığınız kullanıcının bilgilerini girerek sisteme log olun.
Fedora 12 ISPconfig 2 Kurulumu v1.0
12
İÇDUYGU
02/23/2010
D.
FEDORA'NIN AYARLANMASI
İşletim sistemi açıldığında “Terminal” aracını kullanarak komut satırına ineceğiz. Sistem genelinde
ayarları yaptığımız bu araçta ilk olarak “su” komutunu işleterek SuperUser moduna geçeceğiz. Bu
komutu girdiğinizde sistem size “root” kullanıcısı için atadığınız şifreyi soracaktır.
Komut satırına “setup” yazın.
Bu text tabanlı bir konfigürasyon aracıdır. Setup penceresinde aşağıdaki düzeltme ve eklemeleri
gerçekleştireceğiz;
–
Firewall configuration'a girip, “firewall”un yanında bulunan işareti kaldıracağız. İşletim sistemi
ile gelen firewall uygulaması tek yönlü bir paket işleyicidir. Kurulumun ilerki bir safhasında üçüncü parti
bir firewall uygulamasını kuracağız.
–
System Services kısmında, işletim sistemi boot ederken aktive olan servisleri göreceksiniz.
Burada Network Manager, cups, bluetooth, ip6tables seçeneklerini kaldıracağız. smartd servisini
işaretleyeceğiz.
AĞ AYARLARI
Şimdi sırada ağ ayarlarının yapılması var. Fedora açıldığında System – Administration menüsünde Network adında bir araç göreceksiniz. O aracı çalıştırdığınızda aşağıdaki örnek resimde olduğu gibi
"device" bölümünde eth0 şeklinde bir araç göreceksiniz. Onun üstüne tıklayıp, ilk olarak Deactivate
edeceksiniz. Ardından Edit tuşuna basıp, DHCP'yi kapatıp, manuel olarak IP adresini gireceksiniz.
Fedora 12 ISPconfig 2 Kurulumu v1.0
13
İÇDUYGU
02/23/2010
Sırayla “Controlled by NetworkManager”ı kaldırın, “activate device when computer starts” seçili olsun.
Manuel olarak IP bilgisi girmek için “statically set IP addresses” seçili olmalıdır. Son olarak Network
aracından çıkmadan önce “eth0”ı seçip “activate” etmeyi unutmayın. Network aracını kapatırken yapılan
değişikliklerin kaydedilmesiyle alakalı bir soru olacaktır. Değişiklikler kaydedilmelidir.
Örnek IP tanımlaması;
Address: 10.0.0.108
Subnet Mask: 255.255.255.0
Default Gateway: 10.0.0.1
Daha sonra aşağıdaki komutu işletip “Network Manager” aracını kapatıp, Network uygulamasının
birincil olmasını sağlıyoruz.
chkconfig NetworkManager off
chkconfig --levels 35 network on
/etc/init.d/network restart
Microsoft Windows tabanlı işletim sistemlerinde ağ durumunu denetlemek amacıyla kullanılan bazı
komutlar mevcuttur. Linux'da da bunlara denk komutlar bulunmaktadır. En yaygın olarak kullanacağımız
birkaç komut hakkında kısaca bilgi vereceğim.
ifconfig – ethernet cihazların durumu hakkında bilgi vermektedir. ifconfig sorgulaması yaptığınızda
sistemde tanımlanmış ağ arayüzlerinin durumu gelecektir. Bizim örneğimizde eth0 cihazı için IP
adresimiz 10.0.0.108/24 şeklindedir.
ping – ağ üzerindeki cihazlara küçük paketler gönderip, bunlara alınan cevapları dinleyerek bağlantı
durumunu tespit etmeye yarayan bir araçtır. ping 10.0.0.1 şeklinde işletilir.
dig – DNS ile alakalı sorgulamaları bu araçla gerçekleştireceğiz. Kullanımı dig alanadı.com şeklindedir.
Fedora 12 ISPconfig 2 Kurulumu v1.0
14
İÇDUYGU
02/23/2010
traceroute – Birden fazla subnet'e sahip ağlarda hedef cihaz ve sorgulamayı yapan cihaz arasında
geçilen yönlendiriler (router/gateway) bilgisini iletir. Sorgulamada ilgili yönlendiricinin ne hızda paketi
işlediğine bakarak yönlendirici performansını da denetleyebilirsiniz. Kullanımı traceroute IP adresi
şeklindedir.
Ağ ayarlarında bir sonraki adım /etc/hosts dosyasında yapacağımız değişikliktir. Hosts dosyası
sunucunun yapacağı DNS sorgulamalarında ilk bakacağı alandır. Sürekli olarak kullanılan bazı alanadı/IP
adresi çözümlemeleri olduğunda cihazların IP adresleri ve host isimleri bu dosyaya kaydedilir. Biz
lokalde cihazın kendi host adını bu listeye ekleyeceğiz.
vi /etc/hosts komutu ile hosts dosyasını vi editöründe açacağız. Dosyada 127.0.0.1 satırının altına
aşağıdaki formatta bir girdi yapacağız.
10.0.0.108
mail mail.deneme.com
ardından hosts dosyasını kaydedip çıkacağız. Bu yaptığımız değişikliğin işlemesi için
/etc/init.d/network restart komutunu işleteceğiz. Ardından ping mail.deneme.com sorgulamasını
yapıp, cihazın kendi IP adresini ping'lediğinden emin olacağız.
Aşağıda hosts dosyasının son hali için bir örnek bulacaksınız.
# hostname server1.example.com added to /etc/hosts by anaconda
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
10.0.0.108
mail
mail.deneme.com
::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
SELinux DÜZENLEMESİ
SELinux, sunucunun servisler, dosya ve klasörlerde yapılan bir seri denetleme ile güvene alınmasını
sağlayan bir servistir. Kuruluma devam etmeden önce SElinux aracını kapatacağız. Bu amaçla vi
/etc/selinux/config komutu ile ilgili config dosyasını açıyoruz. Dosyada “SELINUX=enforcing”
kısmında enforcing ibaresini silip, yerine “disabled” yazıyoruz. Dosyanın son hali aşağıdaki şekilde
olacaktır.
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#
enforcing - SELinux security policy is enforced.
#
permissive - SELinux prints warnings instead of enforcing.
#
disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#
targeted - Targeted processes are protected,
#
mls - Multi Level Security protection.
SELINUXTYPE=targeted
KOTA ALTYAPISI İÇİN HAZIRLIK
Selinux'da yaptığımız düzenleme işletim sisteminin yeniden başlatılmasını gerektirmektedir. Bu noktada
birden fazla reboot yapmak yerine, kurulumda değineceğimiz kota uygulaması ile ilgili bir değişikliği
gerçekleştireceğiz.
Fedora 12 ISPconfig 2 Kurulumu v1.0
15
İÇDUYGU
02/23/2010
yum remove gvfs -y komutu ile Bluetooth araçlarını içeren bir seri paketi kaldırmamız gerekiyor.
Kaldırma işlemi tamamlandığında reboot komutu ile bilgisayarı kapatıp tekrar açıyoruz.
GEREKLİ ÖN PAKETLERİN KURULUMU
İlk olarak mevcut paketlerin güncellenmesi amacıyla yum aracıyla aşağıdaki komutu işletiyoruz.
yum update -y
Ardından aşağıdaki satır ile gerekli paketlerin bir kısmını kuruyoruz.
yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp gcc gcc-c++ -y
KOTA KURULUMU
Aşağıdaki komutları sırayla işletip kota paketinin kurulumunu gerçekleştiriyoruz.
yum install quota -y
Daha sonra disk bölümlerinden sorumlu olan /etc/fstab dosyasını düzenleyip, kota ile ilgili eklemeler
yapacağız.
vi /etc/fstab komutundan sonra bu dosyada “/” kök dizini ile ilgili satırı bulup, “defaults” parametresinin
sonuna “,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0” bilgisini ekleyeceğiz.
Aşağıdaki komutları birlikte işletebiliriz;
touch /aquota.user /aquota.group
chmod 600 /aquota.*
mount -o remount /
Kota paketini aktive ediyoruz;
quotacheck -avugm
quotaon -avug
BIND 9 – DNS SERVİSİ
chroot kökenli BIND servisini ve ilgili paketleri kurup gerekli ayarlamaları aşağıdaki komutlarla
gerçekleştireceğiz.
yum install bind-chroot -y
chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/var/named/
ln -s ../../ chroot
vi /etc/sysconfig/named komutu ile config dosyasını açıp, dosyanın en başına şu bilgiyi ekleyeceğiz.
Fedora 12 ISPconfig 2 Kurulumu v1.0
16
İÇDUYGU
02/23/2010
ROOTDIR="/var/named/chroot"
chkconfig --levels 235 named on komutu ile servisi sistem açılışına ekliyoruz.
MySQL KURULUMU
Sistemimizde kullandığımız pek çok servis gerekli içeriğin bir veritabanında tutulmasını
gerektirmektedir. Bu sebeple yine ücretsiz bir araç olan MySQL paketini kurup, yapılandıracağız.
Paketin kurulumu;
yum install mysql mysql-devel mysql-server -y
Paketin aktive edilmesi ve açılış setine eklenmesi;
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
netstat -tap | grep mysql komutunu işletip mysqld servisinin çalışıp çalışmadığını kontrol ediyoruz.
Ardından MySQL veritabanının özlük haklarını ayarlıyoruz. Aksi halde kullanıcı adı ve şifre
gerektirmeksizin, dışarıdan veritabanına bilgi girilip işletilebilir.
mysqladmin -u root password <şifreniz>
mysqladmin -p -h localhost -u root password <şifreniz>
POSTFIX PAKETİNİN KURULUMU
Postfix aracı SMTP için kullanacağımız mail servisidir. Aynı şekilde bu sette POP3 servisi için de
Dovecot paketini kuracağız.
yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix
dovecot -y
Yıllar önce SMTP protokolü geliştirildiğinde, sonradan farkedilecek ciddi bir açıkla kullanılmaya
başlanmıştır. Orijinal SMTP protokolünde “kullanıcı doğrulama” katmanı bulunmamaktadır. Bu durumda
siz herhangi bir kullanıcı bilgisi ileterek herhangi bir mail sunucu üzerinden mesaj gönderme hakkına
sahip oluyordunuz. Bu sorunu aşmak için çeşitli methodlar kullanılamaktadır. Biz bu amaçla SMTPAUTH komut setini Postfix paketi ile ilişkilendiriyoruz.
postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_sasl_authenticated_header = yes'
postconf -e 'smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'inet_interfaces = all'
postconf -e 'mynetworks = 127.0.0.0/8 [::1]/128'
Şimdi vi /usr/lib64/sasl2/smtpd.conf komutu ile ilgili SMTP config dosyasını denetleyeceğiz. Bu
dosyasının içeriğinde aşağıdaki bilgiyi görmemiz gerekir. Eğer bu bilgi bulunmuyorsa eklenmesi doğru
Fedora 12 ISPconfig 2 Kurulumu v1.0
17
İÇDUYGU
02/23/2010
olacaktır. Eğer işletim sisteminiz 32bit ise bakmanız gereken dosya /usr/lib/sasl2/smtpd.conf'dir.
pwcheck_method: saslauthd
mech_list: plain login
Sırada TLS sertifikalarının yaratılması var. Sunucunuzun mail servisini işletirken, yapılan sorgulamalara
TLS anahtarıyla cevap vermesi gerekir. Normalde TLS anahtarı alıp, sunucudan çıkan mesajları dijital
imzanız ile işaretlemeniz gerekir. Ancak bu bir zorunluluk değildir. Siz kendiniz sanal bir dijital sertifika
yaratabilirsiniz. Üçüncü sayfada sanal TLS sertifikası yaratmakla ilgili bir bölümle karşılaşacaksınız.
Anahtar yaratılırken size bir kaç şey soracak, bu sorulara hep aynı cevabı vermeniz gerekmektedir;
passphrase - TLS sertifikasını oluştururken kullanacağı algoritma bu anahtar kelimeden türetilecek
Ardından sisteme spesifik sorular göreceksiniz, Ülke kodu, Şehir, gibi.
Şöyle bir cevap örneği vereyim;
TR
Ankara
Ankara
Gerçek İsim
mail
deneme.com
[email protected]
Eğer geçerlik süresi sorarsa 3650 gün girebilirsiniz. Aksi halde her yıl TLS sertifikasını düzeltmeniz
gerekir.
mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
postconf -e 'smtpd_tls_auth_only = no'
postconf -e 'smtp_use_tls = yes'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtp_tls_note_starttls_offer = yes'
postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
postconf -e 'smtpd_tls_loglevel = 1'
postconf -e 'smtpd_tls_received_header = yes'
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
postconf -e 'tls_random_source = dev:/dev/urandom'
Fedora 12 ISPconfig 2 Kurulumu v1.0
18
İÇDUYGU
02/23/2010
Alttaki satırı işletmeden önce lütfen kendi alan adınızı eklemeyi unutmayın.
postconf -e 'myhostname = deneme.com'
Ayarlama işlemleri tamamlandı, şimdi servisleri açılışa ekleyip başlatacağız.
chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
chkconfig --levels 235 saslauthd on
chkconfig --levels 235 dovecot on
/etc/init.d/sendmail stop
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
/etc/init.d/dovecot restart
Eğer herhangi bir sorun olmadan kurulum gerçekleştiyse aşağıdaki sorgulama beklenen cevabı
sağlayacaktır.
telnet localhost 25 komutu sunucuya SMTP portu olan TCP 25 üzerinden çağrı açacaktır.
ehlo localhost sorgulamasını yaptığımızda aşağıdakine benzeyen bir cevap alacaksınız.
[root@sube]# telnet localhost 25
Trying ::127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.deneme.com ESMTP Postfix
ehlo localhost
250-mail.deneme.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Bu cevapta bizi ilgilendiren kısım STARTTLS ve AUTH PLAIN LOGIN parametrelerinin görünmesidir.
quit yazıp komut setinden çıkabilirsiniz.
APACHE WEB SERVER KURULUMU
İlgili paketlerin kurulumu;
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml
php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring phpmcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy curl curl-devel perllibwww-perl ImageMagick libxml2 libxml2-devel -y
Fedora 12 ISPconfig 2 Kurulumu v1.0
19
İÇDUYGU
02/23/2010
http servisini düzenlemek için;
vi /etc/httpd/conf/httpd.conf
Dosyanın 388'inci satırında DirectoryIndex bilgisi bulunmaktadır. Bu satırı aşağıdaki ile değiştiriyoruz.
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl
Servisi açılışa ekliyoruz ve başlatıyoruz;
chkconfig --levels 235 httpd on
/etc/init.d/httpd start
Bu işlemden itibaren web sunucusu dış dünyaya cevap verecektir. Ağdaki başka bir cihazdan IP adresi ile
web sunucuyu test edebilirsiniz.
PHP AYARLARI
vi /etc/httpd/conf.d/php.conf komutu ile config dosyasına giriyoruz ve aşağıdaki eklemeleri yapıyoruz.
15 ve 16ncı satırlarda AddHandler ve AddType parametrelerinin başına “#” ekliyoruz. Dosyanın son hali
yaklaşık şöyle olacaktır.
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
#AddHandler php5-script .php
#AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps
/etc/init.d/httpd restart komutu ile web server'ı tekrar başlatıyoruz.
Fedora 12 ISPconfig 2 Kurulumu v1.0
20
İÇDUYGU
02/23/2010
RUBY AYARLARI
Paketlerin kurulumu;
yum install httpd-devel ruby ruby-devel -y
cd /tmp
wget http://www.modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb --with-apr-includes=/usr/include/apr-1
make
make install
Ruby için ilgili config dosyasını şu şekilde yaratıyoruz;
vi /etc/httpd/conf.d/ruby.conf
Dosyanın içine aşağıdaki bilgiyi eklememiz gerekmektedir;
LoadModule ruby_module modules/mod_ruby.so
/etc/init.d/httpd restart komutu ile web server'ı tekrar başlatıyoruz.
MOD_PHYTON EKLENTİSİ
Paket kurulumu;
yum install mod_python -y
/etc/init.d/httpd restart komutu ile web server'ı tekrar başlatıyoruz.
PROFTP KURULUMU
Mevcut FTP paketinin kaldırılması;
yum remove vsftpd -y
Paketin kurulumu;
yum install proftpd -y
chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start
WEBALIZER KURULUMU
Paketin kurulumu;
yum install webalizer -y
SİSTEM SAATİNİN OTOMATİK AYARLANMASI
NTP paketinin kurulumu;
yum install ntp -y
chkconfig --levels 235 ntpd on
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start
Fedora 12 ISPconfig 2 Kurulumu v1.0
21
İÇDUYGU
02/23/2010
PERL MODÜLLERİNİN KURULUMU
Paketlerin kurulumu;
yum install perl-HTML-Parser perl-DBI
AutoInstall -y
perl-Net-DNS
perl-Digest-SHA1
perl-ExtUtils-
ISPConfig HAZIRLIĞI
vi /usr/include/stdio.h komutu ile config dosyasını açıp, 653ncü satırdaki “getline” parametresini,
“parseline” yazıyoruz.
Artık kurulumun son evresi olan ISPconfig 2 paketinin kurulumuna bir sonraki sayfada geçebiliriz.
Fedora 12 ISPconfig 2 Kurulumu v1.0
22
İÇDUYGU
02/23/2010
E.
ISPConfig 2 KURULUMU
Terminal ile komut satırına girin. "su" komutu ile root yetkisi alın.
Şimdi vereceğim kısa kod, otomatik olarak; ISPconfig kurulum dosyası indirecek, tar ile sıkıştırılmış
paket açılacak, kurulum başlatılacak.
cd /root/Download
wget http://prdownloads.sourceforge.net/ispconfig/ISPConfig-2.2.35.tar.gz?download
tar -zxvf ISP*
cd install_ispconfig
./setup
Kurulum başlayacaktır.
Please choose your language: 2
ISPConfig lisans anlaşmasını onayladığınıza dair: y
Installation mode: standard
Sistem sırayla size “MTA olarak Postfix'i buldum”, “FTP için ProFTP'yi buldum” şeklinde iki soru
soracaktır. “y” ile onaylayın.
Uzun sürülebilecek bir süre boyunca ekranda yazıların geçtiğini göreceksiniz. Bir noktada durup size
soru soracaktır. Sorduğu soru sistemde anti-virüs ve anti-spam için istenilen yetkili e-mail adresidir. Bu
kısma [email protected] girmemiz gerekir.
Kurulumda "Step 7 ve 8" kısımlarında size birer soru soracak. Bu çok önemlidir.
Step 7 ("Encrypting RSA private key of CA with a pass phrase for security [ca.key]") -> Buna hayır
diyeceğiz. "n"
Step 8 ("Encrypting RSA private key of SERVER with a pass phrase for security [server.key]") -> Buna
da hayır diyeceğiz. "n"
Daha sonra size aşağıdaki bilgileri de soracak
Please enter your MySQL server: E.G. localhost -> "localhost" yazın
Please enter your MySQL user: E.G. root -> "root" yazın
Please enter your MySQL password: Your MySQL password -> root şifrenizi yazın.
Please enter a name for the ISPConfig database: E.g. ispconfigdb -> "ispconfigdb" yazın
Please enter the IP address of the ISPConfig web: E.g. 192.168.0.1 -> "10.0.0.108" yazacaksınız
Please enter the host name: E.g. www -> "mail" yazın
Please enter the domain: E.g. xyz.de -> "deneme.com" yazın
Bu detay çok önemli;
Please select the protocol (http or https (SSL encryption)) to use to access the ISPConfig system: -> "2http"yi seçeceğiz.
Bu sorulardan sonra kurulum işlemi bitecektir. En sonunda size "kurulum başarıyla bittiği, artık
10.0.0.108 IP adresinden kontrol paneline giriş yapabileceğiniz" söylenir. Bu işlem tamamlandığında,
Firefox'u açın ve adres kısmına
Fedora 12 ISPconfig 2 Kurulumu v1.0
23
İÇDUYGU
02/23/2010
http://10.0.0.108:81 yazın. ISPConfig konfigürasyon ekranı gelecektir. İlk kurulduğunda kullanıcı adı
admin, şifresi admin'dir. Lütfen şifreyi değiştirmeyi unutmayın.
Fedora 12 ISPconfig 2 Kurulumu v1.0
24
İÇDUYGU
02/23/2010
F.
KAYNAKÇA
Fedora Core 12 İşletim Sistemi hakkında detaylı bilgi almak için http://www.fedoraproject.org adresini
kullanabilirsiniz.
ISPconfig paketi hakkında detaylı bilgi için http://www.ispconfig.org web sitesini ziyaret edebilirsiniz.
Türkçe'leştirmiş olduğumuz yazının İngilizce orjinaline şu adresten ulaşabilirsiniz;
http://www.howtoforge.com/perfect-server-fedora-12-x86_64-ispconfig-2
Kılavuzda kullanılan ekran görüntüleri Falko Timme'ye aittir. Kendisine şu e-posta adresinden
ulaşabilirsiniz. [email protected]
Fedora 12 ISPconfig 2 Kurulumu v1.0
25