howtodownload

howtodownload
cach down
Hiển thị các bài đăng có nhãn centos. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn centos. Hiển thị tất cả bài đăng

Thứ Bảy, 12 tháng 10, 2013

Cấu hình VirtualHost Apache trên Centos

Bài lab này nhằm mục đích giúp bạn cấu hình hosting sử dụng apache làm web server. Có nghĩa là tạo nhiều tên miền trên 1 địa chỉ IP hay còn gọi là name-based host.

Mô hình


Cấu hình DNS:

Đặt địa chỉ ip cho máy mình:

ifconfig eth1 10.10.10.10 netmask 255.225.255.0 up
Bước 1: Cài đặt dịch vụ DNS.

yum install bind* --exclude=*bind97* -y
Bước 2 : Bạn cấu hình các file quan trọng sau.

file named.conf

vim /var/named/chroot/etc/named.conf
PHP Code:
//
// named.conf for Red Hat caching-nameserver 
//

acl mynet {
    10.10.10.0/24;
    127.0.0.1;
};

options {
    directory "/var/named";
    notify no;
    listen-on {
        mynet;
        };
    allow-query {
        mynet; 
        };
    allow-notify {
        mynet;
        };
    allow-transfer {
        mynet;
        }; 
};

zone "conmotit.com" {
    type master;
    file "conmotit.com.zone";
    allow-query { mynet; };
    allow-update { none; };
    allow-transfer {none;};
};
zone "conmotit.local" {
    type master;
    file "conmotit.local.zone";
    allow-query {mynet;};
    allow-update {none;};
    allow-transfer{none;};
};
zone "10.10.10.in-addr.arpa" {
    type master;
    file "10.10.10.in-addr.arpa.zone";
    allow-query { mynet; };
    allow-update { none; };
    allow-transfer { none;};
};  
file conmotit.com.zone

vim /var/named/chroot/var/named/conmotit.com.zone
PHP Code:
$TTL 86400
@    IN    SOA    @  root.conmotit.com (
            5 ; serial
            28800 ; refresh
             7200 ; retry
               604800 ; expire    
            86400 ; ttl
            )


@    IN      NS    conmotit.com.

$ORIGIN        conmotit.com.

@      IN      A      10.10.10.10
www      IN      A     10.10.10.10  
file conmotit.local.zone

vim /var/named/chroot/var/named/conmotit.local.zone
PHP Code:
$TTL 86400
@    IN    SOA    @  root.conmotit.local (
            5 ; serial
            28800 ; refresh
             7200 ; retry
               604800 ; expire    
            86400 ; ttl
            )


@    IN      NS    conmotit.local.

$ORIGIN        conmotit.local.

@      IN      A      10.10.10.10
www      IN      A     10.10.10.10  
file 10.10.10.in-addr.arpa.zone

vi /var/named/chroot/var/named/10.10.10.in-addr.arpa.zone
PHP Code:
$TTL 86400
@       IN      SOA     @    root.conmotit.com (
                        6; serial
              28800 ; refresh
               7200 ; retry
                     604800 ; expire
                      86400 ; ttk
                    )
            
@     IN      NS    conmotit.com.

10    IN    PTR    conmotit.com.
10    IN    PTR    www.conmotit.com.
10    IN    PTR    conmotit.local.
10    IN    PTR    www.conmotit.local.  
Như các bạn thấy thì mình sử dụng 2 tên miền là conmotit.com và conmotit.local cho bài lab này.

Cấu hình apache.

Bạn mở file cấu hình apache và sửa lại các dòng sau

vim /etc/httpd/conf/httpd.conf
Bạn kéo xuống dưới cùng và sửa lại đoạn virtualhost như bên dưới đây.

NameVirtualHost 10.10.10.10

<VirtualHost 10.10.10.10>
ServerAdmin webmaster@conmotit.com
DocumentRoot /var/www/conmotit.com/
ServerName www.conmotit.com

</VirtualHost>

<VirtualHost 10.10.10.10>
ServerAdmin webmaster@conmotit.local
DocumentRoot /var/www/conmotit.local/
ServerName www.conmotit.local
</VirtualHost>

TIếp theo bạn tạo thư mục chứa website của 2 trang web trên bằng lệnh

mkdir /var/www/conmotit.com
mkdir /var/www/conmotit.local
Sau đó bạn tạo 1 trang web cho mỗi site này.

