You are on page 1of 6

c 



 
Posted on Tháng Mưӡi Hai 12, 2010 by dctuit

HTTP là mӝt giao thӭc cho phép trình duyӋt Web Browser và servers có thӇ giao tiӃp vӟi nhau.
Nó chuҭn hoá các thao tác cơ bҧn mà mӝt Web Server phҧi làm đưӧc. HTTP bҳt đҫu là 1 giao
thӭc đơn giҧn giӕng như vӟi các giao thӭc chuҭn khác trên Internet, thông tin điӅu khiӇn đưӧc
truyӅn dưӟi dҥng văn bҧn thô thông qua kӃt nӕi TCP. Do đó, kӃt nӕi HTTP có thӇ thay thӃ bҵng
cách dùng lӋnh ³telnet´ chuҭn.

Apache là mӝt phҫn mӅm có nhiӅu tính năng mҥnh và linh hoҥt dùng đӇ làm Web Server .

yÊ Hӛ trӧ đҫy đӫ nhӳng giao thӭc HTTP trưӟc đây như HTTP/1.1
yÊ Có thӇ cҩu hình và mӣ rӝng vӟi nhӳng module cӫa công ty thӭ ba
yÊ Cung cҩp source code đҫy đӫ vӟi license không hҥn chӃ.
yÊ Chҥy trên nhiӅu hӋ điӅu hành như Windows NT/9x, Netware 5.x, OS/2 và trên hҫu hӃt
các hӋ điӅu hành Unix.

c 
Èói cài đһt cӫa Apache đưӧc cung cҩp trong DVD CentOS hoһc bҥn có thӇ tìm tҧi trên trang chӫ
tҥi đӏa chӍ http://

Bҥn cài đһt bҵng lӋnh # rpm -ivh CentOS/httpd-*.rpm

Sau khi cài đһt bҥn khӣi đӝng dӏch vө bҵng lӋnh

[root@server ~]#  


[root@server ~]# 
 
 


 
Mһc đӏnh website cӫa bҥn cҫn lưu trong đӏa chӍ  
 và file mһc đӏnh là index.html.
ĐӇ thӱ nghiӋm, bҥn uoload mӝt website.

Bҥn có nhiӅu giҧi pháp cho viӋc upload mӝt website lên webserver, FTP là mӝt gӧi ý tӕt. NӃu
muӕn đơn giҧn hơn thì bҥn dùng mӝt tiӋn ích SSH nào đó đӇ gӱi file lên. Ӣ đây, tôi giҧ đӏnh rҵng
bҥn có thӇ thӵc hiӋn đưӧc nhӳng đӅu đó.

Sau đó bҥn chӍ cҫn thӱ lҥi webserver cӫa mình bҵng cách truy cұp đӏa chӍ ip cӫa server, ví dө ӣ
đây là 192.168.40.100. ĐӇ có thӇ truy cұp đưӧc bҵng tên bҥn cҫn cҩu hình thêm DNS cho viӋc
phân giҧi tên miӅn.
Hình 1: Website đưͫc t̩o m̿c đ͓nh và truy c̵p thành công

c  
TiӃp theo bҥn tìm hiӇu cách cҩu hình cho website, đӇ ӣ mӝt thư mөc khác. Ví ӣ đây, tôi tҥo thư
mөc /mysite và tұp tin trang chӫ cӫa website lúc này là home.html.

Đҫu tiên trên máy server, bҥn cũng chuҭn bӏ mӝt thư mөc /mysite upload website mүu cӫa bҥn
lên, có tұp tin trang chӫ là homt.html

Sau đó mӣ file cҩu hình httpd ra, tҥi đưӡng dүn   khҧo sát mӝt sӕ
thông sӕ sau đây:

Dòng 256: Dòng này cҩu hình server name cho website. Nó đang ӣ trҥng thái ghi chú, bҥn bӓ
dҩu thăng đi, và sӱa lҥi thành www.mysite.com nӃu bҥn muӕn, bӓ luôn :80 phía sau không bҥn
không có sӵ thay đәi nào vӅ port mһc đӏnh cӫa website.

ServerName www.example.com:80

Dòng 281 và 306: Dòng này cҩu hình lưu trӳ web mһc đӏnh. Bҥn phҧi thay đәi lҥi cho đúng vӟi
thư mөc chӭa web cӫa mình hiӋn tҥi. Ví dө ӣ đây là:

Dòng 281: DocumentRoot ³/mysite´

Dòng 306: <Directory ³/mysite´>


Dòng 391: ChӍ ra nhӳng file nào sӁ là trang chӫ cӫa website. Khi truy cұp vào thư mөc, nhӳng
file này sӁ đưӧc truy cұp đҫu tiên. Bҥn cҫn bӓ thêm home.html vào

DirectoryIndex index.html index.html.var home.html

Sau đó bҥn lưu file cҩu hình và khӣi đӝng lҥi dӏch vө httpd, kӃt quҧ website cӫa bҥn lúc này đã bӏ
thay đәi.

Hình 2: Webiste mͣi khi đã c̭u hình thư mͭc lưu trͷ cho web

Tҥo alias cho website

