VnLamp

Go Back   VnLamp > Khu vực Training > Linux Advance > Apache Web server

Trả lời
 
LinkBack Ðiều Chỉnh Xếp Bài
Cài đặt và cấu hình Web Server
Old
  (#1 (permalink))
 
Status: Offline
Posts: 511
Tham gia: Dec 2007
BQT VNLAMP
 
goldenbook's Avatar
Default Cài đặt và cấu hình Web Server - 07-01-2008, 21:7 07-01-2008

1. Cài đặt apache (httpd-2.2.3.tar .gz)
Đối với phiên bản phiên bản trên Linux, thường thì chúng ta sẽ cài đặt ngay từ đầu lúc mà chúng ta cài đặt hệ điều hành. Còn nếu chưa cài đặt thì chúng ta có thể cài đặt nó như sau. Chúng ta có thể cài đặt từ các gói đã tạo sẵn với đuôi file thường là deb hoặc rpm, deb là các gói của Debian, dành cho các distro như: Debian, SuSe, Ubuntu … Còn rpm, đây là các gói cài đặt dành cho Red Had, viết tăt từ cụm từ RedHat Package Management. Tuy có đuôi file là như vậy nhưng chúng ta có thể cài đặt trên những distro khác ngoài nó ví dụ như các gói đuôi deb vẫn có thể cài đặt trên Red Hat hoặc các gói rpm vẫn có thể cài đặt trên Debian hay Ubuntu …,chỉ cần có trình quản lý nó. Ví dụ như với các gói đuôi rpm thì ta có trình quản lý nó là rpm còn các gói deb thì có apt-get quản lý nó. Các gói này có thể xem tương tự như trên Windows, các gói cài đặt có đuôi msi hay exe. Tuy nhiên, trên linux còn cho phép ta cài từ mã nguồn. Điều này, rất có ích cho ta chẳng hạn như có thể sửa lại mã nguồn nếu chúng ta muốn. Lợi ích thứ 2 là chúng ta sẽ có thể quản lý được phần mềm của chúng ta. Vì trên Windows, các gói có mã nguồn là đóng vì vậy chúng ta không thể làm được điều này. Với Linux, chúng ta có thể chọn gói mã nguồn như httpd-2.2.3.tar .gz. Đây là gói miễn phí, chúng ta hoàn toàn có thể download được trên mạng. Và để cài đặt gói này, chúng ta sẽ làm như sau:
goldenbook#tar –zxvf httpd-2.2.3.tar .gz
goldenbook#cd httpd-2.2.3

Sau đó, chúng ta sẽ lần lượt cài đặt nó:
goldenbook # ./configure && make && make install.
Nếu cài đặt trên Debian hay Ubuntu thì gõ lệnh: apt-get install apache . Còn nếu cài đặt từ những gói rpm thì gõ lệnh: rpm -ivh httpd-2.2.3.rpm Bây giờ, chúng ta có thể chạy Web Server nếu chúng ta muốn. Tuy nhiên, vẫn có khi gặp trường hợp không thể khởi động được như: lỗi vì đã có phần mềm nào đó chạy trên port mà Web Server ta sẽ chạy. Điều này có thể khắc phục được một cách dễ dàng, bằng cách tắt chương trình chạy trên port đó đi. Và bây giờ khởi động lại là có thể chạy được.
Để khởi động hay tạm dừng hay tái khởi động apache ta script sau:
goldenbook # /etc/init.d/httpd start/stop/restart
Hoặc dùng lệnh:
goldenbook #chkconfig httpd on
goldenbook #service httpd restart

Tuy nhiên, để có thể hiểu cũng như có thể vận hành theo đúng ý muốn của chúng ta thì ta cần phải hiểu và cũng như phải tận tay cấu hình nó. Và việc cấu hình đó, tôi sẽ trình bày trong mục 2 phần cấu hình Web Server dưới đây.


Success inlife isn't a given. It's costs attitude, ambition and acceptance.
   
Trả Lời Với Trích Dẫn
Old
  (#2 (permalink))
 
Status: Offline
Posts: 511
Tham gia: Dec 2007
BQT VNLAMP
 
goldenbook's Avatar
Default 07-01-2008, 21:7 07-01-2008

2. Cấu hình Web Server
Các tập tin và thư mục cấu của Apache:
/etc/httpd/conf: thư mục lưu giữ các tập tin cấu hình như httpd.conf.
/etc/httpd/modules: lưu giữ các module của Web Server.
/etc/httpd/logs: lưu các tập tin log của Apache.
/var/www/html: lưu các trang web.
/var/www/cgi-bin: lưu các script sử dụng cho các trang web.
Tập tin cấu hình Apache được tạo thành từ nhiều chỉ dẫn (directive) khác nhau. Mỗi dòng hoặc mỗi một directive và phục vụ cho một cấu hình riêng biệt. Có những directive có ảnh hưởng với nhau. Những dòng bắt đầu bằng dấu # là những dòng chú thích. Sau đây là những directive quan trọng khi cấu hình Web Server.
ServerName:
Cú pháp: ServerName <hostname>ort
Trong đó, hostname là tên máy tính của Server. Nó được dùng trong việc tạo ra những URL chuyển tiếp (direction URL). Nếu không chỉ ra, server sẽ cố gắng suy luận từ địa chỉ IP của nó. Tuy nhiên, điều này có thể không tin cậy hoặc không trả ra tên máy tính đúng.
Ví dụ: ServerName www.goldenbook.com
ServerAdmin: địa chỉ email của người quản trị hệ thống
Cú pháp: ServerAdmin <địa chỉ email>
Ví dụ: ServerAdmin webmaster@goldenbook.com
ServerType: quy định cách nạp chương trình. Có 2 cách:
inetd: chạy từ các init level.
standalone: chạy từ hệ thống.
Cú pháp: ServerType <inetd/standalone>
Ví dụ: ServerType standalone
DocumentRoot: cấu hình thư mục gối lưu trữ nội dung của Website. Web Server sẽ lấy những tập tin trong thư mục này phục vụ cho yêu cầu của client
Cú pháp: DocumentRoot <đường dẫn thư mục>
Ví dụ: DocumentRoot /usr/web
ServerRoot: chỉ dẫn vị trí cài đặt chương trình Apache.
Cú pháp: ServerRoot <vị trí cài đặt Apache>
Ví dụ: ServerRoot /user/local/apache
ErrorLog: chỉ ra tập tin để server ghi vào bất kỳ những lỗi nào mà nó gặp phải.
Cú pháp: ErrorLog <vị trí tập tin log>
Ví dụ: ErrorLog logs/error_log
DirectoryIndex: các tập tin mặc định được truy vấn khi truy cập trang Web.
Cú pháp: DirectoryIndex <danh sách các tập tin>
Ví dụ: DirectoryIndex index.html
MaxClients: quy định số yêu cầu tối đa từ các client có thể gởi đồng thời đến
server.
Cú pháp: MaxClients <số kết nối tối đa cho phép>
Ví dụ: MaxClients 256
Listen: quy định địa chỉ IP hoặc cổng mà Apache nhận kết nối từ Client.
Cú pháp: Listen <Port/IP>
Ví dụ: Listen 80
BindAddress: quy định địa chỉ card mạng để chạy Apache trên Server.
Cú pháp: BindAddress <IP/*>
Sử dụng dấu “*” để có thể sử dụng tất cả các địa chỉ trên máy.
Ví dụ: BindAddress 192.168.1.100
TimeOut: quy định thời gian sống của một kết nối (được tính bằng giây).
Cú pháp: TimeOut <thời gian tối đa cho một kết nối>
Ví dụ: TimeOut 300
KeepAlive: cho phép hoặc không cho phép client gửi được nhiều yêu cầu dựa trên
một kết nối đến với Web Server.
Cú pháp: KeepAlive <On/Off>
Ví dụ: KeepAlive On
MaxKeepAliveRequests: số Request tối đa trên một kết nối (nếu cho phép nhiều
Request trên một kết nối).
Cú pháp: MaxKeepAliveRequests <số Request>
Ví dụ: MaxKeepAliveRequests 100
KeepAliveTimeout: quy định thời gian để chờ một Request kế tiếp từ cùng một
client trên cùng một kết nối (được tính bằng giây).
Cú pháp: KeepAliveTimeout <thời gian>
Ví dụ: KeepAliveTimeout 15


Success inlife isn't a given. It's costs attitude, ambition and acceptance.
   
Trả Lời Với Trích Dẫn
Old
  (#3 (permalink))
 
Status: Offline
Posts: 511
Tham gia: Dec 2007
BQT VNLAMP
 
goldenbook's Avatar
Default 07-01-2008, 21:7 07-01-2008

hôm nay làm mệt ngủ sớm mai pót tiếp ek ek !!!


Success inlife isn't a given. It's costs attitude, ambition and acceptance.
   
Trả Lời Với Trích Dẫn
Old
  (#4 (permalink))
 
Status: Offline
Posts: 511
Tham gia: Dec 2007
BQT VNLAMP
 
goldenbook's Avatar
Default 08-01-2008, 09:8 08-01-2008

Alias: ánh xạ đường dẫn cục bộ (không nằm trong DocumentRoot) thành tên đường
dẫn địa chỉ URL.
Cú pháp: Alias <đường dẫn http><đường dẫn cục bộ>
Ví dụ: Alias /doc /usr/share/doc
Khi truy cập http://www.goldenbook.com/doc, nó sẽ vào /usr/share/doc.
Để giới hạn việc truy cập của người dùng ta có thể kết hợp với Directory directive.
Ví dụ:
Alias /doc /usr/share/doc
<Directory /usr/share/doc>
AuthType Basic # kiểu authentication sẽ sử dụng là Basic
AuthName intranet # đặt tên cho sự chứng thực là intranet
AuthUserFile /etc/httpd/passwd # vị trí của tập tin password
Require user hongthai minhtri #user cho phép truy cập tài nguyên
Allow from internal.hcmut.edu.vn # cho phép truy cập từ đchỉ này
</Directory>
UserDir: cho phép người dùng tạo Home page của user trên Web Server.
Cú pháp:
<IfModule mod_userdir .c>
#UserDir Disables ## để thực thi cơ chế enable UserDir
UserDir www ## Khai báo thư mục chứa Website của user
</IfModule>
<Directory /home/*/www>

</Directory>


Success inlife isn't a given. It's costs attitude, ambition and acceptance.
   
Trả Lời Với Trích Dẫn
Old
  (#5 (permalink))
 
Status: Offline
Posts: 511
Tham gia: Dec 2007
BQT VNLAMP
 
goldenbook's Avatar
Default 08-01-2008, 09:8 08-01-2008

Trong thư mục Home Directory của người dùng tạo thư mục www. Ví dụ
/home/goldenbook/www. Khi đó, cú pháp truy cập từ Web Browser có dạng: http://www.goldenbook.com/~<tênUser>, tức trong trường hợp này là
http://www.goldenbook.com /~goldenbook. Khi người dùng có gắng truy cập
đến thư mục của mình, có thể gặp một message lỗi “Forbidden”. Điều này có thể là
quyền truy cập đến home directory của người dùng bị giới hạn. Như vậy để khắc
phục lỗi trên, chúng ta cần giới hạn lại quyền truy cập home directory của người
dùng với những câu lệnh như sau:
chown goldenbook /home/goldenbook/www
chmod 750 /home/goldenbook/www
VirtualHost: là tính năng của Apache, giúp ta duy trì nhiều hơn một web server
trên một máy tính. Nhiều tên cùng chia sẻ một địa chỉ IP gọi là named-based virtual
hosting và sử dụng những địa chỉ IP khác nhau cho từng domain gọi là IP-based
virtual hosting.
 IP-based Virtual Host: Virtual Host dựa trên IP yêu cầu những server phải có
một địa chỉ IP khác nhau cho mỗi virtual host dựa trên IP. Như vậy, một máy tính
phải có nhiều interface hay sử dụng cơ chế virtual interface mà những hệ điều
hành sau hỗi trợ. Nếu máy của chúng ta có một địa chỉ IP, 192.168.1.100, chúng
ta có thể cấu hình một địa chỉ IP khác trên cùng một card mạng như sau:
ifconfig eth0:1 192.168.1.200 netmask 255.255.255.0 up
Sau đó, chúng ta mô tả thông tin cấu hình trong file httpd.conf
<VirtualHost *> ; VirtualHost default
...
DocumentRoot/tmp
ServerName www.domain

</VirtualHost>
<VirtualHost 192.168.1.100>;VirtualHost cho site 1

DocumentRoot/home/www/site1
ServerName www1.domain
</VirtualHost>
<VirtualHost 192.168.1.200>;VirtualHost cho site 2

DocumentRoot/home/www/site2
ServerName www2.domain

</VirtualHost>
 Name-based Virtual Host: IP-based Virtual Hosts dựa vào địa chỉ IP để quyết
định Virtual Host nào đúng để truy cập. Vì thế, chúng ta cần phải có địa chỉ khác
nhau cho mỗi Virtual Host. Với Named-based Virtual Host, server dựa vào HTTP
header của client để biết được hostname. Sử dụng kỹ thuật này, một địa chỉ IP có
thể có nhiều tên máy tính khác nhau. Named-based Virtual Host rất đơn giản,
chúng ta chỉ cần cấu hình DNS sao cho nó phân giải mỗi tên máy đúng với một
địa chỉ IP và sau đó cấu hình Apache để tổ chức những web server cho những
miền khác nhau.


Success inlife isn't a given. It's costs attitude, ambition and acceptance.
   
Trả Lời Với Trích Dẫn
Old
  (#6 (permalink))
 
Status: Offline
Posts: 3
Tham gia: Jan 2008
Junior Member
Default 13-01-2008, 10:13 13-01-2008

Bài viết rất hay! nhưng coi bộ không dễ làm hoàn thiện một server đâu nhỉ, tớ đang cố gắng xem mình đang làm sai chỗ nào mà nó không chạy!
   
Trả Lời Với Trích Dẫn
Old
  (#7 (permalink))
 
Status: Offline
Posts: 368
Tham gia: Dec 2007
Member
 
atula's Avatar
Default 13-01-2008, 13:13 13-01-2008

Đúng để build hoàn thiện một server web application thì cần phải tìm hiểu nhiều thêm nữa.

@xuantuyen47: bạn gặp lỗi gì vậy?Có thể post lên diễn đàn mọi người có thể giúp bạn được mà
  Send a message via Yahoo to atula  
Trả Lời Với Trích Dẫn
Old
  (#8 (permalink))
 
Status: Offline
Posts: 511
Tham gia: Dec 2007
BQT VNLAMP
 
goldenbook's Avatar
Default 13-01-2008, 22:13 13-01-2008

Trích:
Nguyên văn bởi xuantuyen47 View Post
Bài viết rất hay! nhưng coi bộ không dễ làm hoàn thiện một server đâu nhỉ, tớ đang cố gắng xem mình đang làm sai chỗ nào mà nó không chạy!
bạn cài bị lổi gì, up lên mình và các bạn sẽ hổ trợ


Success inlife isn't a given. It's costs attitude, ambition and acceptance.
   
Trả Lời Với Trích Dẫn
Old
  (#9 (permalink))
 
Status: Offline
Posts: 23
Tham gia: Feb 2008
Junior Member
Default 05-02-2008, 21:5 05-02-2008

Trích:
./configure && make && make install.
Sau lệnh này thì máy chạy 1 hồi cuối cùng báo lỗi
Trích:
make[1]: Leaving directory `/home/rubygain/Desktop/httpd-2.0.58'
make: *** No rule to make target `install.'. Stop.
thì làm sao bi h ạ???
   
Trả Lời Với Trích Dẫn
Old
  (#10 (permalink))
 
Status: Offline
Posts: 459
Tham gia: Dec 2007
Administrator
 
patrick's Avatar
Default 05-02-2008, 23:5 05-02-2008

Bạn cho mình hỏi bạn dùng user gì để isntall httpd? Nếu bạn dùng User thường mà install thì không được đâu nhé bạn.
  Send a message via Yahoo to patrick  
Trả Lời Với Trích Dẫn
Trả lời


Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Mở
Pingbacks are Mở
Refbacks are Mở


Múi giờ GMT. Hiện tại là 02:21 21-05-2012.