Tin tức

Ngôi làng có 100 người sống trong hang động, tách biệt với thế giới bên ngoài
Ngôi làng có 100 người sống trong hang động, tách biệt với thế giới bên ngoài
14-08-2016 32,814
Phi hành gia Mỹ xác nhận nghe thấy âm nhạc bí ẩn trên Mặt trăng trên tàu Apollo 10
Phi hành gia Mỹ xác nhận nghe thấy âm nhạc bí ẩn trên Mặt trăng trên tàu Apollo 10
22-02-2016 36,267
Syria thành đấu trường thử nghiệm vũ khí không chiến Nga
Syria thành đấu trường thử nghiệm vũ khí không chiến Nga
02-12-2015 36,922
Trung Quốc săn người ngoài hành tinh bằng kính viễn vọng khổng lồ
Trung Quốc săn người ngoài hành tinh bằng kính viễn vọng khổng lồ
01-12-2015 36,972
Người dựng hầm, uống rượu sống cô độc giữa 'Bắc Cực Trung Quốc'
Người dựng hầm, uống rượu sống cô độc giữa 'Bắc Cực Trung Quốc'
30-11-2015 37,016
Công nghệ 'hồi sinh người chết' sẽ thành hiện thực trong 30 năm
Công nghệ 'hồi sinh người chết' sẽ thành hiện thực trong 30 năm
29-11-2015 37,429

Hướng dẫn cài đặt Varnish Cache trên DirectAdmin

12-04-2017 25,417

Cài đặt thư viện: 

yum -y install automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig

Với CentOS 5:

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release/varnish-release-3.0-1.el5.centos.noarch.rpm

Với CentOS 6:

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el6/noarch/varnish-release/varnish-release-3.0-1.el6.noarch.rpm

Cài đặt Varnish Cache:

yum install varnish

Sửa /etc/varnish/default.vcl Và thay đổi (Giả sử bạn sử dụng port 8080 cho apache), Đổi IP 123.123.123.123 thành  IP server của bạn: 

backend default {
        .host = "123.123.123.123";
        .port = "8080";
}

Sửa file /etc/httpd/conf/httpd.conf và đổi listening port thành 8080:

Listen 8080

Sửa file /etc/httpd/conf/extra/httpd-vhosts.conf:

Include /etc/httpd/conf/ips.conf
# -SNIP-
#
<VirtualHost 123.123.123.123:80>

Thành:

#Include /etc/httpd/conf/ips.conf
LogFormat "%O \"%r\"" homedir
NameVirtualHost 127.0.0.1:8080
NameVirtualHost 123.123.123.123:8080
NameVirtualHost 123.123.123.123:443
# -SNIP-
#
<VirtualHost 127.0.0.1:8080 123.123.123.123:8080>

Copy templates DirectAdmin đến folder "custom" directory:

cp -p /usr/local/directadmin/data/templates/virtual_host2.conf  /usr/local/directadmin/data/templates/custom/virtual_host2.conf
cp -p /usr/local/directadmin/data/templates/virtual_host2_sub.conf  /usr/local/directadmin/data/templates/custom/virtual_host2_sub.conf
cp -p /usr/local/directadmin/data/templates/redirect_virtual_host.conf  /usr/local/directadmin/data/templates/custom/redirect_virtual_host.conf

Chúng ta cần thay đổi tất cả các biến trong các file template

cd /usr/local/directadmin/data/templates/custom
sed -i 's/<VirtualHost |IP|:|PORT_80| |MULTI_IP|>/<VirtualHost 127.0.0.1:8080 |IP|:8080 |MULTI_IP|>/g' *

Sau đó cài reverse proxy module choApache:

wget http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
hoặc wget https://fossies.org/linux/www/apache_httpd_modules/old/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs -cia mod_rpaf-2.0.c

Nếu bạn đã cài đặt Apache 2.4, bạn sẽ nhận được lỗi thông bao khi thực thi lệnh apxs:

Trích

mod_rpaf-2.0.c:150: error: 'conn_rec' has no member named 'client_ip'
mod_rpaf-2.0.c:151: error: 'conn_rec' has no member named 'client_addr'
mod_rpaf-2.0.c:151: error: 'conn_rec' has no member named 'client_ip'
mod_rpaf-2.0.c: In function 'change_remote_ip':
mod_rpaf-2.0.c:164: error: 'conn_rec' has no member named 'client_ip'
mod_rpaf-2.0.c:183: error: 'conn_rec' has no member named 'client_ip'
mod_rpaf-2.0.c:186: error: 'conn_rec' has no member named 'client_ip'
mod_rpaf-2.0.c:187: error: 'conn_rec' has no member named 'client_addr'
mod_rpaf-2.0.c:187: error: 'conn_rec' has no member named 'client_ip'
apxs:Error: Command failed with rc=65536

Chúng ta cần patch file trước khi thực thi lệnh apxs:

yum install git
git clone git://gist.github.com/2716030.git
patch mod_rpaf-2.0.c 2716030/mod_rpaf-2.0.c.patch
apxs -cia mod_rpaf-2.0.c

Sửa file /etc/httpd/conf/extra/httpd-includes.conf và thêm:

<IfModule mod_rpaf-2.0.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-For
</IfModule>

Chúng ta đổi tất cả các file cấu hình DirectAdmin cho các user hiện tại:

echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue

Sửa /etc/sysconfig/varnish và đổi VARNISH_LISTEN_PORT thành 80:

VARNISH_LISTEN_PORT=80

Restart httpd và start varnish:

service httpd restart
service varnish start

Cuối cùng là cấu hình cho varnish auto start khi reboot:

chkconfig varnish on

Chúc các bạn thành công.