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 admin@deneme.com 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 admin@deneme.com 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. ft@falkotimme.com Fedora 12 ISPconfig 2 Kurulumu v1.0 25