Etiket arşivi: apache

Linux Hosting Server Kurulumu

Yeni hizmete girecek sunucularım da panel kullanmıyorum. Panel çok müşterisi olanlar için veya kurumsal olarak yapan firmalar için ideal olabilir. Ancak kendi sunucum da yönetemediğim ve ekstra ücret vereceğim yazılımları kullanmak pek cazip gelmiyor. Sorun kısmında da normal çıkabilecek sorunlar üzerine birde panelin güvenlik açığı ve sorunları ile iş yükü olduğunu düşünüyorum.
İşletim Sistemi : Debian. Kiraladığım sunucuya 64bit debian’ı minimum kurulum yapılmış istedim. Yani sunucu üzerinde ssh sunucu haricinde bir servis yüklü olmadan teslim aldım.
Kullanılacak yazılımlar: Apache2, Php5, Mysql 5.1, Ftp sunucu olarak Vsftpd, Dns sunucu için DjbDns kullanacağım. Mail sunucu olarak google ve yandex alt yapılarını kullanacağım için herhangi bir mail sunucu kurmuyorum. Sistem üzerinde localhostu dinleyen postfix kurulu geliyor. Bazı uygulamalarda lazım olur diye kenarda durmasında problem yok.
Kurulumlar
Apache, php ve mysql ve vsftpd kurulumları aşağıdaki tek yükleme komutu ile yaptım. Bu kurulum sırasında mysql sunucu için root kullanıcısına verilecek şifreyi soracak o kadar.
apt-get install apache2 libapache2-mod-php5 php5 php-pear php5-mysql php5-gd php5-curl php5-mcrypt php5-ffmpeg php-soap php-pear php-mail php5-imagick php-auth php-auth-http php-auth-sasl mysql-server vsftpd
apt-get install ucspi-tcp daemontools daemontools-run
wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
gunzip djbdns-1.05.tar
tar -xf djbdns-1.05.tar
cd djbdns-1.05
echo gcc -O2 -include /usr/include/errno.h > conf-cc
make
make setup check
Kurulumlarımız tamamlanmış oluyor. Şimdi ayarları yapmaya başlayalım. Tinydns domain sorgularına cevap verecek. Bunun için kullanıcı oluşturuyoruz servisi çalıştıralım diye. kendi kullanıcı ile calistigi icin ve shell hakkı olmadığı için hacklenme durumunda dahi sunucuda işlem yapamaz saldırgan.
/usr/sbin/useradd -s /bin/false tinydns
/usr/sbin/useradd -s /bin/false dnslog
netstat -tulpa | grep domain
lsof -i | grep domain
Şimdi dns tanımlamalarını yapabiliriz. Yandex Mail yönlendirmeleri olan domainler için aşağıdaki gibi ek yapılır.
cd /etc/tinydns/root
mcedit data
####  linuxuzmani.com ####
.linuxuzmani.com:172.16.0.10:a:259200
.0.16.172.in-addr.arpa:172.16.0.10:a:259200
.linuxuzmani.com:172.16.0.11:a:259200
.0.16.172.in-addr.arpa:172.16.0.11:a:259200
=linuxuzmani.com:172.16.0.10:86400
+www.linuxuzmani.com:172.16.0.10:86400
+ns1.linuxuzmani.com:172.16.0.10:86400
=ns2.linuxuzmani.com:172.16.0.11:86400
@linuxuzmani.com::mx.yandex.net.:10:86400
Cmail.linuxuzmani.com:domain.mail.yandex.net:86400
kaydedip çıkıyoruz ve akabinde devreye alıyoruz ayarları.
make
ikinci bir domainin tanımlarını dosyanın altına ekleyerek devam ediyoruz ve make ile tekrar uyguluyoruz.
#### linuxuzmani.net  ####
.linuxuzmani.net::ns1.linuxuzmani.com
.linuxuzmani.net::ns2.linuxuzmani.com
=linuxuzmani.net:172.16.0.10:86400
+www.linuxuzmani.net:172.16.0.10:86400
@linuxuzmani.net::aspmx.l.google.com.:1:3600
@linuxuzmani.net::alt1.aspmx.l.google.com.:5:3600
@linuxuzmani.net::alt2.aspmx.l.google.com.:5:3600
Cmail.linuxuzmani.net:ghs.google.com:9800
Djbdns ayarı için bir proje sayfası var. Kolaylık oluyor.
Apache ayarlarına geçebiliriz.
 useradd -d /var/www/hosting/ftpuser -g www-data -s /usr/sbin/nologin ftpuser
passwd ftpuser
Centos User Ekleme
useradd -d /var/www/salih -g apache -s /sbin/nologin salih
** Devamı gelecektir. Sürekli güncelleme yapılacaktır. Zaman ayırabildiğim durumlarda.

Apache2 ile Mod_Proxy (Http Proxy)

Sorunsuz ve maliyetsiz bir şekilde ayrıca güvenli olarak çalışıyor. İçeride istediğiniz linke ve porta yönlendirebilirsiniz.
Ayrıca sunucunuz yurt dışında ise youtube vb gibi erişim yasağı olan siteleride burada tanımlayabilir ve zahmetsizce sörf yapabilirsiniz 🙂


Sunucum debian. Apache kurulu değilse kurulumunu yapalım.
apt-get install apache2

Kurulumun ardından http_proxy ve proxy modülünü aktif hale getiriyoruz.
a2enmod proxy
a2enmod proxy_http
Modüllerimizi aktif ettikten sonra proxy ayarını yapıyoruz.Kırmızı ile yaptığım yerler değiştirdiğim veya eklediğim yerler.
nano /etc/apache2/mods-available/proxy.conf
<IfModule mod_proxy.c>
#turning ProxyRequests on and allowing proxying from all may allow
#spammers to use your proxy to send email.
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
#Allow from .example.com
</Proxy>
# Enable/disable the handling of HTTP/1.1 “Via:” headers.
# (“Full” adds the server version; “Block” removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block
ProxyVia On
ProxyPass /ws/prod    http://prod.linuxuzmani.com:9900/sap/rfc/spprod
ProxyPass /ws/test      http://test.linuxuzmani.com:9900/sap/rfc/sptest
ProxyPass /portal       http://172.16.1.10:40000
ProxyPass /yt               http://www.youtube.com

</IfModule>
Tanımlamalarımızın ardından sunucumuzu tamamlıyoruz. Artık http proxy servisimiz hizmete hazır.

/etc/init.d/apache2 restart

Apache Bilgilerini Gizleme

Güvenlik için web sunucusu ve bileşenlerin sürüm bilgilerinin gizlenmesi tavsiye edilir her zaman. Apahce için aşağıdaki ayarları yapabilirsiniz.
/etc/apache2/apache2.conf                     dosyasını açalım.
ServerSignature Off
ServerTokens Prod
satırlarını ekledikten sonra servisi yeniden başlatalım.
/etc/init.d/apache restart
Artık web sunucumuzun sürüm bilgileri elde edilemeyecek.