Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script,các chương trình, và các file Multimedia). Web server là một phần mềm server đằng sau www. Web server tiếp nhận những yêu cầu từ phía client, chẳng hạn như một trình duyệt như Netscape hoặc Microsoft Internet Explorer. Khi nhận được một yêu cầu từ phía client, nó sẽ xử lý những yêu cầu đó và trả về một vài dữ liệu dưới dạng một fom chứa các trang được định dạng dưới dạng văn bản hoặc hình ảnh. Trình duyệt Web trả lại dữ liệu này với khả năng tốt nhất có thể và trình đến người sử dụng.
Trang 1LỜI MỞ ĐẦU
Ngày nay, khái niệm phần mềm nguồn mở đã không còn xa lạ với nhiều người
và được ứng dụng ngày càng rộng rãi trong các tổ chức và doanh nghiệp Đượcđánh giá là một phương tiện hữu hiệu để san sẻ sự thịnh vượng của thế giới côngnghiệp hoá hiện đại hoá sang các nước đang phát triển, sự ra đời của phần mềmnguồn mở thực sự là một cuộc cách mạng của công nghiệp phần mềm
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụngmột giấy phép nguồn mở Giấy phép này cho phép bất cứ ai cũng có thể nghiêncứu, thay đổi và cải tiến phần mềm, phân phối phần mềm ở dạng chưa thay đổihoặc đã thay đổi Năm 1998, một nhóm người chủ trương rằng thuật ngữ phầnmềm tự do nên được thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồhơn và dễ sử dụng hơn cho các doanh nghiệp
Phần mềm mã nguồn mở hỗ trợ xây dựng web Apache trong thiết kế websiteđang được sử dụng phổ biến trên thế giới cũng như ở Việt Nam Vì vậy nhómchúng em muốn giới thiệu tới thầy cô và các bạn phần mềm mãnguồn mở này
Bảng phân công công việc
Bùi Thị Tâm 11210050294 Làm word,tìm hiểu về phần mềm nguồn
mở, web server, apache,demo
Nguyễn Xuân Thanh 1121050091 Làm powerpoin, tìm hiểu về apache và
demo
Trang 2MỤC LỤC.
I Phần mềm mã nguồn mở 3
1 Khái niệm 3
2 Lợi ích và hạn chế của phần mềm mã nguồn mở 4
II Tìm hiểu về Web server 6
1 Khái niệm 6
2 Tiêu trí lựa chọn Web server 7
I Khái niệm 8
II Tính năng cơ bản 9
1 Các chức năng cơ bản: 10
2 Phương thức hoạt động 10
3 Các file cấu hình của Apache 11
4 Thiết lập cấu hình của Apache 12
5 Giấy phép sử dụng Apache 12
6 Cài đặt APACHE trên windown 14
I Chạy Apache 21
II Chạy Apache tích hợp trên Xampp 22
Chương 1: Tìm hiểu chung
Trang 3PMNM có thể được phát triển bởi cá nhân, tổ chức, công ty hay chính phủ.Đến nay, PMNM đã thu hút được sự chú ý của cộng đồng, doanh nghiệp cũng như
khối chính phủ trong và ngoài nước Trang web sourceforge.net là nơi kết nối hơn
2 triệu thành viên với hơn 300 ngàn dự án khác nhau Số lượng sản phẩm PMNMngày càng phong phú, chất lượng ngày càng được nâng cao và có khả năng cạnhtranh được với các phần mềm bản quyền (hay phần mềm thương mại)
PMNM có thể có phí hoặc miễn phí (phần mềm miễn phí là phần mềm với chi
phí bằng không) Ví dụ: Bản phân phối Debian (dựa trên nhân Linux) cũng như bộphần mềm văn phòng OpenOffice.org (hay LibreOffice.org) là các PMNM và miễnphí Bản phân phối Linux Redhat là một PMNM có phí.Và người ta cũng đượcphép kinh doanh PMNM trên một số mặt Nhà cung cấp phần mềm nguồn mở cóquyền yêu cầu người sử dụng phải trả một số chi phí vềc ác dịch vụ bảo hành, huấnluyện, nâng cấp, tư vấn, v.v tức là những dịch vụ thực sự đã thực hiện để phục vụngười sử dụng nhưng không được bán các mã nguồn mở vì nó là tài sản trí tuệ củachung, không phải là tài sản riêng của một nhà cung cấp nào
2 Lợi ích và hạn chế của phần mềm mã nguồn mở.
Trang 4 Lợi ích của phần mềm mã nguồn mở.
Chi phí thấp: PMNM được dùng miễn phí về bản quyền và nếu có chiphí thì cũng chỉ là chi phí cho đóng gói sản phẩm và dịch vụ cho sảnphẩm
Độc lập: PMNM không bị lệ thuộc vào bất kỳ một nhà cung cấp nào
Làm chủ công nghệ, đảm bảo an toàn và riêng tư
Tính thích ứng và sáng tạo
Tính cộng đồng
Miễn phí các phiên bản nâng cấp trong toàn vòng đời sử dụng sản phẩm
Giảm tối đa sự phụ thuộc vào nhà cung cấp phần mềm
Chất lượng tin cậy: Nhiều phần mềm có chất lượng và độ tin cậy cao
Tuân thủ các chuẩn: PMNM thông thường được phát triển tuân thủ theocác chuẩn tốt hơn
Thiếu sáng tạo: Điểm hạn chế thứ hai của PMNM là thiếu tính sáng tạo,100% các phiên bản của những phần mềm này thường chỉ có một nhiệm
Trang 5vụ duy nhất là bắt chước y chang các tính năng của bản nâng cấp cácphần mềm thu phí.
Bảo mật không bảo đảm: Mặc dù được quảng cáo là có độ bảo mật tốtnhưng không ai dám khẳng định những PMNM là an toàn Nếu như vớiWindows hay Apple, những sản phẩm của họ do các lập trình viên giỏinhất trên thế giới sáng tạo ra thì các PMNM lại do một nhóm các lập trìnhviên đủ mọi trình độ từ khắp nơi trên thế giới xây dựng nên Nhiều ngườithường có sự nhầm lẫn về độ bảo mật của các phần mềm và không phảiphần mềm ít bị tấn công, ít lỗ hổng là an toàn
Mã nguồn mở sẽ… hết mở: Các PMNM hiện tại là miễn phí nhưng trongtương lai các chuyên gia cho rằng, chúng sẽ hết miễn phí Các code thiết
kế ban đầu của các phần mềm ban đầu được cung cấp miễn phí trênmạng, nhưng khá nhiều công ty đã đi theo hướng sử dụng các code này đểbiến chúng thành sản phẩm của riêng mình
II Tìm hiểu về Web server.
1 Khái niệm.
Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữthông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng vớinhững thông tin liên quan khác (các mã Script,các chương trình, và các fileMultimedia)
Web server là một phần mềm server đằng sau www Web server tiếp nhận
những yêu cầu từ phía client, chẳng hạn như một trình duyệt như Netscape hoặcMicrosoft Internet Explorer Khi nhận được một yêu cầu từ phía client, nó sẽ xử lýnhững yêu cầu đó và trả về một vài dữ liệu dưới dạng một fom chứa các trang đượcđịnh dạng dưới dạng văn bản hoặc hình ảnh Trình duyệt Web trả lại dữ liệu nàyvới khả năng tốt nhất có thể và trình đến người sử dụng
Trang 6Khái niệm về Web server đơn giản chỉ là một chương trình mà web server chờ
đợi những yêu cầu từ phía client và đáp ứng những yêu cầu đó khi nhận được Webserver kết nối với các trình duyệt hoặc các client sử dụng giao thức HTTP WebServer có khả năng gửi đến máy khách những trang Web thông qua môi trườngInternet (hoặc Intranet) qua giao thức HTTP- đó là một giao thức đã được chuẩnhóa các phương thức của các yêu cầu gửi đi và xử lý các yêu cầu đó Nó cho phéprất nhiều các client khác nhau kết nối với các server cung cấp mà không gặp bất kỳmột trở ngại nào trong vấn đề tương thích
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có
một Domain Name Giả sử khi bạn đánh vào thanh Address trên trình duyệt củamột dòng http://www.abc.com sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đếnmột Server có Domain Name là www.abc.com Server này sẽ tìm trang Web có tên
là index.htm rồi gửi nó đến trình duyệt của bạn
Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặtlên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet
Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập
các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu vàgửi lại cho bạn những thông tin mà bạn mong muốn
Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của
mình, Web Server Software cũng chỉ là một ứng dụng phần mềm Nó được cài đặt,
và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sửdụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trênmạng (Internet, Intranet)
Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày mộtnăm, để phục vụ cho việc cung cấp thông tin trực tuyến Vị trí đặt server đóng vai
Trang 7trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ server và máytính truy cập
2 Tiêu trí lựa chọn Web server.
Các vấn đề mà cần quan tâm khi lựa chọn một Web server để giao phó côngviệc cho phần mềm đó là:
Phần mềm trả tiền hay được miên phí
Có dễ cài đặt hay không
Cấu hình như thế nào
Có dễ mở rộng hoặc tùy một vài diện của server
Hỗ trợ đối với các phần mềm thứ ba
Chương 2: Tìm hiểu về Apache
I Khái niệm.
Trang 8Apache là một phần mềm Web server được cung cấp bởi tập đoàn ApacheGroup hoàn toàn được hỗ trợ bởi Apache Software Foundation Apache là một dự
án của phòng nghiên cứu Bellcore thuộc Trường ĐH Carrnegie Mellon –Mỹ, năm
1995 ban đầu chỉ có hai cá nhân tiến hành đó là Behlendorl và Cliff Skolnick Đây
là một Web server được hỗ trợ để chạy được trên hệ điều hành như MicrosoftWindows, Unix và Linux và rất được phổ biến bởi tính chặt chẽ, uyển chuyển vàlinh hoạt Phần mềm máy chủ web Apache là một phần mềm webserver nổi tiếng.Theo Netcraft-công ty dịch vụ Internet ở Anh, có gần 50 triệu trang web trên toànthế giới hiện nay dùng ứng dụng máy chủ web Apache
Apache là một phần mềm có nhiều tính năng mạnh và linh hoạt dùng để làmWeb Server hỗ trợ đầy đủ những giao thức HTTP trước đây như HTTP/1.1 Có thểcấu hình và mở rộng với những module của công ty thứ ba Cung cấp source codeđầy đủ với license không hạn chế
Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mởduy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của NetscapeCommunications Corporation mà ngày nay được biết đến qua tên thương mại SunJava System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trởhành một phần mềm có sức cạnh tranh mạnh so với các chưong trình máy chủ khác
về mặt hiệu suất và tính năng phong phú
Hiện nay, Apache chiếm khoảng 70% WebServer trên internet., đối thủ lớn nhấtcủa Apache là Internet Information Services (IIS)của Microsoft cũng chỉ có 20%.Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợcủa Apache Software Foundation Apache được phát hành với giấy phép ApacheLicense và là một phần mềm tự do và miễn phí
II Tính năng cơ bản.
Trang 9Máy chủ web Apache có thể được bổ sung bằng một chương trình cho phéptích hợp chức năng tìm kiếm với một website Các đơn vị phần mềm khác nhau cósẵn với hệ thống tìm kiếm HTDig cho phép đánh chỉ số toàn bộ website.TrìnhIprogram sử dụng robot để tạo ta một chỉ số tìm kiếm mà chỉ số này có thể được
duyệt bằng một CGI script phù hợp.
2 Phương thức hoạt động.
Sau khi quá trình install hoàn tất, Apache sẽ đăng ký một Windows service cótên là “Apache …” Đây là ứng dụng httpd.exe trong bin\httpd.exe được khởi độngngay khi máy tính khởi động Windows
Trang 10Khi bạn lập trình web có nghĩa là chúng ta lập trình một ứng dụng gồm 2phần chính, client và server Ứng dụng chạy trên web server (máy tính cài Apache)
và người dùng sử dụng 1 phần mềm để làm việc với ứng dụng Với web, phần mềm
đó client đó là các web browser như FireFox, Chrome, Internet Explorer
Client và Server cần một cách nói chuyện với nhau mà đôi bên cùng hiểu, cách
nói chuyện của ứng dụng web là giao thức HTTP Giao thức này hoạt động dựatrên một giao thức khác nữa gọi là TCP và sử dụng port 80 Nói đơn giản hơn,HTTP là giao thức ở tầng ứng dụng (cao nhất), TCP là giao thức ở tần thấp hơntrong mô hình giao tiếp qua mạng giữa 2 máy tính (mô hình OSI 7 lớp)
Do client có thể ở trên 1 máy tính khác, client cần kết nối với server bằng một
cách nào đó và đương nhiên đơn giản nhất là dùng mạng Internet Internet, đơngiản chỉ kết nối các máy tính trên thế giới với nhau, nó giúp cho web hoạt động vàkhông chí có web mà còn nhiều dịch vụ khác nữa 2 máy tính trong một mạng LANcũng có thể giả lập nên một môi trường web
Do các máy tính muốn trao đổi với nhau cần có “tên tuổi” nên bạn mới thấy cái
gọi là IP (hay IP Address) Dân lập trình web quen với IP là 127.0.0.1 – đây là IPloopback hay là IP quy định cho bản thân máy tính đó và không bao giờ được hiểubới máy tính khác bởi vì máy tính khác cũng có 127.0.0.1 của nó rồi Khi bạn đãcài Apache, giờ khởi động FireFox và gõ địa chỉ 127.0.0.1, bạn sẽ thấy Apachehoạt động
Trang 11 Kết quả mặt định Apache trả về thường là chữ ‘It works‘.
3 Các file cấu hình của Apache.
Các file cấu hình của Apache server:Web server sẽ đọc 3 file chứa các chỉ thịcấu hình Bất kỳ một chỉ nào nào được hiển thị trong các file này đều sẽ được thựchiện
Conf/httpd.conf: Chứa các chỉ thị mà nó điều khiển sự thi hành của server.Tên file có thể được lướt qua với ký hiệu khả chuyển –f
Conf/srm.conf: Chứa các chỉ thị mà nó điều khiển sự chỉ định các tài liệu màserver cung cấp cho các client Tên file có thể được lướt qua với chỉ thịResourceConfig
Conf/access.conf: Chứa các chỉ thị mà nó điều khiển sự truy cập các tài liệu.Tên file có thể được bỏ qua với chỉ thị AccessConfig
4 Thiết lập cấu hình của Apache.
Apache được cấu hình bởi các file trong thư mục conf Các file này cũng giốngnhư các file được sử dụng để cấu hình cho Unix nhưng có một vài chỉ thị khác choApache trên Windows Quá trình cấu hình sẽ được bắt đầu bằng cách tham khảohttpd.conf và các chỉ thị của nó Mặc dù các file access.conf và srm.conf còn tồn tạisong chúng là những file cũ mà không được sử dụng nhiều bởi hầu hết các nhàquản trị và người sử dụng sẽ không tìm thấy bất kỳ chỉ thị nào ở đó Httpd.confchứa rất nhiều các tư liệu của chính nó, được sinh ra bởi các chỉ thị cấu hình mặcđịnh gửi gắm khi khởi động với Apache server Bắt đầu bằng cách đọc các lời chúthích để hiểu file cấu hình và làm một số thay đổi nhỏ, khởi động lại Apache trongmột cửa sổ giao tiếp với mỗi thay đổi Nếu người sử dụng tạo ra một lỗi, nó sẽ dễdàng sao lưu để định dạng lần làm việc cuối cùng
5 Giấy phép sử dụng Apache.
Trang 12Giấy phép Apache là một giấy phép phần mềm tự do của Quỹ Phần mềm
Apache (Apache Software Foundation - ASF) Giấy phép Apache bắt buộc phải có
thông báo bản quyền và lời phủ nhận Tương tự như các giấy phép phần mềm tự dokhác, Giấy phép Apache trao cho người dùng phần mềm quyền tự do sử dụng phầnmềm với bất kỳ mục đích nào, phân phối, chỉnh sửa, và phân phối bản có sửa đổicủa phần mềm, theo các điều khoản của giấy phép, mà không lo lắng tới phí bảnquyền
Tất cả các phần mềm do ASF hoặc các dự án và vật thể của ASF đều được cấpphép theo các điều khoản của Giấy phép Apache Một số phần mềm không phảicủa ASF cũng được cấp phép theo Giấy phép Apache Đến tháng 10 năm 2012, đã
có 8708 dự án đặt tại SourceForge.net được cấp phép theo các điều khoản của Giấyphép Apache Trong một bài viết trên blog vào tháng 5 năm 2008 Google nói rằng25.000 trong tổng số 100.000 dự án đặt trên Google Code đang sử dụng Giấy phépApache, trong đó có hệ điều hành Android
Các điều khoản của giấy phép.
Giấy phép Apache được xem là loại giấy phép không có nhiều ràng buộc vì nókhông bắt buộc phiên bản đã thay đổi của phần mềm phải được phân phối với cùnggiấy phép (không giống như các giấy phép copyleft) Trong mỗi tập tin được cấpphép, bất kỳ bản quyền, bằng sáng chế, thương hiệu, và thông báo ghi công phảiđược giữ nguyên trong các đoạn mã khi phát hành lại (ngoại trừ các thông báokhông liên quan đến tác phẩm phái sinh); và, trong tất cả các tập tin có thay đổi,phải thêm vào một thông báo nói rằng tập tin này đã được thay đổi
Nếu có một tập tin văn bản notice trong bản phân phối tác phẩm gốc, thì cáctác phẩm phái sinh phải kèm theo bản sao của thông báo nào bên trong tập tinnotice đi kèm với tác phẩm phái sinh, bên trong mã nguồn hoặc tài liệu hướng dẫn
Trang 13sử dụng, hoặc bên trong một giao diện của tác phẩm phái sinh (tại nơi thường hiểnthị thông báo của bên thứ ba).
Nội dung của tập tin notice không được thay đổi giấy phép, vì chúng chỉ mangtính thông tin thuần túy, và được phép thêm vào thông báo ghi công vào phần bổsung của tập tin notice, miễn là các thông báo này không bị hiểu thành thay đổigiấy phép Những sự thay đổi có thể có các thông báo bản quyền phù hợp, và có thể
có điều khoản giấy phép khác biệt cho phần sửa đổi
Trừ khi có tuyên bố khác, bất kỳ đóng góp nào do người được cấp phép gửicho người cấp phép sẽ tuân theo các điều khoản của giấy phép mà không kèm điềukhoản và điều kiện, nhưng điều này không ảnh hưởng đến các thỏa thuận riêng rẽgiữa hai bên liên quan đến phần đóng góp này
6 Cài đặt Apache trên windown.
Chạy file Apache.msi đã tải Apache về, người sử dụng sẽ phải nhập các thôngtin, sau khi chạy Apache.msi window sẽ cho ra một cửa sổ như hình dưới đây: