đỉnh cao webhosting and cloudsever . Với công nghệ phát triển như hiên nay thì nhu cầu phát triển web và lưu trữ dám mây rất phát triển đồng thời kéo theo rất nhiều dịch vụ được cung cấp , trong đó có dịch vụ cung cấp Web Hosting , SeverCloud hiện tại đang rất phát triển tại Việt Nam. Vì công nghệ không ngừng phát triển và cơ sở dữ liệu càng ngày càng lớn cho thấy mức phát triển là cực kỳ lớn, để đáp ứng được nhu cầu của người dùng cần có một bộ phận nhà cung cấp làm cầu nối hỗ trợ đưa thông tin đến tất cả mọi người và một không gian an toàn bảo mật để lưu giữ thông tin cho các các nhân và doanh nghiệp. Trên tình hình thực tế như vậy chúng em triển khai đề tài xây dựng hệ thống Web Hosting và Cloud Sever để phục vụ nhu cầu phát triển websize và lưu trữ .
Trang 1Trường cao đẳng kĩ thuật công nghiệp
Việt Nam – Hàn Quốc Khoa Công Nghệ Thông Tin
Lớp CĐ QT12A
Đề tài xây dựng hệ thống Web Hosting
và Cloud Sever trên Linux
Giáo Viên Hướng Dẫn: Ths.sĩ Hồ Viết Hướng
Sinh viên thực hiện: Hồ Công Toại
Lê Văn Hoàn
Hồ Sỹ Hải Nguyễn Văn Thắng Trần Long Chiến
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 5
LỜI CẢM ƠN 3
WEBHOSTING 4
I: TỔNG QUAN HỆ THỐNG WEB HOSTING 4
1.1 WEB HOSTING 4
1.2 HỆ ĐIỀU HÀNH QUẢN LÝ HOSTING 6
1.3 RAID SERVER 6
Các loại Raid chuẩn 6
1.3.1 Raid 0 6
1.3.2 Raid 1 7
1.3.3 Raid 2 8
1.3.4 Raid 3 8
1.3.5 Raid 4 9
1.3.6 Raid 5 10
1.3.7 Raid 6 10
Các Raid không tiêu chuẩn 11
1.4 PHẦN MỀM WEB SERVER 12
IIS có thể làm được gì ? 13
1.5 DNS SERVER 13
Giới thiệu về DNS 13
Tên miền là gì? 13
1.5.1 Tên miền mức cao nhất 14
1.5.2 Tên miền mức hai 14
1.6 PHẦN MỀM QUẢN LÝ HOSTING 15
1.7 BẢO MẬT VÀ TỐI ƯU HÓA CHO WEB HOSTING 15
Bảo mật Web Hosting 15
Tối ưu hóa Web Hosting 16
II: XÂY DỰNG HỆ THỐNG SERVER WEB HOSTING TRÊN LINUX 17
2.1 MÔ HÌNH THỬ NGHIỆM 17
2.2 CÀI ĐẶT VÀ CẤU HÌNH VMWARE WORKSTATION 18
2.3 CÀI ĐẶT CENTOS 7 21
2.4 CÀI ĐẶT AAPANEL: 30
III HƯỚNG DẪN QUẢN TRỊ AAPANEL 37
3.1: Upload dữ liệu 37
Các lỗi phát sinh 40
CLOUDSEVER 41
I.TÔNG QUAN VỀ DỮ LIỆU ĐÁM MÂY CLOUDSEVER 41
1.Các bước cài đặt Nextcloud trên CentOS 7 44
Trang 3Cài đặt MySQL(MariaDB) 45
Cài đặt PHP (Cài đặt PHP 7.2) 45
Cài đặt NextCloud 46
II HƯỚNG DẪN QUẢN TRỊ VÀ VẬN HÀNH CLOUDSEVER 49
2.1 Quản lý người dùng 49
Đặt lại mật khẩu của người dùng 49
Đổi tên người dùng 50
Cấp đặc quyền của quản trị viên cho người dùng 50
Quản lý nhóm 50
Đặt hạn ngạch lưu trữ 50
Xóa người dùng 51
Đặt lại mật khẩu quản trị viên bị mất 51
Ứng dụng chính sách mật khẩu người dùng 52
2.2 Xác thực người dùng bằng IMAP, SMB và FTP 53
IMAP 53
SMB 54
FTP 54
2.3 Xác thực người dùng bằng LDAP 55
Cài đặt nâng cao 56
Cài đặt kết nối 56
Cài đặt thư mục 58
Thuộc tính đặc biệt 60
2.3.1 Cài đặt chuyên gia 61
2.3.2 Dọn dẹp người dùng LDAP 62
Xóa người dùng Nextcloud cục bộ 63
2.3.3 API cấp phép người dùng 63
Bộ hướng dẫn cho người dùng 64
người dùng / adduser 64
Thí dụ 64
Đầu ra XML 64
người dùng / người sử dụng 65
Thí dụ 65
Đầu ra XML 65
2.4 Chia sẻ file 66
Chuyển tệp cho người dùng khác 67
Tạo chia sẻ tệp liên tục 67
2.5 Cấu hình Chia sẻ Liên kết 68
Tạo một Chia sẻ Liên kết mới 68
Định cấu hình máy chủ Nextcloud đáng tin cậy 69
Trang 4Mẹo cấu hình 72
2.6 Tải lên các tệp lớn> 512MB 73
2.7 Định cấu hình ứng dụng tài liệu cộng tác 73
Bật ứng dụng Tài liệu 73
Bật và thử nghiệm hỗ trợ MS Word 74
Xử lý sự cố 74
2.8 Cung cấp tệp mặc định 75
Cấu hình bổ sung 76
2.9 Định cấu hình bộ nhớ ngoài (GUI) 76
Bật hỗ trợ bộ nhớ ngoài 76
Cấu hình lưu trữ 77
2.9 Chuyển đổi loại cơ sở dữ liệu 78
Chạy chuyển đổi 78
2.10 Cấu hình cơ sở dữ liệu 79
Yêu cầu 79
MySQL / MariaDB với tính năng ghi nhật ký nhị phân được bật 79
Thông số 80
Cấu hình cơ sở dữ liệu MySQL hoặc MariaDB 80
Cơ sở dữ liệu PostgreSQL 81
2.12 Cách nâng cấp máy chủ Nextcloud của bạn 84
Điều kiện tiên quyết 84
2.13 Nâng cấp Nextcloud từ các gói 85
Nâng cấp Quickstart 85
Cài đặt 85
Lần đăng nhập đầu tiên 85
2.14 Nâng cấp Nextcloud bằng Ứng dụng Trình cập nhật 86
Đặt quyền cập nhật 88
Tùy chọn dòng lệnh 89
2.15 Nâng cấp Nextcloud thủ công 90
Bản phát hành Nextcloud trước đó 91
Nâng cấp ngược 91
Xử lý sự cố 91
Trang 5LỜI NÓI ĐẦU
Với công nghệ phát triển như hiên nay thì nhu cầu phát triển web và lưu trữ dámmây rất phát triển đồng thời kéo theo rất nhiều dịch vụ được cung cấp , trong đó
có dịch vụ cung cấp Web Hosting , SeverCloud hiện tại đang rất phát triển tạiViệt Nam Vì công nghệ không ngừng phát triển và cơ sở dữ liệu càng ngày cànglớn cho thấy mức phát triển là cực kỳ lớn, để đáp ứng được nhu cầu của ngườidùng cần có một bộ phận nhà cung cấp làm cầu nối hỗ trợ đưa thông tin đến tất
cả mọi người và một không gian an toàn bảo mật để lưu giữ thông tin cho cáccác nhân và doanh nghiệp Trên tình hình thực tế như vậy chúng em triển khai
đề tài xây dựng hệ thống Web Hosting và Cloud Sever để phục vụ nhu cầu pháttriển websize và lưu trữ
Trang 6Và đặc biệt, trong học kỳ này, Khoa đã tổ chức cho chúng em được tiếp cận và thực hiên đềtài tốt nghiệp sau 3 năm học tập chăm chỉ ở trường Đó là đề tài “ Thiết kế hệ thống Webhosting và Cloud Sever ” Em xin chân thành cảm ơn các thầy cô đã tận tâm hướng dẫn chúng
em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về lĩnh vực internet
và ứng dụng của internet trong đời sống Đặc biệt thạc sĩ HỒ VIẾT HƯỚNG đã quan tâm,hướng dẫn và cùng chúng em thực hiện đề tài này
Em cũng xin bày tỏ lòng biết ơn đến ban lãnh đạo của Trường Cao Đẳng KTCN Việt Hàn Quốc và các Khoa Phòng ban chức năng đã trực tiếp và gián tiếp giúp đỡ em trong suốtquá trình học tập và nghiên cứu đề tài này
Nam-Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một học viên, bài báo cáo nàykhông thể tránh được những thiếu sót Em rất mong nhận được sự chỉ bảo, đóng góp ý kiếncủa các quý thầy cô để chúng em có điều kiện bổ sung, nâng cao kiến thức của mình, phục vụtốt hơn công tác thực tế sau này
Chúng em xin chân thành cảm ơn
Trang 7WEBHOSTING
I: TỔNG QUAN HỆ THỐNG WEB HOSTING
1.1 WEB HOSTING
Web Hosting (hay lưu trữ web) là gì?
Web Hosting là nơi lưu trữ tất cả các trang Web, các thông tin, tư liệu, hình ảnh củaWebsite trên một máy chủ Internet, Web Hosting đồng thời cũng là nơi diễn ra tất cả các hoạtđộng giao dịch, trao đổi thông tin giữa Website với người sử dụng Internet và hỗ trợ các phầnmềm Internet hoạt động
Các yêu cầu và tính năng cần thiết của web Hosting?
- Đầu tiên phải nói đến về vấn đề tốc độ Máy chủ chạy dịch vụ Web phải có cấu hình đủ lớn
để đảm bảo xử lý thông suốt, phục vụ cho số lượng lớn người truy cập Phải có đường truyền kết nối tốc độ cao để đảm bảo không bị nghẽn mạch dữ liệu
- Máy chủ phải được người quản trị hệ thống chăm sóc, cập nhật, bảo dưỡng thường xuyên nhằm tránh các rủi ro về mặt kỹ thuật cũng như bảo mật
- Web Hosting phải có một dung lượng đủ lớn (tính theo MBytes) để lưu giữ được đầy đủ các thông tin, dữ liệu, hình ảnh, của Website
- Phải có bandwidth (băng thông) đủ lớn để phục vụ các hoạt động giao dịch, trao đổi thông tin của Website
- Phải hỗ trợ truy xuất máy chủ bằng giao thức FTP để cập nhật thông tin
- Hỗ trợ các các ngôn ngữ lập trình cũng như cơ sở dữ liệu để thực thi các phần mềm trên Internet hoặc các công cụ viết sẵn để phục vụ các hoạt động giao dịch trên Website như gửi mail, upload qua trang Web, quản lý sản phẩm, tin tức
- Hỗ trợ đầy đủ các dịch vụ E-mail như POP3 E-mail, E-mail Forwarding, DNS
- Có giao diện quản lý Web Hosting để dễ dàng quản lý website, các tài khoản FTP, Email
- Không bị chèn các banner quảng cáo của nhà cung cấp
Dung lượng của Web Hosting?
Dung lượng của web hosting là khoảng không gian chúng ta được phép lưu trữ dữ liệucủa mình trên ổ cứng của máy chủ Như đã nói ở trên, thuê một web hosting cũng giống nhưchúng ta thuê văn phòng trong một nhà cao ốc Vậy ở đây, dung lượng của web hosting cũnggiống như diện tích văn phòng của chúng ta
Băng thông của Web Hosting?
Trang 8Băng thông của web hosting là lượng dữ liệu (tính bằng MBytes) trao đổi giữa websitecủa chúng ta với người sử dụng trong một tháng Ví dụ nếu chúng ta tải lên website của mìnhmột tệp tài liệu có kích thước là 1MB và có 100 khách hàng tải tệp tài liệu đó về thì ta đã tiêutốn tổng cộng 101MB băng thông.
FTP là gì?
FTP là viết tắt của cụm từ File Transfer Protocol - là một giao thức truyền tệp tin trênmạng Internet Khi máy chủ hỗ trợ FTP, ta có thể sử dụng các phần mềm FTP (FTP Client) đểkết nối với máy chủ và tải lên các tệp tin dữ liệu cũng như cập nhật website của mình mộtcách dễ dàng
Các ngôn ngữ lập trình web phổ biến?
- PHP: Được chạy trên máy chủ Linux hoặc Windows Với đặc điểm mạnh mẽ, dễ viết, dễ
dùng, dễ phát triển Cặp đôi với PHP là cơ sở dữ liệu MySQL, PHP đã trở thành ngôn ngữ lậptrình web phổ biến nhất hiện nay
- ASP: Chạy trên máy chủ Windows, thường sử dụng cơ sở dữ liệu Access, được Microsoft
phát triển nhắm vào các đối tượng ứng dụng văn phòng
- ASP.NET: Chạy trên máy chủ Windows Được Microsoft xây dựng trên nền tảng NET, kết
hợp với cơ sở dữ liệu MSSQL Server khiến cho ASP.NET trở nên một địch thủ đáng gờm đốivới bất kỳ một ngôn ngữ lập trình web nào
- JSP, CGI, Python: Chạy trên máy chủ Windows hoặc Linux Đã từng nổi đình nổi đám một
thời Tuy nhiên hiện nay đã không còn phổ biến
Hosting Controller hay Cpanel là gì?
Là phần mềm web đi kèm với các gói hosting hỗ trợ cho khách hàng chủ động quản lý
và cấu hình gói hosting Phần mềm này cung cấp các tính năng quản lý thư mục, database,backup dữ liệu, sub-domain, Sacomtec đang sử dụng phần mềm HC7C mới nhất củaHosting Controller giúp khách hàng quản lý gói hosting mình một cách hiệu quả và nhanhchóng
Sử dụng OS Windows hay Linux?
Việc sử dụng Hosting trên nền tảng Windows hay Linux cũng là những băn khoăn vớicác nhà cung cấp dịch vụ, bởi lẽ nếu không kinh nghiệm thì không thể quản lý được hết doquá nhiều công nghệ của 2 ông trùm thế giới này
- Công nghệ Hosting Linux
Hệ điều hành: CentOS, Linux Red Hat Enterpires, Ubuntu,
Quản lý Hosting: Cpanel, Plesk, Direct Admin
Quản lý VPS: Xen,Virtuzzo,
Mail Server mã nguồn mở
Thiết kế Webiste mã nguồn mở PHP, Domain
- Công nghệ Hosting Windows
Trang 9Hệ điều hành: Windows ServerQuản lý Hosting: Plesk, Hosting Controller,…
Quản lý VPS: Virtuzzo,
Mail Server Mdemon,
Thiết kế Webiste công nghệ dotnet, Domain,
1.2 HỆ ĐIỀU HÀNH QUẢN LÝ HOSTING
1.2.1 CentOS
CentOS (tên viết tắt của Community ENTerprise Operating System) là một phânphối Linux tập trung vào lớp doanh nghiệp, xây dựng từ nhiều nguồn miễn phí (theo GPL vàmột số bản quyền tương tự) của Red Hat CentOS 4 dựa trên nền tảng Red Hat EnterpriseLinux 4, hỗ trợ dòng x86 (i586 và i686), dòng x86_64 (AMD64 và Intel EMT64), các cấu
trúc IA64, Alpha, S390 và S390x Các công nghệ của Windows Server 2008
Trang 10Hình 1.7: Mô hình Raid 0Qua ví dụ trên có thể nhận thấy rằng tốc độ đọc và ghi dữ liệu của hệ thống RAID 0được tăng lên gấp đôi (cùng một thời điểm cùng đọc và cùng ghi trên cả hai ổ cứng vật lýkhác nhau) Do đó RAID 0 rất phù hợp với các hệ thống máy chủ, các máy tính của game thủkhó tính hoặc các máy tính phục vụ việc đọc/ghi dữ liệu với băng thông cao Ở máy chủ, tabiết rằng việc truy cập dữ liệu để phục vụ người truy xuất được tiến hành hầu như đồng thời(ví dụ bạn đang truy cập vào máy chủ chứa các nôi dung của blog này, thấy rằng trong mộtthời điểm thì không chỉ có bạn, mà còn có rất nhiều người khác cùng tham gia truy cập, nhưvậy nếu như máy chủ chỉ có một ổ cứng thì việc truy cập sẽ rất chậm)
Cũng trong ví dụ trên, nếu như xảy ra hư hỏng một trong hai ổ cứng thì sẽ ra sao Câutrả lời là dữ liệu sẽ mất hết, bởi dữ liệu cùng được tách ra ghi ở hai đĩa không theo dạng hoànchỉnh Trong ví dụ trên, nếu như chỉ còn một chữ A1 (hoặc A2) thì hệ thống không thệ nhậnbiết chính xách đầy đủ dữ liệu được ghi vào là A Vậy đặc điểm của RAID 0 sẽ là làm tăngbăng thông đọc/ghi dữ liệu, nhưng cũng làm tăng khả năng rủi ro của dữ liệu khi hư hỏng ổcứng
1.3.2 Raid 1
RAID 1 cũng là một cấp độ cơ bản Từ các nguyên lý của RAID0 và RAID 1 có thểgiải thích về các cấp độ RAID khác
RAID 1 là sự kết hợp của ít nhất hai ổ cứng trong đó dữ liệu được ghi đồng thời trên
cả hai ổ cứng đó Lặp lại ví dụ trên: Nếu dữ liệu có nội dung A được phân tách thành A1, A2thì RAID 1 sẽ ghi nội dung A được ghi tại đồng thời cả hai ổ cứng 0 và ổ cứng 1 (xem hìnhRAID 1)
Trang 11Hình 1.8: Mô hình Raid 1Mục đích của RAID 1 là tạo ra sự lưu trữ dữ liệu an toàn Nó không tạo ra sự tăng tốc
độ đọc và ghi dữ liệu (tốc độ đọc/ghi tương đương với chỉ sử dụng duy nhất một ổ cứng).RAID 1 thường sử dụng trong các máy chủ lưu trữ các thông tin quan trọng Nếu có sự hưhỏng ổ cứng xảy ra, người quản trị hệ thống có thể dễ dàng thay thế ổ đĩa hư hỏng đó màkhông làm dừng hệ thống RAID 1 thường được kết hợp với việc gắn nóng các ổ cứng (cũnggiống như việc gắn và thay thế nóng các thiết bị tại các máy chủ nói chung)
Trang 12tách thành 3 phần A1, A2, A3 (Xem hình minh hoạ RAID 3), khi đó dữ liệu được chia thành 3phần chứa trên các ổ cứng 0,1,2 (giống như RAID 0) Phần ổ cứng thứ 3 chứa dữ liệu của tất
cả để khôi phục dữ liệu có thể sẽ mất ở ổ cứng 0,1,2 Giả sử ổ cứng 1 hư hỏng, hệ thống vẫnhoạt động bình thường cho đến khi thay thế ổ cứng này Sau khi gắn nóng ổ cứng mới, dữ liệulại được khôi phục trở về ổ đĩa 1 như trước khi nó bị hư hỏng
Hình 1.10: Mô hình Raid 3Yêu cầu tối thiểu của RAID 3 là có ít nhất 3 ổ cứng
1.3.5 Raid 4
RAID 4 tương tự như RAID 3 nhưng ở một mức độ các khối dữ liệu lớn hơn chứkhông phải đến từng byte Chúng cũng yêu cầu tối thiểu 3 đĩa cứng (ít nhất hai đĩa dành chochứa dữ liệu và ít nhất 1 đĩa dùng cho lưu trữ dữ liệu tổng thể)
Hình 1.11: Mô hình Raid 4
Trang 131.3.6 Raid 5
RAID 5 thực hiện chia đều dữ liệu trên các ổ đĩa giống như RAID 0 nhưng với một cơchế phức tạp hơn "Đây có lẽ là dạng RAID mạnh mẽ nhất cho người dùng văn phòng và giađình với 3 hoặc 5 đĩa cứng riêng biệt Dữ liệu và bản sao lưu được chia lên tất cả các ổ cứng.Nguyên tắc này khá rối rắm Chúng ta quay trở lại ví dụ về 8 đoạn dữ liệu (1-8) và giờ đây là
3 ổ đĩa cứng Đoạn dữ liệu số 1 và số 2 sẽ được ghi vào ổ đĩa 1 và 2 riêng rẽ, đoạn sao lưu củachúng được ghi vào ổ cứng 3 Đoạn số 3 và 4 được ghi vào ổ 1 và 3 với đoạn sao lưu tươngứng ghi vào ổ đĩa 2 Đoạn số 5, 6 ghi vào ổ đĩa 2 và 3, còn đoạn sao lưu được ghi vào ổ đĩa 1
và sau đó trình tự này lặp lại, đoạn số 7,8 được ghi vào ổ 1, 2 và đoạn sao lưu ghi vào ổ 3 nhưban đầu Như vậy RAID 5 vừa đảm bảo tốc độ có cải thiện, vừa giữ được tính an toàn cao.Dung lượng đĩa cứng cuối cùng bằng tổng dung lượng đĩa sử dụng trừ đi một ổ Tức là nếu tadùng 3 ổ 80GB thì dung lượng cuối cùng sẽ là 160GB"
Hình 1.12: Mô hình Raid 5RAID 5 cũng yêu cầu tối thiểu có 3 ổ cứng
1.3.7 Raid 6
RAID 6 phần nào giống như RAID 5 nhưng lại được sử dụng lặp lại nhiều hơn số lần
sự phân tách dữ liệu để ghi vào các đĩa cứng khác nhau Ví dụ như ở RAID 5 thì mỗi một dữliệu được tách thành hai vị trí lưu trữ trên hai đĩa cứng khác nhau, nhưng ở RAID 6 thì mỗi dữliệu lại được lưu trữ ở ít nhất ba vị trí (trở lên), điều này giúp cho sự an toàn của dữ liệu tănglên so với RAID 5
RAID 6 yêu cầu tối thiểu 4 ổ cứng
Trang 14Hình 1.13: Mô hình Raid 6Trong RAID 6, ta thấy rằng khả năng chịu đựng rủi ro hư hỏng cứng được tăng lên rấtnhiều Nếu với 4 ổ cứng thì chúng cho phép hư hỏng đồng thời đến 2 ổ cứng mà hệ thống vẫnlàm việc bình thường, điều này tạo ra một xác xuất an toàn rất lớn Chính do đó mà RAID 6thường chỉ được sử dụng trong các máy chủ chứa dữ liệu cực kỳ quan trọng.
Các Raid không tiêu chuẩn
Trên thực tế thì việc ghép các ổ cứng thành hệ thống RAID không hoàn toàn tuân thủnhư các cấp độ như trên, mà chúng đã được biến đổi đi theo các cách khác nữa Hiện nay cócác loại RAID 10, RAID 50 và RAID 0+1
Hình 1.14: Mô hình Raid 0+1
Hình 1.15: Mô hình Raid 10
Trang 15Hình 1.16: Mô hình Raid 50Ngoài lý do về tăng tốc độ truy cập dữ liệu trên hệ thống đĩa cứng, sự ra đời của cácchuẩn RAID còn đảm bảo sự an toàn dữ liệu của hệ thống Qua đây ta thấy rằng người ta đãrất quan trọng việc đảm bảo an toàn dữ liệu cho máy tính và đặc biệt là cho máy chủ.
Giả sử các máy chủ của một website bị hư hỏng một ổ cứng, chúng sẽ làm mất dữ liệunếu như không có quá trình sao lưu dự phòng Nếu dữ liệu này lại quan trọng đến mức thay đổitheo thời gian thực (chỉ một khoảng thời gian ngắn thì dữ liệu đã được sửa chữa, thay đổi) thì việcsao lưu quả là khó khăn nếu không sử dụng các loại RAID Tại sao lại thế, bởi vì việc sao lưu dữliệu định kỳ chỉ giúp cho ta lấy lại dữ liệu ở thời điểm lưu lại, còn những dữ liệu từ thời điểm đócho đến lúc hư hỏng có thể bị mất
Chúng ta có thể không chứa các dữ liệu quan trọng của mình bởi có thể chúng chỉ làmột vài tập tin văn bản bình thường, nhưng đối với các dữ liệu quan trọng liên quan đến tàichính chẳng hạn thì việc mất dữ liệu là một tai hoạ lớn, làm ảnh hưởng không những đến công
ty mà còn đến các khách hàng của công ty đó
Và thử hình dung, ổ cứng trong máy tính của chúng ta bị hỏng đột ngột ngay lúc này,bạn sẽ cảm nhận được sự cần thiết phải sao lưu là như thế nào Có lẽ không đơn thuần là cáctập tin văn bản mà dễ dàng có thể soạn lại, mà các bảng tính, các tập hợp và kết quả làm việccủa chúng ta trong thời gian gần đây đã bị mất hết theo chúng Chắc là ta sẽ rất bực bội, vàcuối cùng là đã hối tiếc rằng đã không sao lưu các dữ liệu đó lại một cách thường xuyên, địnhkỳ
Các đặc điểm nổi bật của Apache
Trang 16- Hỗ trợ phương thức mới nhất, bao gồm cả HTTP/1.1 (RFC2616)
- Có thể cấu hình, có khả năng mở rộng module của một hãng thứ 3
- Có thể tùy biến bằng cách tự viết module dựa trên module API của Apache
- Cung cấp đầy đủ mã nguồn và một đăng ký sử dụng vô thời hạn
- Vẫn đang tiếp tục được phát triển
1.4.2 Internet Information Services (IIS)
IIS là gì ?
Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch
vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán cácthông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server,
Nó có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằngviệc sử dụng “Phương thức chuyển giao siêu văn bản“ - Hypertext Transport Protocol(HTTP)
IIS có thể làm được gì ?
Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng lại yêu cầu đó bằng cách gửi
về máy trạm những thông tin mà máy trạm yêu cầu.Chúng ta có thể sử dụng IIS để: Xuất bản một Website của mình trên Internet · Tạo các giaodịch thương mại điện tử trên Internet (hiện các catalog và nhận được các đơn đặt hàng từnguời tiêu dùng) · Chia sẻ file dữ liệu thông qua giao thức FTP · Cho phép người ở xa có thểtruy xuất database của chúng ta (gọi là Database remote access) Và rất nhiều khả năngkhác
1.5 DNS SERVER
Làm Hosting Provider thì phải hiểu rõ những căn bản về DNS và hệ thống tên miền, vì nó là
là một khái niệm, công nghệ chủ chốt của nghành Hosting
Giới thiệu về DNS
DNS là viết tắt của Domain Name System DNS để giúp cho quá trình làm việc trên Internet
dễ dàng hơn bởi vì hầu hết các công việc chuyển đổi địa chỉ IP đều được thực hiện trên máychủ DNS Công việc của người dùng là chỉ cần gõ một địa chỉ tên miền cụ thể
Trang 17chủ, thành phần thứ hai "vnn" thường gọi là tên miền mức hai (second domain name level),thành phần cuối cùng "vn" là tên miền mức cao nhất (top level domain name).
1.5.1 Tên miền mức cao nhất
Bao gồm các mã quốc gia của các nước tham gia Internet được quy định bằng hai chữ cái theotiêu chuẩn ISO -3166 như Việt nam là VN, Anh quốc là UK v.v… và 7 lĩnh vực dùng chung(World Wide Generic Domains), trong đó có 5 dùng chung cho toàn cầu và 2 chỉ dùng ở Mỹ
1- COM: Thương mại (Commercial)
2- EDU: Giáo dục (Education)
3- NET: Mạng lưới (Network)
4- INT: Các tổ chức quốc tế (International Organisations)
5- ORG: Các tổ chức khác (other orgnizations)
6-MIL: quân sự (Military)
7-GOV: Chính phủ (Government)
1.5.2 Tên miền mức hai
Đối với các quốc gia nói chung tên miền mức hai này do Tổ chức quản lý mạng của quốc gia
đó định nghĩa, có thể định nghĩa khác đi, nhiều hơn hay ít đi nhưng thông thường các quốc giavẫn định nghĩa các Lĩnh vực kinh tế, xã hội của mình tương tự như lĩnh vực dùng chung nêutrên
Các loại Domain name
Domain name cấp cao nhất
Domain name cấp cao nhất là tên miền bạn đăng ký trực tiếp với các nhà cung cấpDomain name Theo sau ngay phần tên bạn tùy chọn là phần TLD (Top Level Domain) códạng: com, net, org, gov, edu, info, tv, biz, hoặc các TLD kết hợp với ký hiệu viết tắtcủa quốc gia: com.vn, net.vn, org.vn, gov.vn,
Ví dụ:
www.vnnetsoft.com
www.yahoo.com
www.vnn.vn
Được coi là các tên miền cấp cao nhất Các tên miền cấp cao nhất thể hiện sự chuyên nghiệp
và uy tín trong kinh doanh trên Internet của các doanh nghiệp
Domain name thứ cấp
Là tất cả những loại Domain name còn lại mà domain đó phải phụ thuộc vào một Domainname cấp cao nhất Để đăng ký các Domain name kiểu này, thông thường bạn phải liên hệtrực tiếp với người quản lý Domain name cấp cao nhất
Trang 18http://home.vnn.vn
1.6 PHẦN MỀM QUẢN LÝ HOSTING
aaPanel có thể quản lý server thông qua giao diện (GUI) đơn giản, và chỉ với thao tác đơn
giản thì mình có thể cài đặt được một web server chạy mô hình LNMP/LAMP, mục đích ra đời của aaPanel là giúp cho việc cài đặt, quản trị vps, server web trở nên đơn giản hơn, giúp mình có nhiều thời gian để tập trung phát triển ứng dụng, không cần quan tâm nhiều tới hệ thống
aaPanel là cái tên control panel miễn phí cho máy chủ Linux được nhắc đến khá nhiều trong thời gian gần đây bởi những ưu điểm tuyệt vời của nó
Điều đầu tiên đó là aaPanel rất nhẹ, AZDIGI đã thử nghiệm trên nhiều VPS và cả máy chủ riêng thì đều ghi nhận aaPanel chỉ chiếm khoảng hơn 200MB RAM sau khi cài đặt hoàn tất và
sử dụng CPU rất thấp Sở dĩ aaPanel nhẹ như vậy vì nó được thiết kế theo dạng “plug-n-play”,nghĩa là khi cài đặt thì chúng ta chỉ cài giao diện và bộ nguồn của nó Còn sau đó bạn muốn
sử dụng các ứng dụng nào thì cài đặt thêm vào
Hiện nay aaPanel hỗ trợ rất tốt 2 webserver phổ biến nhất là NGINX và Apache, và hỗ trợ PHP từ phiên bản rất thấp như PHP 5.6 đến phiên bản mới nhất hiện tại là PHP 8.0 Ngoài ra,
nó còn hỗ trợ cả OpenLiteSpeed và tự cấu hình nhưng do tác giả viết bài này chưa sử dụng OpenLiteSpeed trên aaPanel nên chưa biết hiệu năng như thế nào
Tính năng tuyệt vời thứ hai mà aaPanel cung cấp đó là một thư viện các phần mềm được tích hợp sẵn, chỉ cần bạn muốn sử dụng thì ấn nút cài đặt là có thể sử dụng ngay Ví dụ bạn có thể
cài đặt thêm tính năng Google Drive Backup để tự động sao lưu dữ liệu website trên VPS và
lưu trên tài khoản Google Drive của bạn
1.7 BẢO MẬT VÀ TỐI ƯU HÓA CHO WEB HOSTING.
Bảo mật Web Hosting
Trong thế giới thay đổi từng ngày trong việc truyền thông dữ liệu toàn cầu, những kết nốiInternet rẻ tiền và tốc độ ngày một nhanh hơn thì việc bảo mật hệ thống là một vấn đề hết sứchữu ích Bảo mật là một đòi hỏi thiết yếu bởi vì những máy tính mang tính toàn cầu đangngày càng trở nên kém an toàn
Trang 19Đối với các nhà cung cấp sản phẩm thì mục tiêu của họ là cung cấp càng nhiều cácdịch vụ càng tốt, đơn giản hóa các việc sử dụng dịch vụ trong hệ thống, và nói chung là tất cảnhững gì mà họ có thể làm để cho sản phẩm có thể tiêu thụ nhiều
Như vậy, có thể mô tả sự tác động của việc này đối với các nhà quản trị như sau:
Các dịch vụ chống lại các vấn đề bảo mật: Các dịch vụ mà các nhà cung cấp sản phẩmphát triển có thể cho phép người dùng sở hữu các nguồn tài nguyên trên hệ thống và dĩ nhiên
là điều này hoàn toàn không đòi hỏi một chứng thực nào cả Đây là một việc hết sức nguyhiểm cho hệ thống và nhiệm vụ của nhà quản trị là cần phải quyết định hạn chế các dịch vụcần thiết trong hệ thống hơn là bảo mật cho các dịch vụ này
Dễ dàng trong sử dụng thì khó khăn trong bảo mật: Một hệ thống mà dễ dàng chophép sự thâm nhập của người dùng là một điều hết sức nguy hiểm cho việc bảo mật hệ thống.Nên có cơ chế chứng thực cho mỗi sử dụng, điều này có thể gây rắc rối trong việc sử dụngnhưng nó làm cho hệ thống trở nên an toàn hơn, đặc biệt nếu có thể thì nên áp dụng cơ chếchứng thực thường xuyên để tăng thêm phần bảo mật cho hệ thống
Kết quả của sự bảo mật chính là giảm sự mất mát thông tin : Việc thiết lập các cơ chếbảo mật như sử dụng firewall, cơ chế chứng thực, nghiêm ngặt trong vấn đề sử dụng tươngứng sẽ làm giảm bớt sự mất mát thông tin, mất mát dịch vụ, … Điều này tương ứng với cáigiá phải trả cho các nhà quản trị
Ba yếu tố đảm bảo an ninh thông tin:
• Tính bảo mật: đảm bảo rằng chỉ người được phép mới có thể truy cập thông tin
• Tính toàn vẹn: đảm bảo tính chính xác và đầy đủ của thông tin và các phương pháp xử
lý thông tin
• Tính sẵn sàng: đảm bảo người sử dụng được phép có thể truy cập thông tin
Tối ưu hóa Web Hosting
Với lượng khách hàng lên đến hàng trăm, hàng nghìn , hàng trăm nghìn, gia tăng với
sự phát triển thì việc quản lý khách hàng, quản lý các dịch vụ hết hạn, thanh toán là một vấn
đề của các nhà cung cấp dịch vụ
Một số nhà cung cấp dịch vụ tự Code phần mềm quản lý phù hợp với mình, số khác
thì dùng các phần mềm quản lý nổi tiếng khác trên thế giới như WHMCS, và tiên phong
trong việc ứng dụng CRM/ERP
Một số giải pháp:
• Hệ thống tách biệt Database và File
Máy chủ database và file server sử dụng công nghệ iSCSI SAN giúp cho việc truyền
Trang 20dụng sẽ là một máy chủ cho các ứng dụng, sau một thời gian quá tải thì ta sẽ kết nối thêmmáy chủ vào.
• Hệ thống Cluster/Loadbalancing
Cũng như trên, nhưng mà những máy chủ ứng dụng sẽ thiết kế dạng Cluster hoặcLoadbalancing Tùy theo ứng dụng mà thiết kế nó là Loadbalancing hay là Cluster, nếu chạynhiều dịch vụ cho khách hàng thì giải pháp Cluster hiệu quả hơn
II: XÂY DỰNG HỆ THỐNG SERVER WEB HOSTING TRÊN LINUX
2.1 MÔ HÌNH THỬ NGHIỆM
Trong phần này chúng tôi sẽ trình bày cách cấu hình một Server Hosting hoàn chỉnhtrên nền Windows Server 2012 và ứng dụng công nghệ ảo hóa VMware Workstation hay còngọi là Hosting VPS
Trước tiên xin giới thiệu về lợi ích khi triển khai hệ thống ảo hóa Như trong hình bên dưới có
2 mô hình Hosting
• Mô hình 1 từ Internet người dùng truy cập trực tiếp vào Web Server của chúng ta, nhưvậy nếu Hacker không cần vô hiệu hóa được Firewall mà chỉ cần khai thác lỗ hổng từvấn đề bảo mật của Web Server thì Hacker cũng có thể dễ dàng chiếm quyền điềukhiển Server và hơn nữa là có thể tàn phá dữ liệu một cách không thương tiếc
• Tuy nhiên với mô hình 2 chúng tôi cũng chỉ cần duy nhất 1 Server mà thôi nhưng trênServer này chúng tôi cài thêm VMware Workstation và cấu hình Web Server (còn gọi
là VPS Server) trong này Như vậy Hacker cho dù khai thác được các lỗi bảo mật củaVPS Server và tàn phá dữ liệu thì chúng ta cũng chủ động hơn trong việc phục hồi(triển khai RAID trên Server chính) hay củng cố lại bảo mật Nói chung VPS Server làmột mô hình máy trong máy cho nên có độ bảo mật cao và dễ dàng tùy biến hơn
Trang 21Hình 2.1: Mô hình thử nghiệm
2.2 CÀI ĐẶT VÀ CẤU HÌNH VMWARE WORKSTATION
Để cài đặt VMware Workstation ta vào http://www.vmware.com/download/ws/ và tải bản VMware Workstation về máy
Sau khi tải bạn tiến hành cài đặt VMware Workstation
Sau quá trình cài đặt hoàn tất bạn chọn File -> New -> Virtual Machine để tạo một hệ thống Windows mới
Hình 2.2: Tạo mới hệ thống WindowsBạn có thể tùy chỉnh lại cái giá trị Ram, CD, USB bằng cách nhấp vào Edit virtual marchine settings
Trang 22Hình 2.3: Cấu hình thông số máy ảoTrong cửa sổ Edit giả sử chúng ta sẽ gắn thêm 3 ổ đĩa cứng nữa dùng chứa dữ liệu nên chúng
Trang 23Hình 2.6: Chọn kiểu SCSI
3 ổ cứng này chọn cùng dung lượng là 15Gb và cùng chuẩn là SCSI Lý do mà chúng ta gắn tới 3 ổ cùng dung lượng này là vì trong phần tiếp theo chúng ta sẽ triển khai RAID 5, đây là dạng RAID được sử dụng phổ biến nhất hiện nay
Hình 2.7: Dung lượng ổ cứngMàn hình sau khi hoàn tất
Hình 2.8: Quá trình hoàn thànhBây giờ vào thư mục lưu file ảnh sẽ thấy VMware sẽ tại ra các file hệ thống và các file ảnh tương ứng với các ổ đĩa của máy ảo
Trang 24Hình 2.9: File ảnh máy ảo
2.3 CÀI ĐẶT CENTOS 7
ầu tiên tải phiên bản CentOS mới nhất về hiện tại là CentOS 7 có file ISO tiến hành burn ra đĩa
Link tải file ISO CentOS 7
Sau khi chèn đĩa và khởi động máy tính Màn hình sau sẽ hiển thị, nhấn phím “Enter” để tiếp
tục
Chọn ngôn ngữ bạn muốn sử dụng trong quá trình cài đặt
Trang 25Đây là màn hình mặc định cho một số cấu hình cơ bản Trước tiên, đặt múi giờ, nhấp vào biểu
tượng “DATE & TIME“.
Nhấp vào một điểm trên bản đồ bạn muốn đặt múi giờ và nhấn nút “Done” ở phía trên bên
trái
Trang 26Trở lại màn hình mặc định Tiếp theo, nhấp vào biểu tượng “KEYBOARD“.
Nhấp vào nút “+” phía dưới bên trái để thêm một loại bàn phím khác cho ngôn ngữ của bạn.
Trang 27Chọn kiểu bàn phím của bạn và nhấp vào nút “Add“.
Sau khi thêm bố cục bàn phím, di chuyển ngôn ngữ bàn phím lên trên cùng cho ưu tiên thứ
nhất và nhấp vào nút “Done” ở trên bên trái để kết thúc.
Trang 28Trở lại màn hình mặc định Đối với “SOFTWARE SELECTION“, bạn có thể giữ mặc định
vì nó đã cài đặt tốt hơn với “Minimal Install” để cài đặt ban đầu Tiếp theo, nhấp vào biểu tượng “INSTALLATION DESTINATION“.
Chọn đĩa cài đặt Nhấp vào biểu tượng đĩa bạn muốn cài đặt và nhấp vào nút “Done” ở phía trên bên trái để tiếp tục Nếu bạn muốn tùy chỉnh bố cục phân vùng, hãy đánh dấu hộp “I will
Trang 29configure partitioning” và tiếp tục.
Trở lại màn hình mặc định hãy nhấp vào biểu tượng “NETWORK & HOSTNAME“.
Nhập bất kỳ tên máy chủ nào bạn thích trong trường “Hostname” và nhấp vào nút “ON” ở
phía trên bên phải để cho phép kết nối mạng
Trang 30Nhấp vào nút “Done” ở phía trên bên trái để kết thúc.
Nếu đã thấy OK, nhấn “Begin Installation” và tiếp tục.
Trang 31Quá trình cài đặt bắt đầu, yêu cầu thiết lập mật khẩu Root và tạo ra một người dùng thông thường Nhấp vào mỗi biểu tượng và di chuyển đến cấu hình.
Trên cài đặt mật khẩu Root, nhập mật khẩu bạn muốn và nhấp vào nút “Done” để kết thúc.
Trang 32Trên cài đặt người dùng phổ biến, nhập bất kỳ tên người dùng và mật khẩu mà bạn muốn và
nhấp vào nút “Done” để kết thúc.
Sau khi hoàn tất cài đặt, nhấn vào nút “Reboot”
Trang 33Sau khi khởi động lại, nhắc nhở đăng nhập được hiển thị như sau Đăng nhập với người sử dụng Root và mật khẩu bạn thiết lập trong quá trình cài đặt Cài đặt CentOS 7 hoàn tất nếu bạn đăng nhập bình thường.
2.4 CÀI ĐẶT AAPANEL:
aaPanel hổ trợ nhiều hệ điều hành, và việc cài đặt thì tương tự nhau chỉ cần chạy command có
sẵn trên trang chủ Remote vào vps (dùng putty hoặc terminal nếu bạn sài linux
hoặc macbook)
Trên Linux/Mac dùng lệnh sau : ssh root@ipaddressofvps
Trang 34sau đó chạy command sau, lấy từ trang chủ
1# wget -O install.sh http://www.aapanel.com/script/install-ubuntu-en.sh && sudo bash install.sh
Trang 35Chọn y, sau 12 phút chờ đợi thì việc cài đặt củng hoàn thành, khá lâu so với chính chủ thông
báo trên aaPanel, tuy nhiên vps mình đang lab là vps VietNam có dịp mình sẽ test thử trên ps nước ngoài và update lại
Sau khi có thông tin rồi, tiến hành login vào control panel với thông tin output
Trang 37Và đây là giao diện sau khi login thành công.
1 Cài đặt web server với mô hình LNMP/LAMP
Sau khi cài đặt xong aaPanel thì login vào portal nó sẽ cho mình chọn cài đặt web server theo 2 mô hình chạy Apache hoặc là Nginx + php-fpm Theo cá nhân mình thì hiện tại wordpress củng như các opensource khác hoạt động tốt với mô hình Nginx + php-fpm Ở đây aaPanel củng đề nghị (suggest) mình dùng mô hình LNMP
Tiến hành chọn version của Software cần cài đặt Mình chọn latest version hết Như hình sau
Trang 38Điểm cộng tuyệt vời cho aaPanel là nó cho mình lựa chọn cài đặt software bằng cách compiled từ source code, và Speed có nghĩa là download các package được đóng gói sẵn bằng công cụ quản lý cài đặt như yum trên CentOS và apt-get trên Ubuntu Ở đây mình chọn compiled vì khi compiled mình có thể optimize được những module cần thiết và không cần thiết, nhằm tăng hiệu xuất của hệ thống hơn, mềm dẻo hơn (flexible) trong việc quản trị Cá nhân mình rất thích vụ compile này :D, và tất nhiên compile lúc nào củng sẽ lâu hơn là cài từ package có sẵn.
Xem kỹ lại lần nữa và nhấn vào One-click, lại một điểm cộng nữa là aaPanel mang cả output lên giao diện cho mình quan sát luôn, như hình bên dưới Điều hay nữa là phần server status được cập nhật realtime luôn, nhìn rất đã mắt
Có thể theo dõi các service, software đã và đang cài đặt bằng cách vào mục Software từ control panel, như hình bên dưới
Trang 39Nhìn cột bên trái sẽ thấy được trạng thái đã cài đặt rồi (Setting| Uninstall), chưa cài đặt
(install), đang cài đặt (installing) và cuối cùng là (Waiting for installing…) Khi nào toàn bộ status báo là (Setting| Uninstall) hết thì ta đã cài đặt thành công các services trong bộ cài đặt LNMP
Sau khi cài đặt xong bộ LNMP – (Linux nginx mysql php), ta sẽ thấy như sau
Trang 40III HƯỚNG DẪN QUẢN TRỊ AAPANEL
3.1: Upload dữ liệu.
Các bạn có thể upload thông qua FTP (nếu dung lượng nặng khoảng vài trăm MB => trên 1GB bạn nên sử dụng FTP để upload nhé) hoặc sử dụng trực tiếp trình Upload từ aaPanel theocác bước
Tại trang quản trị aaPanel => Website (1) => Vào đường dẫn cần upload (2)