Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thôngtin được sắp xếp rõ ràng, phân
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM – ĐẠI HỌC ĐÀ NẴNG
KHOA TIN HỌC
BÁO CÁO
MÃ NGUỒN MỞ
TÊN ĐỀ TÀI XÂY DỰNG TRANG WEB CÁ NHÂN
ĐÀ NẴNG, 01/2023
Trang 2MỤC LỤCMỤC LỤC
Chương I Tổng quan
1 Hệ quản trị cơ sở dữ liệu MySQL
1.1 Hệ quản trị cơ sở dữ liệu MySQL là gì?
1.2 Đặc điểm của hệ quản trị cơ sở dữ liệu MySQL
1.3 Những lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL
2 Tổng quan về PHP
2.1 PHP là gì?
2.2 Ngôn ngữ lập trình PHP làm được những gì?
2.3 Ưu điểm và nhược điểm của PHP
2.4 Nên sử dụng ngôn ngữ PHP Vì sao?
2.5 Sự khác biệt của PHP so với ngôn ngữ lập trình khác2.6 Lập trình PHP là gì?
3 Tổng Quan Kiến Thức Về Apache
3.1 Apache web server là gì?
3.2 Cách thức hoạt động của Apache là gì?
3.3 Ưu điểm của Apache là gì?
3.4 Điểm khác biệt giữa NGINX và Apache server là gì?
4 Phần mềm tích hợp Xampp
4.1 XAMPP là gì?
4.2 Thông tin cơ bản về XAMPP
4.3 Phần mềm được tích hợp với XAMPP là gì?
4.4 XAMPP được dùng làm gì?
4.5 Ưu điểm và nhược điểm của XAMPP
5 Mã nguồn mở PHPMyAdmin
5.1 PHPMyAdmin là gì?
5.2 Các tính năng của phpMyAdmin là gì?
5.3 Ưu điểm của phpMyAdmin là gì?
6 Cài đặt công cụ :
Bước 1: Tải Xampp phiên bản mới nhất
Bước 2: Cài đặt Xampp từ Terminal
Bước 3: Cấu hình Xampp tự khởi động với Ubuntu
Chuong II Xây dựng trang web:
1 Phân công trong nhóm :
2 Xây dựng trang web :
Tạo Form đăng ký
Tạo Form đăng nhập
Xây dựng bố cục giao diện Front end
Chức năng thêm bài
Chức năng chỉnh sửa (Edit) bài viết
3 Sản phẩm cuối :
Chương III Kết luận :
Trang 3CHƯƠNG I: TỔNG QUAN
1 Hệ quản trị cơ sở dữ liệu MySQL
1.1 Hệ quản trị cơ sở dữ liệu MySQL là gì?
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến hiện nay
Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản
lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thôngtin được sắp xếp rõ ràng, phân lớp ngăn nắp Nó giúp bạn có thể truy cập dữ liệumột cách thuận lợi và nhanh chóng nhất Vì hỗ trợ đa số các ngôn ngữ lập trìnhnên MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhấttrên thế giới Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quátrình phát triển ứng dụng
MySQL là cơ sở dữ liệu tốc độ cao, ổn định hoạt động trên nhiều hệ điều hành,
cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Đặc biệt, hệ quản trị cơ
sở dữ liệu MySQL hoàn toàn miễn phí nên người dùng có thể thoải mái tải về
từ trang chủ Nó có rất nhiều những phiên bản cho các hệ điều hành khác nhau.MySQL được sử dụng cho việc bỗ trợ PHP, Perl và nhiều ngôn ngữ khác Là nơilưu trữ những thông tin trên các trang web viết bằng framework PHP hay Perl…
1.2 Đặc điểm của hệ quản trị cơ sở dữ liệu MySQL
● Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm
quản trị CSDL dạng server based, hệ gần giống với SQL server of Microsoft
● MySQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi mộtCSDL đều có bảng quan hệ chứa dữ liệu riêng biệt
● MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều
có thể quản lý cùng lúc một hay nhiều CSDL khác nhau Và mỗi người dùng đều
có 1 username và password để truy nhập và truy xuất đến CSDL Khi truy vấnđến CSDL của MySQL, bạn phải cung cấp tài khoản và mật khẩu có quyền sửdụng cơ sở dữ liệu đó
● MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt độngmạnh mẽ Bạn có thể viết hoặc chỉnh sửa code MySQL trên các IDE dành choPHP, một số công cụ hỗ trợ mà bạn có thể tham khảo thêm tại http://free-php-editor.com/
1.3 Những lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL
Trang 4mySQL ngày càng hoàn thiện và mang đến nhiều lợi ích cho người dùng.
Ra mắt người dùng hoàn toàn miễn phí, hệ quản trị cơ sở dữ liệu MySQL mang đến rất nhiều những lợi ích thiết thực, được ứng dụng trong
nhiều dự án của các công ty công nghệ, một trong số đó có thể kể đến nhữngcông ty chuyên lập trình như MonaMedia, Misa,… cùng chúng tôi tìm hiểunhững lợi ích thiết thực của mySQL ngay dưới đây:
a Hiệu năng sử dụng cao
Hầu hết, hệ quản trị cơ sở dữ liệu MySQL đang được các nhà phát triển rất ưachuộng trong quá trình phát triển ứng dụng Và họ đánh giá rất cao ở hiệu năng
sử dụng của MySQL Với kiến trúc storage-engine, MySQL đặc trưng cho cácứng dụng chuyên biệt, đặc biệt là đối với những trang web có dung lượng lớn,phục vụ hàng triệu khách hàng Hoặc đối với những hệ thống xử lý giao dịch tốc
độ cao thì MySQL đều cùng có thể đáp ứng được những khả năng xử lý khắtkhe của mọi hệ thống Đặc biệt, với những tiện ích tải tốc độ cao, cơ chế xử lýnâng cao cùng bộ nhớ cache MySQL đưa ra tất cả những tính năng cần có, đây
là giải pháp hoàn hảo nhất ngay cả đối với những hệ thống doanh nghiệp khótính nhất hiện nay
Trang 5b MySQL hỗ trợ giao dịch mạnh mẽ
Hệ quản trị cơ sở dữ liệu MySQL không những mang lại hiệu năng sử dụng
cao Mà nó còn đưa ra một trong số những engine giao dịch cơ sở dữ liệu tốtnhất trên thị trường hiện nay Tính năng này bao gồm: Khóa mức dòng khônghạn chế; hỗ trợ giao dịch ACID hoàn thiện; khả năng giao dịch được phân loại
và hỗ trợ giao dịch đa dạng mà người đọc không cản trở cho người viết vàngược lại Với MySQL, dữ liệu sẽ được đảm bảo trong suốt quá trình server cóhiệu lực Các mức giao dịch độc lập sẽ được chuyên môn hóa, nếu phát hiện cólỗi khóa chết ngay tức thì
c Tốc độ rất nhanh
Tốc độ xử lý dữ liệu của mySQL rất nhanh
Đánh giá chung của các nhà phát triển, tất cả họ đều cho rằng hệ quản trị cơ sở
dữ liệu MySQL là cơ sở dữ liệu nhanh nhất Đây là nơi để cho các website có
thể trao đổi thường xuyên các dữ liệu bởi nó có engine xử lý tốc độ cao Khảnăng chèn dữ liệu cực nhanh và hỗ trợ mạnh mẽ các chức năng chuyên dụng chotrang web Các tính năng này cũng được sử dụng cho môi trường lưu trữ dữ liệu
mà hệ quản trị này tăng cường đến hàng terabyte cho các server đơn Ngoài racòn có những tính năng khác như: chỉ số băm, bảng nhớ chính, bảng lưu trữ vàcây B được gói lại để giúp giảm các yêu cầu lưu trữ tối đa đến 80% Với tốc độnhanh, thật không thể phủ nhận hệ quản trị cơ sở dữ liệu MySQL là sự lựachọn tốt nhất cho cả ứng dụng web cũng như các ứng dụng của doanh nghiệpngày nay
d Dễ dàng sử dụng
MySQL ngoài được biết đến với tốc độ khá cao, ổn định thì nó thực sự là một hệthống cơ sở dữ liệu rất đơn giản, rất dễ sử dụng Ít phức tạp khi cài đặt và quảntrị hơn các hệ thống lớn Đặc biệt nó có thể hoạt động trên tất cả các hệ điềuhành
e Hỗ trợ ngôn ngữ truy vấn
MySQL hệ quản trị cơ sở dữ liệu là ngôn ngữ của sự lựa chọn cho tất cả các
hệ thống cơ sở dữ liệu hiện đại Người dùng hoàn toàn có thể truy cập MySQLbằng cách sử dụng các ứng dụng mà hỗ trợ ODBC (một giao thức giao tiếp cơ
sở dữ liệu được phát triển bởi Microsoft) Nhiều client có thể truy cập đến servertrong cùng một thời gian Đặc biệt các client có thể sử dụng nhiều cơ sở dữ liệumột cách đồng thời Bạn cũng có thể truy cập MySQL tương tác với khi sử dụngmột vài giao diện để đưa vào các truy vấn và xem kết quả như: các dòng yêu cầucủa khách hàng, các trình duyệt web…
Trang 6f Tính kết nối và bảo mật cao
MySQL có tính kết nối và bảo mật cao
Điều quan trọng nhất của mỗi một doanh nghiệp chính là việc bảo mật dữ liệutuyệt đối Và hệ quản trị cơ sở dữ liệu MySQL tích hợp các tính năng bảo mật
an toàn tuyệt đối MySQL được nối mạng một cách đầy đủ Các cơ sở dữ liệu cóthể được truy cập từ bất cứ nơi nào trên internet Bạn có thể chia sẻ dữ liệu củabạn với bất kì ai, bất cứ lúc nào và bất cứ nơi đâu bạn muốn Nhưng MySQLkiểm soát quyền truy cập nên người không nên nhìn thấy dữ liệu của bạn sẽkhông thể nào nhìn được Với việc xác nhận truy cập cơ sở dữ liệu, MySQLtrang bị các kĩ thuật mạnh Chỉ có những người sử dụng đã được xác nhận mớitruy cập được vào cơ sở dữ liệu Ngoài ra, SSH và SSL cũng được hỗ trợ nhằmđảm bảo kết nối an toàn và bảo mật Tiện ích backup và recovery cung cấpbởi MySQL hệ quản trị cơ sở dữ liệu và các hãng phần mềm thứ 3 cho phépbackup logic và vật lý cũng như recovery toàn bộ ngay tại một thời điểm
g Tính linh động cao
MySQL có thể hoạt động trên tất cả các hệ điều hành, chạy được với mọi phần cứng từ các máy PC ở nhà cho đến các máy server Máy chủ hệ quản trị cơ sở
dữ liệu MySQL đáp ứng nhiều tính năng linh hoạt Nó có sức chứa để xử lý các
ứng dụng được nhúng sâu với 1MB dung lượng để chạy kho dữ liệu khổng lồlên đến hàng terabytes thông tin Tính chất mã nguồn mở của MySQL cho phéptùy biến theo ý muốn để thêm các yêu cầu phù hợp cho database server
h Mã nguồn mở tự do và hỗ trợ 24/7
Băn khoăn của rất nhiều doanh nghiệp khi họ gặp khó khăn trong việc giao toàn
bộ phần mềm cho một mã nguồn mở Bởi khó có thể tìm được hỗ trợ hay bảomật an toàn phục vụ một cách chuyên nghiệp Nhưng vấn đề khó khăn này sẽkhông còn nữa nếu sử dụng hệ quản trị cơ sở dữ liệu MySQL Với MySQL,mọi sự cam kết đều rất rõ ràng, mọi sự cố đều được MySQL bồi thường Bạn cóthể tìm thấy các tài nguyên có sẵn mà hệ quản trị này hỗ trợ Cộng đồng MySQLrất có trách nhiệm Họ thường trả lời các câu hỏi trên mailing list chỉ trong vàiphút Nếu lỗi xảy ra, các nhà phát triển sẽ đưa ra cách khắc phục nhanh nhất chobạn Và cách khắc phục đó sẽ ngay lập tức có sẵn trên internet
i Chi phí sở hữu thấp nhất
Hệ quản trị cơ sở dữ liệu MySQL cung cấp miễn phí cho hầu hết các việc sử
dụng trong một tổ chức Chính vì vậy, sử dụng MySQL cho các dự án, cácdoanh nghiệp đầu nhận thấy được sự tiết kiệm cho phí rất đáng kể Người dùngcủa MySQL cũng không phải mất nhiều thời gian để sửa chữa hoặc vấn đề thờigian chết
Trang 7Không gì hoàn hảo hơn khi doanh nghiệp của bạn có được sự hỗ trợ đắc lực
từ hệ quản trị cơ sở dữ liệu MySQL Cơ hội phát triển sẽ nằm ngay trong tầmtay bạn thật đơn giản, dễ dàng, hiệu quả cao
2.1 PHP là gì?
PHP là từ viết tắt của thuật ngữ Personal Home Page Đây là một dạng mã lệnhhoặc một chuỗi ngôn ngữ kịch bản Trong đó, ngôn ngữ PHP chủ yếu được pháttriển để dành cho những ứng dụng nằm trên máy chủ Mỗi khi các lập trình viênPHP viết các chương trình thì các chuỗi lệnh sẽ được chạy ở trên server, từ đósinh ra mã HTML Nhờ vậy mà những ứng dụng trên các website có thể chạyđược một cách dễ dàng
Ngôn ngữ PHP thông thường sẽ phù hợp với việc lập trình website bởi nó có thể
dễ dàng kết nối với các website khác có sử dụng HTML để chạy trên các trìnhduyệt web Vì vậy, đây là ngôn ngữ lập trình được người dùng đánh giá là khá
dễ đọc Ngôn ngữ PHP cũng trở thành ngôn ngữ web dev phổ biến mà các lậptrình viên phải học trước khi bắt đầu vào nghề
2.2 Ngôn ngữ lập trình PHP làm được những gì?
Trong hoạt động công nghệ thông tin, ngôn ngữ lập trình PHP thường sẽ tậptrung vào xây dựng kịch bản hoạt động từ hệ thống máy chủ Vì vậy, bạn có thểthực hiện các thao tác khác nhau bên cạnh việc tạo nên các dữ liệu, nhận dữ liệucookie trong quá trình làm việc, nội dung website Tuy nhiên, công dụng củangôn ngữ PHP còn rất nhiều
Một số ứng dụng của PHP như:
chủ yếu của PHP đó chính là việc xây dựng nên các chương trình dành cho các server máy chủ Để có thể viết nên các chương trình chạy được trên máy chủ thì các lập trình viên sẽ phải thực hiện các công việc như: xây dựng máy chủ web, phân tích cú pháp ngôn ngữ lập trình PHP, trình duyệt web Các lập trình viên có thể xây dựng output này bằng các trình duyệt web phổ biến.
dòng tập lệnh để chạy các chương trình PHP mà không cần bất cứ một máy chủ nào Lập trình này được sử dụng trên các hệ điều hành như: Các trình lập tác vụ trên Windows, Linux.
Trang 8● Xây dựng ứng dụng làm việc: Từ những điểm mạnh vốn có
của PHP, có thể đây chưa là phương thức tốt nhất để xây dựng ứng dụng phần mềm nhưng nếu như muốn đi sâu hơn vào tạo lập phần mềm từ PHP thì bạn cũng có thể sử dụng PHP – GTK như một ngôn ngữ nền tảng để xây dựng phần mềm của riêng mình PHP – GTK là nhánh mở rộng của ngôn ngữ lập trình này, nó cũng không có sẵn trong các phiên bản hiện nay.
ứng dụng mạnh nhất của PHP Nếu trang web được hỗ trợ cơ sở dữ liệu tốt sẽ giúp ích rất nhiều đến việc vận hành cũng như backup dữ liệu nếu không may xảy ra tình huống tấn công an ninh mạng xảy ra Hiện nay, ngôn ngữ PHP được sử dụng trên hầu hết các hệ điều hành phổ biến trên thị trường như: Microsoft Windows, Linux, macOS….
Vì vậy, các DEV có thể tự quyết định, lựa chọn cho mình một hệ điều hành tự lập trình Như vậy, ngôn ngữ lập trình PHP đã mang lại rất nhiều lợi ích cho hoạt động công nghệ thông tin hiện nay.
2.3 Ưu điểm và nhược điểm của PHP
a Ưu điểm của PHP
● Sử dụng mã nguồn mở : Việc cài đặt cũng như sử dụng ngôn ngữ lập
trình PHP rất dễ dàng và hoàn toàn miễn phí dành cho tất cả mọi người Vì vậynên ngôn ngữ này luôn được cài đặt rất nhiều trên các Web Server như: IIS,Apache, Nginx
● Có tính cộng đồng cao: Do PHP là mã nguồn mở, lại dễ sử dụng nên
ngôn ngữ này được ưa chuộng từ cộng đồng các lập trình viên Cộng đồng ngônngữ này rất rộng rãi và đảm bảo được tính chất lượng Đã có không ít diễn đàn,Blog, website trong và ngoài nước giải thích về ngôn ngữ này nên khả năng tiếpcận của mọi người sẽ dễ dàng và nhanh chóng hơn
● Hệ thống thư viện phong phú: Do lượng người dùng nhiều nên thư viện
của ngôn ngữ PHP ngày càng được phát triển và mở rộng Với thư viện Codehay hàm phong phú sẽ giúp cho việc học tập hoặc viết các ứng dụng PHP trởnên dễ dàng và nhanh chóng Do đó, đây chính là đặc điểm làm cho ngôn ngữnày trở nên nổi bật Ngôn ngữ PHP có thể kết hợp với những cơ sở dữ liệu lớnhơn như: Oracle, MySQL, Cassandra
● Tính bảo mật: Do đây là mã nguồn mở, đồng thời được sự hỗ trợ của
cộng đồng các lập trình nên ngôn ngữ lập trình PHP sẽ an toàn khi sử dụng Khi
Trang 9kết hợp với kỹ thuật bảo mật ở các tầng khác nhau thì ngôn ngữ lập trình sẽ chắcchắn và đảm bảo được hoạt động của website.
b Nhược điểm của PHP
Cấu trúc ngữ pháp chính là vấn đề mà một người dùng tiếp xúc với ngôn ngữnày PHP không được đẹp mắt và gọn gàng như các loại ngôn ngữ lập trình khác
và chỉ hoạt động được trên các ứng dụng web
2.4 Nên sử dụng ngôn ngữ PHP Vì sao?
PHP không phải là ngôn ngữ script phía server duy nhất có sẵn mà còn rất nhiềungôn ngữ khác Tuy nhiên, nó lợi thế hơn các đối thủ cạnh tranh nếu chạy trangweb WordPress
Do WordPress được xây dựng dựa trên việc sử dụng PHP, vì vậy khi sử dụngngôn ngữ này sẽ giúp cải thiện đáng kể số lượng tùy chỉnh có thể có trên trangweb Bạn có thể dùng nó để sửa đổi Themes có sẵn và Plugins hoặc tự tạoPlugin Vì vậy, nếu muốn trở thành một nhà phát triển WordPress thì bạn bạn bắtbuộc phải học PHP
Một số lý do khiến cho PHP là ngôn ngữ tuyệt vời:
● Dễ học: Bạn có thể học một cách dễ dàng bởi nó có tài liệu tuyệt vời về
các chứng năng
● Sử dụng rộng rãi: PHP được sử dụng để tạo nên các nền tảng như:
Blogs, thương mại điện tử, phương tiện truyền thông xã hội… Các thống kê chothấy có 79% các trang web đều sử dụng PHP
● Chi phí thấp: PHP là mã nguồn mở và bạn có thể sử dụng nó miễn phí.
● Cộng đồng lớn: Khi gặp phải bất cứ một vấn đề gì với nó, bạn sẽ không
phải lo lắng bởi có rất nhiều Blog PHP trên internet để bạn trao đổi và hỏi
● Có khả năng tích hợp với cơ sở dữ liệu: Ví dụ như: Oracle, Sybase,
MySQL, DB2…
2.5 Sự khác biệt của PHP so với ngôn ngữ lập trình khác
PHP là một ngôn ngữ lập trình nhưng không chạy trên một trình duyệt mà chủyếu tương thích với một máy chủ web Nếu bạn mở một trang web bất kỳ thìmáy chủ sẽ chạy tập lệnh PHP được liên kết sau đó trả lại website cho bạn
● HTML: Ngôn ngữ này được sử dụng nhằm tạo nên một trang web hoàn
chỉnh HTML được dùng chủ yếu để tạo cấu trúc cơ bản của một trang web.Hiện nay, hầu hết trang web nào cũng cần phải sử dụng ngôn ngữ HTML để xâydựng website
Trang 10● CSS: được sử dụng chủ yếu để trang trí cho website thêm đẹp
mắt CSS có nhiều hiệu ứng khác nhau để có thể giúp cho website của bạn trởnên đẹp mắt và thu hút nhiều lượt người xem
● Javascript: Ngôn ngữ này sẽ cung cấp cho website của bạn một sức
mạnh nhất định Sử dụng Javascript, các lập trình viên có thể đặt những phéptính, điều kiện khác nhau để kiểm tra khả năng phản ứng của website trong thựctế
2.6 Lập trình PHP là gì?
Nhân viên của lập trình PHP chính là những kỹ sư trưởng của việc thiết kế phần
mềm máy tính Những nhiệm vụ của PHP developer hiện nay đó chính là:
● Lập trình website: Các lập trình viên thường dùng PHP để thiết kế website Có rất nhiều nền tảng được tạo bởi PHP, trong đó phải kể đến các mạng
xã hội nổi tiếng trên toàn thế giới như: Youtobe, Facebook, đều lấy PHP làm nềntảng
● Quản trị website : Cần quản trị thường xuyên các website của một PHP.
● Phát triển ngôn ngữ PHP: Bản chất của PHP là ngôn ngữ có mã nguồn
mở Nó cũng được phát triển từ một cộng đồng IT với nhiều thành viên Các tácgiả của PHP cũng liên tục update bản mới nhất trên thị trường để giúp các nhânviên IT hoạt động dễ dàng hơn
Và những công việc trên đều hướng đến mục đích cuối cùng là nâng cao hiệuquả hoạt động của phần mềm máy tính Do đó, muốn cho phần mềm được vậnhành hiệu quả thì nhà tuyển dụng cần kỹ càng trong việc tuyển dụng IT
3.1 Apache web server là gì?
Apache là tên gọi tắt của Apache HTTP Server do Novell Netware phát triển vàđiều hành Nó là một phần mềm máy chủ giao tiếp thông qua giao thức HTTP.Apache hoạt động tốt trên các hệ điều hành phổ biến hiện nay như Windows,Linux, Unix, Novell Netware cùng các hệ điều hành khác Phần mềm Apachehoàn toàn miễn phí nên nó chiếm đến 42% thị phần website của thế giới Mục đích hoạt động của Apache là giúp chủ sở hữu website đưa nội dung lênsite Chính vì thế, nó được xếp vào nhóm phần mềm máy chủ web Và Apachecũng là web server có bề dày lịch sử lâu đời (phiên bản đầu tiên ra mắt thịtrường hơn 20 năm trước), cùng độ tin cậy cao Máy chủ web này còn giúpdoanh nghiệp tiết kiệm nhân lực quản lý và chi phí mà vẫn đảm bảo đạt hiệu quảcao trong vận hành website Đặc biệt, nó rất phù hợp cho các tổ chức kinh doanh
có quy mô vừa và nhỏ
Trang 113.2 Cách thức hoạt động của Apache là gì?
Về cách thức hoạt động, Apache là một chương trình phần mềm chạy trên máychủ để thiết lập kết nối giữa máy chủ và trình duyệt Sau đó, nó truyền, trao đổitập tin cấu trúc hai chiều có dạng người dùng – máy chủ (client – server) Có thểnói, Apache là một phần mềm hoạt động đa nền tảng
Cụ thể, khi người dùng truy cập vào trang web thì trình duyệt sẽ tiến hành gửiyêu cầu lên máy chủ web Kế đến, Apache thực hiện việc phản hồi thông tin,bao gồm toàn bộ các tập tin tạo nên trang web (nội dung, hình ảnh, âm thanh,video…) mà người dùng muốn truy cập Thông qua giao thức HTTP, server vàclient giao tiếp với nhau Lúc này, Apache đóng vai trò đảm bảo tiến trình giaotiếp được diễn ra mượt mà, bảo mật
Nhờ có cách thức hoạt động này mà Apache trở thành nền tảng module có tínhtùy biến cao Nó cung cấp cho quản trị viên quyền tắt hoặc tùy ý thêm chứcnăng trên máy chủ Ngoài ra, Apache còn có thêm module bảo mật caching,chứng thực mật khẩu, URL rewriting,… để người dùng bảo vệ tối đa websitecủa mình
3.3 Ưu điểm của Apache là gì?
Apache mang đến cho người dùng nhiều ưu điểm nổi bật như:
● Tiết kiệm chi phí vì Apache là phần mềm miễn phí và sử dụng mãnguồn mở
● Độ tin cậy và ổn định cao, nhờ phần mềm được thường xuyên nângcấp nhiều phiên bản để vá lỗi bảo mật
● Apache có tính linh hoạt cao và cấu trúc các module vô cùng tiệnlợi Hơn nữa, phần mềm còn cấu hình dễ dàng, cách sử dụng đơn giản
Trang 12● Apache hoạt động đa nền tảng (Widows, Linux, Unix…) Đặc biệt,
nó hoạt động rất hiệu quả với website WordPress
3.4 Điểm khác biệt giữa NGINX và Apache server là gì?
NGINX là một ứng dụng của máy chủ web phát hành vào năm 2004 và nhanhchóng được giới lập trình sử dụng Bởi nó là một trong các máy chủ web đầutiên NGINX được phát triển nhằm mục đích xử lý nhiều vấn đề nên có tên gọi
là c10k problem (tức 10,000 connections) NGINX sử dụng threads để xử lý cáctruy vấn của người dùng, với lượng kết nối cùng một thời điểm có thể lên đến10,000
Cùng là web server, nhưng Apache và NGINX có một chút khác biệt
● Apache dùng cấu trúc dạng thread nên các website có dữ liệu nhiều,traffic lớn thì có thể gặp vấn đề về hiệu suất Còn NGINX có khả năng xử lý vấn
đề c10k nên có lợi thế hơn ở khía cạnh này
● NGINX xử lý dạng “sự kiện” và không tạo tiến trình mới cho các truy vấnnên nó xử lý truy vấn trong thread duy nhất Vì vậy, NGINX hiệu quả trong việcphân tán truy vấn và quản lý tốt nhưng lại bị hạn chế về tốc độ
Tóm lại, nếu website có traffic lớn thì bạn nên lựa chọn NGINX để tiết kiệm tàinguyên nhưng xử lý được nhiều tiến trình Đối với website có lượng traffic vừa
và nhỏ thì Apache lại là lựa chọn hoàn hảo Bởi Apache dễ cấu hình, có nhiềumodule và thân thiện với người dùng hơn
4.1 XAMPP là gì?
Ý nghĩa chữ viết tắt XAMPP là gì? XAMPP hoạt động dựa trên sự tích hợp của
5 phần mềm chính là Cross-Platform (X), Apache (A), MariaDB (M), PHP (P)
và Perl (P), nên tên gọi XAMPP cũng là viết tắt từ chữ cái đầu của 5 phần mềmnày:
● Chữ X đầu tiên là viết tắt của hệ điều hành mà nó hoạt động với: Linux,Windows và Mac OS X
● Apache: Web Server mã nguồn mở Apache là máy chủ được sử dụng
rộng rãi nhất trên toàn thế giới để phân phối nội dung Web Ứng dụng đượccung cấp dưới dạng phần mềm miễn phí bởi Apache Software Foundation
● MySQL / MariaDB: Trong MySQL, XAMPP chứa một trong những hệ
quản trị cơ sở dữ liệu quan hệ phổ biến nhất trên thế giới Kết hợp với Web
Trang 13Server Apache và ngôn ngữ lập trình PHP, MySQL cung cấp khả năng lưu trữ
dữ liệu cho các dịch vụ Web Các phiên bản XAMPP hiện tại đã thay thếMySQL bằng MariaDB (một nhánh của dự án MySQL do cộng đồng phát triển,được thực hiện bởi các nhà phát triển ban đầu)
● PHP: Ngôn ngữ lập trình phía máy chủ PHP cho phép người dùng tạo các
trang Web hoặc ứng dụng động PHP có thể được cài đặt trên tất cả các nền tảng
và hỗ trợ một số hệ thống cơ sở dữ liệu đa dạng
● Perl: ngôn ngữ kịch bản Perl được sử dụng trong quản trị hệ thống, phát
triển Web và lập trình mạng Giống như PHP, Perl cũng cho phép người dùnglập trình các ứng dụng Web động.XAMPP là một chương trình tạo máy chủ webđược sử dụng phổ biến nhất hiện nay
Ưu điểm lớn nhất của XAMPP là không phải trả phí bản quyền và sử dụng mãnguồn mở, bên cạnh đó cấu hình của web server này tương đối đơn giản, gọnnhẹ nên được sử dụng ngày càng phổ biến hiện nay
4.2 Thông tin cơ bản về XAMPP
Phiên bản XAMPP mới nhất là phiên bản 7.2.11 phát hành năm 2018
● Nhà phân phối: XAMPP là phần mềm web server thuộc bản quyền
của GNU General Public Licence XAMPP do Apache Friends phân phối vàphát triển
● Ngôn ngữ lập trình: XAMPP hình thành dựa trên sự tích hợp nhiều ngôn
ngữ lập trình
Trang 14● Hệ điều hành: XAMPP được ứng dụng trên cả 5 hệ điều hành:
Cross-platform, Linux, Windows, Solaris, MacOS
● Các phiên bản: XAMPP ngày càng được nâng cấp và phát triển Hiện
nay phiên bản XAMPP mới nhất là phiên bản 7.2.11 phát hành năm 2018
4.3 Phần mềm được tích hợp với XAMPP là gì?
● Tomcat 7.0.56 (with mod_proxy_ajp as connector)
● Strawberry Perl 7.0.56 Portable
4.4 XAMPP được dùng làm gì?
Phần mềm XAMPP là một loại ứng dụng phần mềm khá phổ biến và thường
hay được các lập trình viên sử dụng để xây dựng và phát triển các dựa ánwebsite theo ngôn ngữ PHP XAMPP được sử dụng cho mục đích nghiên cứu,phát triển website qua Localhost của máy tính cá nhân XAMPP được ứng dụngtrong nhiều lĩnh vực từ học tập đến nâng cấp, thử nghiệm Website của các lậptrình viên
Trang 15Tuy nhiên, đối với các trang web kinh doanh, các trang web cần vận hành liêntục thì việc sử dụng XAMPP để tạo lập không khả thi Do localhost sử dụngmáy tính để làm máy chủ, nên việc duy trì máy chủ sẽ rất khó khăn và khôngđảm bảo tốc độ lâu dài, thay vào đó các chủ trang web sẽ thuê server hosting.
Chung quy lại XAMPP dùng chủ yếu để học tập, nâng cấp và thử nghiệm
web.
4.5 Ưu điểm và nhược điểm của XAMPP
a Ưu điểm của XAMPP
Các ưu điểm của XAMPP bao gồm:
● XAMPP có thể chạy được trên tất cả các hệ điều hành: Từ platform, Window, MacOS và Linux
Cross-● XAMPP có cấu hình đơn giản cũng như nhiều chức năng hữu ích cho người dùng Tiêu biểu gồm: giả lập Server, giả lập Mail Server, hỗ trợ SSL trên
Localhost
● XAMPP tích hợp nhiều thành phần với các tính năng:
● Apache
● PHP (tạo môi trường chạy các tập tin script *.php);
Thay vì phải cài đặt từng thành phần trên, giờ đây các bạn chỉ cần cài XAMPP
là chúng ta có 1 web server hoàn chỉnh
● Mã nguồn mở: Không như Appserv, XAMPP có giao diện quản lý khá
tiện lợi Nhờ đó, người dùng có thể chủ động bật tắt hoặc khởi động lại các dịch
vụ máy chủ bất kỳ lúc nào
b Khuyết điểm của XAMPP là gì?
Tuy nhiên, bởi vì có cấu hình đơn giản nên XAMPP không được hỗ trợ cấu hình
Module, cũng không có Version MySQL, do đó, đôi khi sẽ mang đến sự bất tiện cho người dùng Trong khi WAMP có nhiều tùy chọn hơn vì nó có nhiều phiên
bản cho từng thành phần của server như PHP, Apache, MySQL
Bên cạnh đó, dung lượng của XAMPP cũng tương đối nặng, dung lượng file càiđặt của XAMPP là 141Mb, nặng hơn nhiều so với WAMP chỉ 41Mb.
5 Mã nguồn mở PHPMyAdmin
5.1 PHPMyAdmin là gì?
Trang 16PhpMyAdmin là một công cụ nguồn mở, được viết bằng ngôn ngữ PHP Vai tròcủa nó là giúp người dùng quản lý cơ sở dữ liệu(CSDL) của MySQL, được thựchiện thông qua một trình duyệt web.
Là công cụ quản trị MySQL phổ biến nhất, được sử dụng bởi hàng triệu ngườidùng khác nhau trên toàn thế giới Đặc biệt, phpMyAdmin là lựa chọn hàng đầucủa những nhà quản trị cơ sở dữ liệu, database và administrator
Thay vì sử dụng giao diện cửa số dòng lệnh, phpMyAdmin có thể thực hiệnnhiều tác vụ khác nhau Như tạo, cập nhật, sửa đổi hoặc tiến hành xóa bỏ cơ sởdữu liệu Các bảng, bản ghi, thực hiện báo cáo SQL hay tác vụ phân quyền quản
lý người dùng cũng có thể được hoàn tất một cách nhanh chóng
5.2 Các tính năng của phpMyAdmin là gì?
Một số tính năng chung thường được sử dụng trên phpMyAdmin:
● Quản lý user(người dùng): thêm, xóa, sửa(phân quyền)
● Quản lý cơ sở dữ liệu: tạo mới, xóa, sửa, thêm bảng, hàng, trường, tìmkiếm đối tượng
● Nhập xuất dữ liệu(Import/Export): hỗ trợ các định dạng SQL, XML vàCSV
● Thực hiện các truy vấn MySQL, giám sát quá trình và theo dõi
● Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công
5.3 Ưu điểm của phpMyAdmin là gì?
Trang 17PhpMyAdmin mang đến giao diện xử lý các thao tác trên cơ sở dữ liệu một
cách trực quan Từ đó, tiết kiệm thời gian, thao tác so với việc thực hiện bằngdòng lệnh trên command line
Là công cụ đa năng có thể vừa làm việc với một đối tượng vừa xử lý lỗi hoặccác tính huống bất ngờ
Cộng đồng hỗ trợ rộng lớn
phpMyAdmin: có tính chất là một mã nguồn mở, được phát triển bởi rất nhiều
lập trình viên trên toàn thế giới Nhờ đó, người dùng sẽ nhận được sử hỗ trợ rấtlớn từ cộng đồng
Đa ngôn ngữ: Được duy trì bởi The phpMyAdmin Project hiện có sẵn đến 64ngôn ngữ khác nhau
Chi phí: Dù có nhiều ưu điểm và mang đến nhiều lợi ích vượtbậc, phpMyAdmin vẫn là công cụ hoàn toàn miễn phí
6 Cài đặt công cụ :
Bước 1: Tải Xampp phiên bản mới nất
Bạn có thể download xampp mới nhất thông quahttps://www.apachefriends.org/index.html
Sau khi chọn vào đường dẫn trên, bạn sẽ được chuyển đến trang download nhưhình sau
Tùy theo Ubuntu bạn đang sử dụng là phiên 32bit hoặc 64bit mà bạn tải phiênbản phù hợp Trong ví dụ này, Topthuthuat sử dụng sẽ sử dụng phiên bản 32bitversion 1.8.3
Sau khi tải về, tập tin cài đặt Xampp sẽ nằm tại thư mục Downloads
Trang 18Bước 2: Cài đặt Xampp từ Terminal
Trước tiên, bạn cần mở Terminal Nhấn tổ hợp phím tắt Ctrl + Alt + T Nhập lệnh sau:
cd /home/[Username]/Downloads
ls
(Dòng lệnh LS này, giúp bạn xem được các tập tin hiện có trong Folder Download).
cd: Di chuyển đến thư mục Download trong Terminal
Với [Username] là tên tài khoản bạn tạo của Ubuntu.
Thực hiện cấp quyền chạy cho file cài đặt xampp: 0-installer.run bằng lệnh sau:
xampp-linux-1.8.2-chmod +x xampp-linux-1.8.2-0-installer.run
Đăng nhập với quyền Root để cấp quyền tiến hành cài đặt Xampp Ban cần nhập mật khẩu của tài khoản Ubuntu lúc cài đặt Khi đó trước Download sẽ có dấu #.
Bậy giờ, bạn đã có thể thực hiện cài đặt Xampp cho Ubuntu thông qua câu lệnh sau:
./xampp-linux-1.8.2-0-installer.run
Trang 19Khi đó, giao diện cài đặt Xampp xuất hiện Bạn chọn Next để tiếp tục
Chọn Forward
Trang 20Chọn Next
Chọn Next
Trang 21Giao diện sau khi cài đặt Xampp hoàn tất.
Sau khi nhấn Finish Bạn cần thực hiện dòng lệnh sau để khởi động lại Xampp
sudo /opt/lampp/lampp restart
Giờ Xampp đã được cài đặt thành công.
Bước 3: Cấu hình Xampp tự khởi động với Ubuntu
Ban đầu, các ứng dụng được tích hợp trong Xampp như MySQL, ProFTPD,Apache, sẽ không chạy bởi sự hoạt động của các ứng dụng khác
Trang 22Nhập lệnh : sudo service mysql stop Để dừng MySQL đang chạy
Nhập lệnh : sudo ect/init.d/apache2 stop Để dừng Apache2 đang chạy
Nhập lệnh : sudo /opt/lampp/lampp start để khởi động Xampp
Vào giao diện của Xampp để xác nhận :
Bây giờ bạn đã có thể mở trình duyệt và truy cập vào đường dẫn: http://localhost
Giao diện Webserver Xampp trên Ubuntu
Trang 23Giao diện PhpMyadmin Xampp trên Ubuntu
Trang 24CHƯƠNG II: XÂY DỰNG TRANG WEB
1 Xây dựng trang web :
Tạo Form đăng ký
Bước 1: Tạo cơ sở dữ liệu để ghi thông tin
Dán http://localhost/phpmyadmin/ lên trình duyệt
Tạo một Database lấy tên là data chọn utf8_general_ci sau đó nhấp Create
Xong bạn nhấp data chọn tab SQL dán code sau vào
Trang 25CREATE TABLE IF NOT EXISTS `member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(15) NOT NULL,
`password` varchar(50) NOT NULL,
`phone` varchar(15) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1 ;
Bước 2: tạo file register.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="style.css"/>
Trang 26<body>
<form method="post" action="register.php" class="form">
<h2>Đăng ký thành viên</h2>
Username: <input type="text" name="username" value="" required>
Password: <input type="text" name="password" value="" required/>
Email: <input type="email" name="email" value="" required/>
Phone: <input type="text" name="phone" value="" required/>
<input type="submit" name="dangky" value="Đăng Ký"/>
<?php require 'xuly.php';?>
</form>
</body>
</html>
Tạo Form đăng ký với các trường:
● User: Tên đăng nhập
header('Content-Type: text/html; charset=utf-8');
// Kết nối cơ sở dữ liệu
$conn = mysqli_connect('localhost', 'root', '', 'data') or die ('Lỗi kết nối');mysqli_set_charset($conn, "utf8");
// Dùng isset để kiểm tra Form