Konfigurasi Virtualhost di Nginx

Buat yang ngga pake Nginx, konfigurasi Virtualhost untuk apache bisa dilihat disini, contoh virtualhost di nginx


server {
	listen 80;
	error_log domain1.com_error.log;
	server_name domain1.com www.domain1.com;

location / {
        root /var/www/domain1;
        gzip on;
        index  index.html index.htm index.php;

  }
}


server {
	listen 80;
	error_log domain2.com_error.log;
	server_name domain2.com www.domain2.com;

location / {
        root /var/www/domain2;
        gzip on;
        index  index.html index.htm index.php;

  }
}

Setup Apache Webserver With IPv6

Hanya terdapat sedikit perbedaan dengan konfigurasi buat ipv4, ini mungkin berguna buat yang lagi ngambil certificate ipv6 dari he.
Debian/Ubuntu

apt-get install apache2

CentOS/Fedora

yum install httpd

edit httpd.conf

nano /etc/httpd/conf/httpd.conf

dibagian listening ubah menjadi

Listen [::]:80
Listen 0.0.0.0:80

contoh penggunaan untuk virtual host (IPv6 Only)

<VirtualHost [2001:470:1f11:94e::5]:80>
DocumentRoot /var/www/ipv6.karo.or.id
ServerName ipv6.karo.or.id
CustomLog     /var/log/httpd/ipv6.karo.or.id-access.log combined
ErrorLog      /var/log/httpd/ipv6.karo.or.id-error.log
</VirtualHost>

kalo mau ditambahi biar bisa diakses dari IPv4

<VirtualHost 74.62.152.130:80 [2001:470:1f11:94e::5]:80>
DocumentRoot /var/www/ipv6.karo.or.id
ServerName ipv6.karo.or.id
CustomLog     /var/log/httpd/ipv6.karo.or.id-access.log combined
ErrorLog      /var/log/httpd/ipv6.karo.or.id-error.log
</VirtualHost>

kalau pake cara diatas kita listen ke ip tertentu, kalo mau web server listen ke semua ip yang ada dalam system ubah virtualhost menjadi

<VirtualHost *:80>
DocumentRoot /var/www/ipv6.karo.or.id
ServerName ipv6.karo.or.id
CustomLog     /var/log/httpd/ipv6.karo.or.id-access.log combined
ErrorLog      /var/log/httpd/ipv6.karo.or.id-error.log
</VirtualHost>

nanti dibuatkan tutorial yang lebih lengkap, buat apache ipv6, email ipv6, ftp ipv6 🙂
penutup :
Selamat datang di dunia IPv6.

Instalasi SuPHP dengan PHP-CGI di CentOS 5

Salah satu manfaat SuPHP adalah dalam update .htaccess, upgrade, update, delete plugin wordpress, joomla, drupal dsb. Ini dia penjelasannya dari suphp.org suPHP is a tool for executing PHP scripts with the permissions of their owners. It consists of an Apache module (mod_suphp) and a setuid root binary (suphp) that is called by the Apache module to change the uid of the process executing the PHP interpreter.


yum update
yum upgrade 
yum install mod_suphp 

Buat sebuah file mod_suphp.conf di /etc/httpd/conf.d/

nano /etc/httpd/conf.d/mod_suphp.conf

isi dengan

LoadModule suphp_module modules/mod_suphp.so
suPHP_AddHandler x-httpd-php .php .php4 .php3 .php5 .phtml .html .jsp
suPHP_Engine on
edit file suphp.conf di /etc/suphp.conf

lihat bagian

;User Apache is running as
webserver_user=apache

untuk melihat webserver user bisa dengan perintah ps axu | grep httpd, keluarannya kira-kira seperti ini :

# ps axu | grep httpd
apache   apache  0.0  0.1  24924  1660 ?        S    08:05   0:00 /usr/sbin/httpd

apache paling kiri berarti anda menjalankan apache dari user apache dan group apache.
ubah bagian

allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

menjadi

allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false

dan dibagian

[handlers]
;Handler for php-scripts
x-httpd-php=php:/usr/bin/php-cgi
;Handler for CGI-scripts
x-suphp-cgi=execute:!self

menjadi

[handlers]
;Handler for php-scripts
x-httpd-php="php:/usr/bin/php-cgi"
;Handler for CGI-scripts
x-suphp-cgi="execute:!self"

settingan untuk suphp sudah selesai, sekarang buka httpd.conf
nano /etc/httpd/conf/httpd.conf
tambahkan baris berikut di dalam virtualhost

suPHP_Engine on
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php

contoh :

<VirtualHost *:80>
DocumentRoot /home/tommy/public_html/
ServerName blog.karo.or.id
suPHP_Engine on
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php
CustomLog     /var/log/httpd/blog.karo.or.id-access.log combined
ErrorLog      /var/log/httpd/blog.karo.or.id-error.log
</VirtualHost>

sebelum web server di restart ingat untuk mengubah file dan folder permission, untuk file 644 dan folder 755. Sekarang restart apache

service httpd restart

bila terjadi error bisa di cek di log /var/log/httpd

Konfigurasi Virtual Host Apache

Virtual host, dipakai untuk penggunaan banyak domain atau juga subdomain dalam 1 ip. Ip static yang kita pakai 192.168.2.10 Kali ini yang dibahas hanya tentang apachenya, php dan mysql menyusul, oh ia distro yang kita pake adalah CentOS 5.5

1. install webserver apache

[root@static ~]# yum install apache2

2. buat direktori untuk penyimpanan domain/subdomain

domain yang akan kita buat sebagai contoh adalah domain1.com dan domain2.com, sedangkan untuk subdomain menggunakan mail.domain1.com. /var/www/html adalah path default apache2 di CentOS.

[root@static ~]# mkdir /var/www/html/domain1.com

[root@static ~]# mkdir /var/www/html/domain2.com

[root@static ~]# mkdir /var/www/html/mail.domain1.com

3. ubah file konfigurasi apache

untuk editor bisa menggunakan editor favorite anda.

[root@static ~]# nano /etc/httpd/config/httpd.conf

ubah dibagian :

NameVirtualHost 80

menjadi

NameVirtualHost 192.168.2.10:80

lalu tambahkan dibagian bawahnya :

<VirtualHost 192.168.2.10:80>
DocumentRoot /var/www/html/domain1.com
ServerName domain1.com
ServerAlias domain1.com *.domain1.com
</VirtualHost>

<VirtualHost 192.168.2.10:80>
DocumentRoot /var/www/html/domain2.com
ServerName domain2.com
ServerAlias domain2.com *.domain2.com
</VirtualHost>

<VirtualHost 192.168.2.10:80>
DocumentRoot /var/www/html/mail.domain1.com
ServerName mail.domain1.com
ServerAlias mail.domain1.com *.mail.domain1.com
</VirtualHost>

4. buat file index.html untuk masing-masih domain/subdomain

[root@static ~]# echo “domain1.com” >> /var/www/html/domain1.com

[root@static ~]# echo “domain2.com” >> /var/www/html/domain2.com

[root@static ~]# echo “mail.domain1.com” >> /var/www/html/mail.domain1.com

5. restart apache server

[root@static ~]# service httpd restart

coba buka domain1.com, domain2.com dan mail.subdomain1.com 🙂 . Selamat mencoba