Bir Sayfa Seçin

Bu kılavuzdaki direktifleri izleyerek Debian 8 üstünde Apache2 (HTTP), MySQL (DB), Postfix (SMTP), Dovecote (POP/IMAP), Virtualmin 4 (Control Panel) bileşenlerine sahip bir web sunucusunu ayağa kaldırabilirsiniz. Ve sonrasında, Virtualmin ile birden fazla siteyi grafik arayüz üzerinden rahatça bu sunucuya kurup yönetebilirsiniz.

Bu kılavuzu uygulamak için öncelikle temel seviyede internet ve linux bilgisine ihtiyacınız var. Linux ile hiç tanışmadıysanız önce bu yazıyı okuyun sonra da deneyin. Daha sonra ilk adım bir sunucu edinmek olacak. Evdeki eski bir bilgisayarı sunucu olarak kurup kullanabileceğiniz gibi, bir veri merkezinden sanal (VPS) ya da fiziksel bir sunucu kiralama şansınız da var. Evde bir sunucu barındırmanın derdi biraz fazla. O yüzden çok özel bir nedeniniz yoksa bir sanal sunucu (VPS) kullanmanız daha iyi olur. (VPS sahibi olmak isteyenler notlarımı buradan okuyabilirler). Sunucunun en az 512 MB (tercihen 1 GB) RAM’i olması ve üstünde Debian 8 (minimal) kurulu olması gerekiyor.

Kılavuzda hostname olarak “server1.example.com”, IP adresi olarak “192.168.0.100” kullandım. Bu 2 parametreyi kendi kurulumunuza göre değiştirmeniz lazım.

Kılavuzu geliştirecek önerileri bekliyorum. Kolay gelsin.

Hazırlık

1) Sunucunuza SSH ile login olun ve öncelikle bazı yararlı araçları (nano, htop, ntp, sudo) kurun:

apt-get install nano htop ntp ntpdate sudo

2) Hostname’in düzgün olduğundan emin olmak için aşağıdaki iki komutu çalıştırın ve çıktılarının “server1.example.com” olduğundan emin olun. Farklılık varsa “hostname server1.example.com” komutunu çalıştırın ve “/etc/init.d/hostname.sh start” komutu ile değişikliği etkin hale getirin.

hostname

hostname -f

3) Root kullanıcısının sisteme erişimini kısıtlamamız lazım. O yüzden sisteme farklı bir kullanıcı ekleyin.

adduser YENİKULLANICIADIM

4) Eklediğiniz kullanıcının gerektiğinde root yetkileri ile çalışabilmesi için “sudo” yapabilen kullanıcılar arasına eklemniz gerekli. Aşağıdaki komutu çalıştırın ve karşınıza çıkan ekranda “root ALL=(ALL:ALL) ALL” yazan satırın altına “YENİKULLANICIADIM ALL=(ALL:ALL) ALL” ifadesini ekleyin.

visudo

5) Root kullanıcısı ile sisteme bağlanılmasını engellemek için SSH konfigürasyon dosyasını açıp “PermitRootLogin yes” ifadesini “PermitRootLogin no” olarak değiştirin. Daha sonra yeni kullanıcınız ile giriş yapıp “sudo -i” komutunu kullanarak root yetkilere sahip olabileceksiniz.

nano /etc/ssh/sshd_config

service ssh restart

Temel Kurulum

Artık temel bileşenlerin kurulumuna geçebiliriz. Tüm angaryayı Virtualmin’in otomatik kurulum kodu yapacak.

1) Bunun için aşağıdaki komutları çalıştırarak tmp klasörüne kurulum kodunu indirin ve çalıştırın.

cd /tmp

wget http://software.virtualmin.com/gpl/scripts/install.sh

chmod +x install.sh

./install.sh

“y” yazarak onay verdiğinizde aşağıdaki paketler sisteminize kurulacak.

  • HTTP: apache2 apache2-doc libapache2-mod-fcgid apache2-suexec-custom scponly libapache2-svn
  • DB: mysql-server mysql-client mysql-common postgresql postgresql-client
  • Mail: postfix postfix-pcre spamassassin spamc procmail mailman dovecot-common dovecot-imapd dovecot-pop3d libsasl2-2 libsasl2-modules sasl2-bin
  • FTP: proftpd
  • DNS: bind9
  • Control Panle: webmin usermin
  • Programming: python ruby libapache2-mod-ruby irb rdoc ri php-pear php5 php5-cgi libgd2-xpm libapache2-mod-php5 php5-mysql libxml-simple-perl libcrypt-ssleay-perl libfcgi-dev libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl ssleay-perl
  • Antivirus: clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles
  • Untilities: unzip zip quota iptables openssl subversion awstats webalizer libcrypt- awstats

2) MySQL’i daha güvenli hale getirmek için aşağıdaki komutu çalıştırın. Bu sayede anonim kullanıcı hesabı ve test veritabanları silinecek, root erişimi kısıtlanacak.

mysql_secure_installation

3) Daha sonra bir web tarayıcı açıp adres satırına https://sunucuzun_ip_adresi:10000 yazın. Bir SSL sertifika hatası ile karşılaşacaksınız ki bu gayet normal. Bu hatayı pas geçip ilerleyebilirsiniz. Virtualmin giriş ekranı ile karşılacaksınız. İlk aşamda root kullanıcısı ile giriş yapabilirsiniz. Ama daha sonra hep yeni eklediğiniz kullanıcıyı kullanmaya gayret edin.

4) Karşınıza çıkacak kurulum sihirbazını “next” tuşlarına basarak tamamlayın. Varsayılan değerleri değiştirmenize gerek yok.

5) Sisteminizi biraz hafifletmek için Virtualmin arayüzünde “System Settings > Feature and Plugins” bölümünden bazı özellikleri (ör: AWstats, Webanalizer, PostgreSQL, Spam filtering, Virus filtering, ProFTP) devre dışı bırakabilirsiniz. Daha sonra Webmin arayüzüne geçip “System > Bootup and Shutdown” bölümünden yukarıdaki adımda devre dışı bıraktığınız özelliklerle ilgili işlemleri (ör: clamav, mailman, proftpd, spamassassin) seçip “stop now and on boot” tuşuna basmalısınız ki; prosesler sistem kaynağı tüketmesin.

6) Virtaulmin giriş ekranındaki SSL uyarısını devre dışı bırakmak için de Webmin arayüzünde “Webmin Configuration > SSL > Let’s Encrypt” bölümüne girin. Karşınıza çıkan sayfada “website root directory for validation file” yazan bölümde “other directory” seçip yanındaki kutucuğa “var/www/html” yazabilirsiniz. Daha sonra “Request Certificate” tuşuna bastığınızda ücretsiz bir SSL sertifikası sisteme yüklenecektir.

7) Sisteminizdeki pek çok uygulama root kullanıcısına uyarı mailleri gönderir. Bunları alabilmek için “nano /etc/aliases” komutunu çalıştırıp açılan dosyada “root:root” şeklindeki ibareyi değiştirip “root:[email protected]” şeklinde değiştirmelisiniz. Ardından değişikliğin geçerli olabilmesi “newaliases” komutunu çalıştırmalısınız.

Güvenlik Ayarları

Buraya kadar geldiyseniz, elinizde tam işlevselliğe sahip bir web sunucu var demektir. Aslında daha yapılabilecek şeyler var; ama temel kullanım için bu kadarı yeterli olur. Sadece güvenliği arttırmaya yönelik bu yazımızı da okuyup talimatları uygulamanız yeterli.