ở site conmotit.com

vim /var/www/conmotit.com/index.html
bạn đưa nội dung sau vào nhé. (tuỳ ý)

trang web conmotit.com
ở site conmotit.local

vim /var/www/conmotit.local/index.html
bạn đưa nội dung sau (tuỳ ý )

trang web conmotit.local
22222222222222
Giờ thì bạn khởi động DNS và APACHE lên nha.

service named start
chkconfig named on
service httpd start
chkconfig httpd on
Tắt firewall đi để client có thể truy cập.

service iptables stop
Giờ bạn qua máy client test xem đã ok chưa nhé.





ĐÓ. Vậy là ok rồi nhé .Bạn có thể tham khảo cách làm hosting cho apache qua link sau.

http://httpd.apache.org/docs/2.0/vhosts/examples.html

Cấu hình lighttpd trên Centos 5.6

MÌnh đã từng có 2 bài lab về cấu hình webserver đó là cấu hình webserver apache và Nginx. Trong bài lab ngắn này mình sẽ hướng dẫn các bạn cài đặt và cấu hình lighttpd trên centos 5.6 .

Lighttpd là một webserver chạy khá là tốt, an toàn, nhanh và cực kỳ nhẹ.


Các bạn xài thằng này đi sẽ thấy nó tuyệt vời chả kém gì 2 webserver kể trên.

1.Cài đặt :

Hiện nay lighttpd đã có version 1.5 với việc hỗ trợ chuẩn h264(mp4) streaming đẳng cấp cao hơn so với version 1.4 chỉ hỗ trợ h263(flv) streaming. Ngoài ra còn 1 module nữa khá hữu ích đối với bạn đó upload_progress cho phép bạn quan sát được quá trình upload bao gồm bao nhiêu byte/byte, thời gian như thế nào.....

Để cài đặt webserver bạn gõ lệnh sau nha.

yum install -y lighttpd

Việc cài đặt khá dễ dàng phải không nào !!!!

2.Cấu hình :

File cấu hình dịch vụ nằm ở đường dẫn /etc/lighttpd/

Bạn dùng lệnh vi (hoặc vim) để mở file lighttpd.conf lên.Chúng ta sẽ vào đây xem các option của nó và giải thích nhé.

vim /etc/lighttpd/lighttpd.conf
PHP Code:
#thu muc chua log
var.log_root    = "/var/log/lighttpd"
# thu muc chua source web
var.server_root = "/srv/www"
#
var.state_dir   = "/var/run"
# thu muc chua file mau
var.home_dir    = "/var/lib/lighttpd"
# thu muc chua file cau hinh
var.conf_dir    = "/etc/lighttpd"
#
var.vhosts_dir  = server_root + "/vhosts"
# thu muc chua cache web
var.cache_dir   = "/var/cache/lighttpd"

##
var.socket_dir  = home_dir + "/sockets"

##
include "modules.conf"

##
#######################################################################

#######################################################################
##
##  Cau hinh co ban
## ---------------------
# port web server.mac dinh la port 80
server.port = 80

# su sung IPv6.mac dinh la off.
server.use-ipv6 = "disable"
# user va group cua lighttpd.user va group nay phai co quyen tren file cau hinh 
# va thu muc chua source web de dich vu co quyen chay.
server.username  = "lighttpd"
server.groupname = "lighttpd"

## 
## enable core files.
##
#server.core-files = "disable"

##
## Document root
##
server.document-root = server_root + "/lighttpd"

##
## The value for the "Server:" response field.
##
## It would be nice to keep it at "lighttpd".
##
#server.tag = "lighttpd"

##
## store a pid file
##
server.pid-file = state_dir + "/lighttpd.pid"

##
#######################################################################

#######################################################################
##
##  Logging Options
## ------------------
## duong dan file log khi dich vu chay bi loi.
##
server.errorlog             = log_root + "/error.log"

##
## neu ban muon lighttpd ghi log vao syslog thi bo dau # o dong duoi.
#server.errorlog-use-syslog = "enable"

##
## file cau hinh log ghi nhan su truy cap.
## 
include "conf.d/access_log.conf"

##
include "conf.d/debug.conf"


#######################################################################

#######################################################################
##
##  Tuning/Performance
## --------------------
##
##
## set the event-handler (read the performance section in the manual)
##
## possible options on linux are:
##
## select
## poll
## linux-sysepoll
##
## linux-sysepoll is recommended on kernel 2.6.
##
server.event-handler = "linux-sysepoll"

##
## Ve co ban thi giao dien mang chi cho doc va viet.
## Nhieu he dieu hanh hien dai cung cap syscalls rieng de giup mang
## chuyen file cang nhanh cang tot.
##
## linux-sendfile la danh cho viec goi file nho.
## writev         la danh cho viec chuyen  nhieu file lon.
##
server.network-backend = "linux-sendfile"

##
## So tap tin mo ta duoc open.moi request php chi can 3 tap tin mo ta la :handle-TCP/IP-with-user , socket-to-FastCGI và Check-wheher-a-file-exists 
## voi server chiu tai cao thi nen tang so nay len.tuy thuoc cau hinh phan cung.

server.max-fds = 2048

##
## Stat() call caching.
##
## lighttpd can utilize FAM/Gamin to cache stat call.
##
## possible values are:
## disable, simple or fam.
##
server.stat-cache-engine = "simple"

## so ket noi toi da ma server cho phep.
## de an toan thi so nay bang 1/2 so server.max-fds
##
server.max-connections = 1024

##
## so thoi gian song cua ket noi.
## cho toi khi server xem la no dang nhan roi.
##
## mac dinh la 5 giay
##
#server.max-keep-alive-idle = 5

##
## so thoi gian song cua ket noi cho toi khi server ngat ket noi.
##
## mac dinh la 16 giay
##
#server.max-keep-alive-requests = 16

##
## kich co file toi da ma client duoc phep yeu cau.
## mac dinh la khong gioi han.
##
## tai len server cua ban co the lon hon con so nay.
##
#server.max-request-size = 0

##
## Thoi gian doc tu socket truoc khi server cho ket noi la ranh roi.
##
## mac dinh la 60 giay
##
#server.max-read-idle = 60

##
## Thoi gian doc tu socket truoc khi server cho ket noi la ranh roi.
##
## mac dinh la  360 giay
##
#server.max-write-idle = 360

##
##  Dinh hinh luu luong 
## -----------------
##
## file mau /usr/share/doc/lighttpd/traffic-shaping.txt
##
## gia tri la kilobyte/giay.
##
## gioi han luu luong truy cap.
##
## tren server.
## mac dinh la 128kB/s
##
#server.kbytes-per-second = 128

##
## tren ket noi.
## mac dinh la 32kB/s
##
#connection.kbytes-per-second = 32

##
#######################################################################

#######################################################################
##
## file chay lighttpd.ban phai tao file giong the nay de lighttpd doc duoc.
## co the them cac dinh dang khac nhu index.php
index-file.names += (
  "index.xhtml", "index.html", "index.htm", "default.htm", "index.php"
)

##
## cac duoi mo rong bi deny
## 
url.access-deny             = ( "~", ".inc" )

##
## khong xu ly doi voi file pdf.
## cach sua loi nay trong Acrobat Reader plugin.
##
$HTTP["url"] =~ "\.pdf$" {
  server.range-requests = "disable"
}

##
## url handling modules (rewrite, redirect)
##
#url.rewrite                = ( "^/$"             => "/server-status" )
#url.redirect               = ( "^/wishlist/(.+)" => "http://www.example.com/$1" )

##
## both rewrite/redirect support back reference to regex conditional using %n
##
#$HTTP["host"] =~ "^www\.(.*)" {
#  url.redirect            = ( "^/(.*)" => "http://%1/$1" )
#}

##
## which extensions should not be handle via static-file transfer
##
## .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
##
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".scgi" )

##
## error-handler for status 404
##
#server.error-handler-404   = "/error-handler.html"
#server.error-handler-404   = "/error-handler.php"

##
## Format: <errorfile-prefix><status-code>.html
## -> ..../status-404.html for 'File not found'
##
#server.errorfile-prefix    = "/srv/www/htdocs/errors/status-"

##
## mimetype mapping
##
include "conf.d/mime.conf"

##
## cau hinh danh sach thu muc.
##
include "conf.d/dirlisting.conf"

##
## cho phep lien ket mem ?
## 
server.follow-symlink = "enable"

##
## ep cac ten file thanh chu thuong ?
##
#server.force-lowercase-filenames = "disable"

##
## thu muc chua file upload.ban co the thay doi duong dan nay.
##
server.upload-dirs = ( "/var/tmp" )