Bây giӡ bҥn cҫn có thêm mӝt alias cho web cӫa mình theo đӏa chӍ http://192.168.40.100/love
chҷng hҥn. Bҥn hãy tҥo mӝt thư mөc nӳa chӭa web cӫa mình, nҵm trong thư mөc /mysite và đưa
website mӟi lên.

sau đó mӣ file cҩu hình ra, dòng 539 đӃn 546 dùng đӇ cҩu hình alias, bҥn copy đoҥn đó, hoһc sӱa
lҥi tӯ đó luôn, đӇ có mӝt đoҥn như sau:

Alias /love ³/mysite/love´

<Directory ³/mysite/love´>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Đây chính là kӃt quҧ trong http://192.168.40.100/love cӫa bҥn đây

Nhưng đó không phҧi là nhӳng gì mà chúng ta mong muӕn, nhӳng gì chúng ta đang mong đӧi ӣ
phҫn tiӃp theo.

c ! 
Ӣ đây ta giҧ dө rҵng trang /love cӫa bҥn tҥo lúc nãy là trang nӝi bӝ, và chӍ có user trong mҥng
mӟi vào đưӧc. Tӭc là bҥn cҫn mӝt chӭng thӵc khi vào trang này. Có hai kiӇu chӭng thӵc.

c !"#$

Vӟi kiӇu này, mұt khҭu sӁ không đưӧc mã hóa. Bҥn sӱ dөng lҥi đoҥn cҩu hình alias ӣ trên, thêm
vài thông tin nӳa.

Alias /love ³/mysite/love´

<Directory ³/mysite/love´>
Options Indexes MultiViews
AuthType Basic %&'()c*+,-.*/cc012,
AuthName ³admin´ %c*+,-.*/c34,*c*5 '6.*7,-1859:*'(,.*;
.<5,-=4,*>,*?@,-,*AB
AuthUserFile /etc/httpd/conf/user #ĐƯӠNÈ DҮN ĐӂN TҰP TIN LƯU USER
Require user admin1 %)9C<D4 3=',E?FGcB*HB?@,-,*AB
AllowOverride None
Order allow,deny
Allow from all
</Directory>
TiӃp theo bҥn cҫn tҥo user admin1, user này không là user trong linux, nên phҧi tҧo bҵng lӋnh
sau

# htpasswd -c /etc/httpd/conf/user admin1


# htpasswd /etc/httpd/conf/user admin2

LӋnh ӣ đây tҥo ra 2user, trong đó tham sӕ  chӍ xuҩt hiӋn vӟi lӋnh đҫu tiên, khi file
/etc/httpd/conf/user chưa đưӧc tҥo ra.

KiӇm tra nhӳng gì vӯa làm bҵng cách vào đӏa chӍ http://192.168.40.100/love Mӝt thông báo yêu
cҫu đăng nhұp hiӋn ra, đăng nhұp bҵng admin1 thì vào đưӧc, bҵng admin2 thì không vào đưӧc.

c !IJI

Vӟi kiӇu này viӋc chӭng thӵc bài bҧng hơn, yêu cҫu mã hóa mұt khҭu truyӅn đi. ĐӃn ví dө này
tôi mӣ rӝng cho bҥn thêm mӝt vҩn đӅ nӳa, là cҩp quyӅn cho nhóm. NӃu bҥn làm theo cách trên là
cҩp quyӅn chӍ cho user cũng không sao.

Bҥn sӱa lҥi đoҥn cҩu hình ӣ trên như sau:

Alias /love ³/mysite/love´

<Directory ³/mysite/love´>
Options Indexes MultiViews
AuthType Digest #CHӐN KIӆU CHӬNÈ THӴC LÀ DIÈEST
AuthName ³private´
AuthUserFile /etc/httpd/conf/userdigest #CHӌ ĐӎNH TҰP TIN CHӬA USER
AuthÈroupFile /etc/httpd/conf/group #CHӌ ĐӎNH TҰP TIN CHӬA NHÓM
Require group admin #NHÓM ĐƯӦC PHÉP CHӬNÈ THӴC
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Cũng như trên, bҥn phҧi tҥo user, tuy nhiên user admin1 ӣ đây sӁ khác admin1 ӣ trên kia.

htdigest -c /etc/httpd/conf/userdigest private admin1

htdigest /etc/httpd/conf/userdigest private admin2

Khác biӋt là bҥn phҧi tҥo thêm group chӭa hai user là admin1 và admin2. Bҥn tҥo mӟi file
/etc/httpd/conf/group nhұp vào nӝi dung

admin: admin1 admin2

Cuӕi cùng là khӣi đӝng lҥi dӏch vө và kiӇm tra nhӳng gì bҥn vӯa cҩu hình. NӃu thành công thì
hai user admin1 và admin2 hai đӅu logon vào đưӧc.

Còn nhiӅu vҩn đӅ khác vӅ cҩu hình web server. Tuy nhiên, khuôn khә bài viӃt có hҥn nên tôi tҥm
dӯng ӣ đây. Mӡi các bҥn tiӃp tөc đón xem các bài viӃt tiӃp theo.

You might also like