##
#######################################################################


#######################################################################
##
## ho tro ssl
## ------------- 
##
## To enable SSL for the whole server you have to provide a valid
## certificate and have to enable the SSL engine.::
##
##   ssl.engine = "enable"
##   ssl.pemfile = "/path/to/server.pem"
##
## The HTTPS protocol does not allow you to use name-based virtual
## hosting with SSL. If you want to run multiple SSL servers with
## one lighttpd instance you must use IP-based virtual hosting: ::
##
##   $SERVER["socket"] == "10.0.0.1:443" {
##     ssl.engine                  = "enable"
##     ssl.pemfile                 = "/etc/ssl/private/www.example.com.pem"
##     server.name                 = "www.example.com"
##
##     server.document-root        = "/srv/www/vhosts/example.com/www/"
##   }
##

## If you have a .crt and a .key file, cat them together into a
## single PEM file:
## $ cat /etc/ssl/private/lighttpd.key /etc/ssl/certs/lighttpd.crt \
##   > /etc/ssl/private/lighttpd.pem
##
#ssl.pemfile = "/etc/ssl/private/lighttpd.pem"

##
## optionally pass the CA certificate here.
##
##
#ssl.ca-file = ""

##
#######################################################################

#######################################################################
##
## cau hinh virtualhost.
##
#include "conf.d/config.conf"
include_shell "cat /etc/lighttpd/vhosts.d/*.conf"
##
#######################################################################  
Bây giờ các bạn vào thư mục chứa source web là /srv/www/lighttpd/ để tạo 1 file trang chủ.

Bạn dùng lệnh sau để tạo file trang chủ với nội dung tuỳ ý.

vim /srv/www/lighttpd/index.html

Sau đó bạn lưu lại và trên server bạn mở một trình duyệt web lên để test với địa chỉ là localhost hoặc ip của webserver.


Để có thể cho client truy cập với 1 tên miền xác định thì bạn có thể cấu hình DNS server và cho client trỏ về dns server.Sau đó mở trình duyệt và truy cập với domain mà mình đã tạo.

PS: bạn có thể cài mysql và php5 để server của bạn hoàn hảo hơn.sắp tới mình sẽ demo loạt bài viết về cấu hình một server hoàn hảo.các bạn chú ý xem nhé.

Cấu hình dịch vụ DNS trên centos

Khái niệm DNS?
DNS (Domain Name System) là : một hệ cơ sở dữ liệu phân tán dùng để ánh xạ giữa các tên miền vê các địa chỉ IP Hay nói ngắn gọn là để phân giải tên miền thành địa chỉ ip hay ngược lại.
Mô hình:

Cấu hình DNS:

Đặt địa chỉ ip cho máy mình:
ifconfig eth0 192.168.1.254 netmask 255.225.255.0 up
Bước 1: Cài đặt dịch vụ DNS.
Ở đây mình dùng lệnh yum trên mang cho nó đơn giản.
yum install bind* --exclude=*bind97* -y
yum để cài dịch vụ qua mạng.
install là 1 option của yum.
bind là dịch vụ DNS.
--exclude=*bind97* là mình muốn cài chính xác gói bind và version mà mình muốn. Gói dịch vụ bind mới nhất hiện nay là bind version 9.9. Vì sao mình ko cài 9.9 vì 9.9 có thể cấu hình phức tạp hơn 1 chút^^ cho vấn đề bảo mật.

Ngoài lề tí nha. Theo như thông tin trên mạng thì các gói DNS cũ đã mắc phải vấn đề về bảo mật, nó có 1 dịch vụ khác có thể so sánh bằng dịch vụ này (mình ko tiện nói tên nha vì sai chủ đề của lab) lơi thế là bảo mật hơn. tuy nhiên cũng không cần thiết phải dịch vụ mới mới bảo mật, bạn chỉ cần update phiên bản mới nhất là ok rùi. Ở đây mình chỉ dừng ở lab là làm dc la ok nên vấn đề đó chúng ta sẽ nghiên cứu sau nha! Nói nhìu quá, lạc đề rùi, hjchjc.

-y mình không nói nữa nha vì mình đã nói ở bài DHCP rồi.


Mặc định file cấu hình dịch vụ sẽ không có nên ta phải tạo ra để chạy dịch vụ.Bạn có thể copy file mẫu từ thư mục sau:







Bước 2: Cấu hình 3 file:named.conf,zone thuận,zone nghịch.
Ta cấu hình file named.conf như sau:
vi /var/named/chroot/etc/named.conf

Nội dung này tạm đủ để chạy:
acl mynet { //khai báo ACL
192.168.1.0/24;
};

options {
directory "/var/named"; //thư mục chứa
notify no; //gửi thông báo đến slave
auth-nxdomain yes;
listen-on { //cho phép lắng nghe
mynet;
};
};

zone "conmotit.local" { //khai báo zone thuận, ở đây mình khai báo conmotit.local (dùng .com cũng dc nhưng để đảm bảo khỏi bị đụng với domain bên ngoài).
type master; //để server biết máy này làm master dns.
file "conmotit.local.zone";
allow-query { //cho pep truy vấn từ đâu(mynet là sunbet của mình, any là bất kể từ đâu)
mynet;
};
allow-transfer { //cái này chỉ áp dụng cho DNS slave vái dưới cũng thế nha
none;
};
allow-update {
none;
};
};

zone "1.168.192.in-addr.arpa" { //khai báo zone nghịch. Ghi ngược lai cho nó đúng cú pháp, giống cái tên bên windown ha.
type master; //để server biết máy này làm master dns.
file "1.168.192.in-addr.arpa.zone";
allow-query { //cho pep truy vấn từ đâu(mynet là sunbet của mình, any là bất kể từ đâu)
mynet;
};

allow-transfer {
none;
};
allow-update {
none;
};
};


Tạo file zone thuận:


vi /var/named/chroot/var/named/conmotit.local.zone
Nội dung như sau:
$TTL 86400
@ IN SOA @ root.conmotit.local ( //khai báo tên miền quản lý cấp cao nhất là root
2 ; serial //Mỗi lần mình edit file này là phải + thêm 1 số để server slave query đến biết đã thay dổi thông tin để update cache.
28800 ; refresh //thời gian slave làm mới lại cache dns
7200 ; retry //thời gian slave kết nối lại dịch vụ dns nếu thất bại
604800 ; expire //nếu slave kết nối lại hoài ko dc thì nó sẽ hiểu là DNS ko thể query dc nữa.
86400 ; ttl //cho phép thời gian sống của DNS, và sẽ cache lại sau khoảng time này
)


@ IN NS dns.conmotit.local. //khai báo nameserver, để ý phải có dấu . nha
@ IN MX 10 mail.conmotit.local. //khai báo mail server, 10 là độ ưu tiên


$ORIGIN conmotit.local. //Khai báo tổ chức của DNS từ dòng thứ 2 ở trên

@ IN A 192.168.1.254 // còn lại là những record mà nameserver quản lý.
dns IN A 192.168.1.254
www IN A 192.168.1.254
mail IN A 192.168.1.254
cấu hình zone nghịch:

Khai báo zone nghịch gần giống với zone thuận, ý nghĩa mấy dòng thì như zone thuận mình khỏi giả thích lại nha.

vi /var/named/chroot/var/named/1.168.192.in-addr.arpa.zone
Nội dụng file:


$TTL 86400
@ IN SOA @ root.conmotit.local (
5 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttk
)

@ IN NS conmotit.local.
254 IN PTR conmotit.local.
254 IN PTR dns.conmotit.local.
254 IN PTR mail.conmotit.local.
254 IN PTR www.conmotit.local.

Khai báo DNS để phân giải conmotit.local.

vi /etc/resolv.conf
Xoá hết mấy dòng trong đó và thêm vào dòng sau:

nameserver 192.168.1.254
khai báo thế này giống như bên windown ta vào preferr DNS đó

Sau đó ta khởi động lại dịch vụ
/etc/init.d/named restart
Ta nslookup thử xem có phân giả dc conmotit.local ko nha

Xem log
tail -f /var/log/messages
Thành công nha!



P/s:Tại sao mình ko đặt conmotit.com mà đặt conmotit.local vì làm lab nên mình đặt thế thứ nhất là tránh trùng với domain mình đang dùng thừ 2 là để biết rằng lab này làm trên local, các bạn cũng nên tập thế khi làm lab để tránh những lỗi không đáng có nha!


Nếu bạn nào làm không dc thì có thể tải 3 file config giống tut trên dưới đây




http://conmotit.com/attachment.php?attachmentid=13&d=1334730641