đỉ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ữ .
Trườ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 Cloud Sever 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 MỤC LỤC LỜI NÓI ĐẦU .5 LỜI CẢM ƠN .3 WEBHOSTING I: TỔNG QUAN HỆ THỐNG WEB HOSTING 1.1 WEB HOSTING 1.2 HỆ ĐIỀU HÀNH QUẢN LÝ HOSTING .6 1.3 RAID SERVER .6 Các loại Raid chuẩn 1.3.1 Raid .6 1.3.2 Raid .7 1.3.3 Raid 1.3.4 Raid .8 1.3.5 Raid .9 1.3.6 Raid 10 1.3.7 Raid 10 Các Raid không tiêu chuẩn .11 1.4 PHẦN MỀM WEB SERVER 12 IIS làm ? 13 1.5 DNS SERVER .13 Giới thiệu DNS 13 Tên miền gì? .13 1.5.1 Tên miền mức cao 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 21 2.4 CÀI ĐẶT AAPANEL: 30 III HƯỚNG DẪN QUẢN TRỊ AAPANEL 37 3.1: Upload 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 CentOS .44 Cài đặt Apache 45 Cà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 người dùng .49 Đổi tên người dùng 50 Cấp đặc quyền 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 quản trị viên bị 51 Ứng dụng sách mật người dùng .52 2.2 Xác thực người dùng IMAP, SMB FTP 53 IMAP 53 SMB 54 FTP 54 2.3 Xác thực người dù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 .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 XML 64 người dùng / người sử dụng .65 Thí dụ 65 Đầu 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 Chia sẻ Liên kết 68 Định cấu hình máy chủ Nextcloud đáng tin cậy 69 Tạo Chia sẻ Liên kết thông qua Chia sẻ Liên kết Công khai 70 Mẹo cấu hình .72 2.6 Tải lên 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 thử nghiệm hỗ trợ MS Word 74 Xử lý 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 nhớ ngồi (GUI) 76 Bật hỗ trợ nhớ 76 Cấu hình lưu trữ 77 2.9 Chuyển đổi loại sở liệu 78 Chạy chuyển đổi 78 2.10 Cấu hình sở liệu .79 Yêu cầu 79 MySQL / MariaDB với tính ghi nhật ký nhị phân bật 79 Thông số 80 Cấu hình sở liệu MySQL MariaDB 80 Cơ sở liệu PostgreSQL 81 2.12 Cách nâng cấp máy chủ Nextcloud bạn .84 Điều kiện tiên 84 2.13 Nâng cấp Nextcloud từ gói 85 Nâng cấp Quickstart 85 Cài đặt 85 Lần đăng nhập 85 2.14 Nâng cấp Nextcloud Ứ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ý cố 91 LỜI NÓI ĐẦU Với cơng nghệ phát triển hiên nhu cầu phát triển web lưu trữ dám mây phát triển đồng thời kéo theo nhiều dịch vụ cung cấp , có dịch vụ cung cấp Web Hosting , SeverCloud phát triển Việt Nam Vì cơng nghệ khơng ngừng phát triển sở liệu ngày lớn cho thấy mức phát triển lớn, để đáp ứng nhu cầu người dùng cần có phận nhà cung cấp làm cầu nối hỗ trợ đưa thông tin đến tất người khơng gian an tồn bảo mật để lưu giữ thơng tin cho các nhân doanh nghiệp Trên tình hình thực tế chúng em triển khai đề tài xây dựng hệ thống Web Hosting Cloud Sever để phục vụ nhu cầu phát triển websize lưu trữ LỜI CẢM ƠN Trong suốt thời gian năm học tập rèn luyện Trường Cao Đẳng KTCN Việt Nam- Hàn Quốc nay, chúng em nhận nhiều quan tâm, giúp đỡ q Thầy Cơ bạn bè Với lịng biết ơn sâu sắc chân thành nhất, em xin gửi đến quý Thầy Cô Khoa Công Nghệ Thông Tin – Trường Trường Cao Đẳng KTCN Việt Nam- Hàn Quốc với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Và đặc biệt, học kỳ này, Khoa tổ chức cho chúng em tiếp cận thực hiên đề tài tốt nghiệp sau năm học tập chăm trường Đó đề tài “ Thiết kế hệ thống Web hosting Cloud Sever ” Em xin chân thành cảm ơn thầy cô tận tâm hướng dẫn chúng em qua buổi học lớp buổi nói chuyện, thảo luận lĩnh vực internet ứng dụng internet đời sống Đặc biệt thạc sĩ HỒ VIẾT HƯỚNG quan tâm, hướng dẫn chúng em thực đề tài Em xin bày tỏ lòng biết ơn đến ban lãnh đạo Trường Cao Đẳng KTCN Việt NamHàn Quốc Khoa Phòng ban chức trực tiếp gián tiếp giúp đỡ em suốt trình học tập nghiên cứu đề tài Với điều kiện thời gian kinh nghiệm hạn chế học viên, báo cáo khơng thể tránh thiếu sót Em mong nhận bảo, đóng góp ý kiến q thầy để chúng em có điều kiện bổ sung, nâng cao kiến thức mình, phục vụ tốt công tác thực tế sau Chúng em xin chân thành cảm ơn WEBHOSTING I: TỔNG QUAN HỆ THỐNG WEB HOSTING 1.1 WEB HOSTING Web Hosting (hay lưu trữ web) gì? Web Hosting nơi lưu trữ tất trang Web, thông tin, tư liệu, hình ảnh Website máy chủ Internet, Web Hosting đồng thời nơi diễn tất hoạt động giao dịch, trao đổi thông tin Website với người sử dụng Internet hỗ trợ phần mềm Internet hoạt động Các yêu cầu tính cần thiết web Hosting? - Đầu tiên phải nói đến 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 liệu - Máy chủ phải 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 rủi ro mặt kỹ thuật bảo mật - Web Hosting phải có dung lượng đủ lớn (tính theo MBytes) để lưu giữ đầy đủ thơng tin, liệu, hình ảnh, Website - Phải có bandwidth (băng thơng) đủ lớn để phục vụ hoạt động giao dịch, trao đổi thông tin Website - Phải hỗ trợ truy xuất máy chủ giao thức FTP để cập nhật thông tin - Hỗ trợ các ngôn ngữ lập trình sở liệu để thực thi phần mềm Internet công cụ viết sẵn để phục vụ hoạt động giao dịch Website gửi mail, upload qua trang Web, quản lý sản phẩm, tin tức - Hỗ trợ đầy đủ dịch vụ E-mail POP3 E-mail, E-mail Forwarding, DNS - Có giao diện quản lý Web Hosting để dễ dàng quản lý website, tài khoản FTP, Email - Không bị chèn banner quảng cáo nhà cung cấp Dung lượng Web Hosting? Dung lượng web hosting khoảng không gian phép lưu trữ liệu ổ cứng máy chủ Như nói trên, thuê web hosting giống thuê văn phòng nhà cao ốc Vậy đây, dung lượng web hosting giống diện tích văn phịng Băng thơng Web Hosting? Băng thơng web hosting lượng liệu (tính MBytes) trao đổi website với người sử dụng tháng Ví dụ tải lên website tệp tài liệu có kích thước 1MB có 100 khách hàng tải tệp tài liệu ta tiêu tốn tổng cộng 101MB băng thơng FTP gì? FTP viết tắt cụm từ File Transfer Protocol - giao thức truyền tệp tin mạng Internet Khi máy chủ hỗ trợ FTP, ta sử dụng phần mềm FTP (FTP Client) để kết nối với máy chủ tải lên tệp tin liệu cập nhật website cách dễ dàng Các ngơn ngữ lập trình web phổ biến? - PHP: Được chạy máy chủ Linux 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 sở liệu MySQL, PHP trở thành ngơn ngữ lập trình web phổ biến - ASP: Chạy máy chủ Windows, thường sử dụng sở liệu Access, Microsoft phát triển nhắm vào đối tượng ứng dụng văn phòng - ASP.NET: Chạy máy chủ Windows Được Microsoft xây dựng tảng NET, kết hợp với sở liệu MSSQL Server khiến cho ASP.NET trở nên địch thủ đáng gờm ngơn ngữ lập trình web - JSP, CGI, Python: Chạy máy chủ Windows Linux Đã đình đám thời Tuy nhiên khơng cịn phổ biến Hosting Controller hay Cpanel gì? Là phần mềm web kèm với gói hosting hỗ trợ cho khách hàng chủ động quản lý cấu hình gói hosting Phần mềm cung cấp tính quản lý thư mục, database, backup liệu, sub-domain, Sacomtec sử dụng phần mềm HC7C Hosting Controller giúp khách hàng quản lý gói hosting cách hiệu nhanh chóng Sử dụng OS Windows hay Linux? Việc sử dụng Hosting tảng Windows hay Linux băn khoăn với nhà cung cấp dịch vụ, lẽ khơng kinh nghiệm khơng thể quản lý hết nhiều công nghệ ông trùm giới - 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 Hệ điều hành: Windows Server Quả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 Community ENTerprise Operating System) phân phố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 số quyền tương tự) Red Hat CentOS dựa tảng Red Hat Enterprise Linux 4, hỗ trợ dòng x86 (i586 i686), dòng x86_64 (AMD64 Intel EMT64), cấu trúc IA64, Alpha, S390 S390x Các công nghệ Windows Server 2008 1.3 RAID SERVER Xây dựng hệ thống raid cho Server công việc quan trọng IT quản trị hệ thống mạng máy tính Tùy vào quy mơ ứng dụng Server mà ta xây dựng hệ thống Raid cho phù hợp ổn định dựa yếu tố tốc độ, an tồn liệu, tính linh hoạt thay bảo trì Các loại Raid chuẩn 1.3.1 Raid RAID cấp độ bản: Các liệu cần chứa hệ thống RAID phân tách thành hai phần để chứa tối thiểu hai ổ cứng khác Một cách đơn giản nhất, ta hiểu theo ví dụ sau: Có hai ổ cứng: Ổ ổ (trong tin học thường đánh số thứ tự số - điều khác thường tư bạn, bạn muốn hiểu chấp nhận vậy), với liệu mang nội dung A (có thể phân tách thành hai phần liệu A1 A2) ghi lại hai đĩa: Đĩa ký tự liệu A1 đĩa chứa liệu A2 Khi đọc liệu A đồng thời hai ổ cứng hoạt động, lấy liệu A1 A2 ổ cứng Hệ điều hành tiếp nhận nguyên vẹn nội dung liệu A ghi vào Hình 1.7: Mơ hình Raid Qua ví dụ nhận thấy tốc độ đọc ghi liệu hệ thống RAID tăng lên gấp đôi (cùng thời điểm đọc ghi hai ổ cứng vật lý khác nhau) Do RAID phù hợp với hệ thống máy chủ, máy tính game thủ khó tính máy tính phục vụ việc đọc/ghi liệu với băng thông cao Ở máy chủ, ta biết việc truy cập liệu để phục vụ người truy xuất tiến hành đồng thời (ví dụ bạn truy cập vào máy chủ chứa nôi dung blog này, thấy thời điểm khơng có bạn, mà cịn có nhiều người khác tham gia truy cập, máy chủ có ổ cứng việc truy cập chậm) Cũng ví dụ trên, xảy hư hỏng hai ổ cứng Câu trả lời liệu hết, liệu tách ghi hai đĩa không theo dạng hồn chỉnh Trong ví dụ trên, cịn chữ A1 (hoặc A2) hệ thống khơng thệ nhận biết xách đầy đủ liệu ghi vào A Vậy đặc điểm RAID làm tăng băng thông đọc/ghi liệu, làm tăng khả rủi ro liệu hư hỏng ổ cứng 1.3.2 Raid RAID cấp độ Từ nguyên lý RAID0 RAID giải thích cấp độ RAID khác RAID kết hợp hai ổ cứng liệu ghi đồng thời hai ổ cứng Lặp lại ví dụ trên: Nếu liệu có nội dung A phân tách thành A1, A2 RAID ghi nội dung A ghi đồng thời hai ổ cứng ổ cứng (xem hình RAID 1) Để tiến hành chuyển đổi thành công, bạn phải nhập yeskhi nhắc với câu hỏiContinue with the conversion? Khi thành cơng, trình chuyển đổi tự động định cấu hình sở liệu cấu hình Nextcloud bạn 2.10 Cấu hình sở liệu Nextcloud yêu cầu sở liệu liệu quản trị lưu trữ Các sở liệu sau hỗ trợ: • • • MySQL / MariaDB PostgreSQL Oracle Cơ sở liệu MySQL MariaDB công cụ sở liệu khuyến nghị Yêu cầu Chọn sử dụng MySQL / MariaDB PostgreSQL, sở liệu bạn yêu cầu bạn cài đặt thiết lập phần mềm máy chủ trước Ghi Các bước để định cấu hình sở liệu bên thứ ba nằm phạm vi tài liệu Vui lòng tham khảo tài liệu lựa chọn sở liệu cụ thể bạn để hướng dẫn MySQL / MariaDB với tính ghi nhật ký nhị phân bật Nextcloud sử dụng TRANSACTION_READ_COMMITTEDcách ly giao dịch để tránh liệu tình tải cao (ví dụ: cách sử dụng ứng dụng khách đồng với nhiều khách hàng / người dùng nhiều hoạt động song song) Điều yêu cầu ghi nhật ký nhị phân bị vơ hiệu hóa định cấu hình xác sử dụng MySQL MariaDB Hệ thống bạn bị ảnh hưởng bạn thấy thông tin sau tệp nhật ký trình cài đặt cập nhật Nextcloud: Một ngoại lệ chưa xử lý ném ra: ngoại lệ 'PDOException' với thông báo 'SQLSTATE [HY000]: Lỗi chung: 1665 Không thể thực câu lệnh: ghi vào nhật ký nhị phân BINLOG_FORMAT = STATEMENT bảng sử dụng công cụ lưu trữ giới hạn cho hàng- ghi nhật ký dựa InnoDB bị giới hạn việc ghi nhật ký hàng mức cách ly giao dịch ĐỌC CAM KẾT ĐỌC KHÔNG ĐƯỢC ĐỀ XUẤT ' Có hai giải pháp Một vơ hiệu hóa ghi nhật ký nhị phân Ghi nhật ký nhị phân ghi lại tất thay đổi sở liệu bạn thay đổi Mục đích ghi nhật ký nhị phân cho phép chép hỗ trợ hoạt động lưu Cách khác thay đổi BINLOG_FORMAT = STATEMENT tệp cấu hình sở liệu bạn tập lệnh khởi động sở liệu bạn, thành BINLOG_FORMAT = MIXED Xem Tổng quan Nhật ký nhị phân Nhật ký nhị phân để biết thông tin chi tiết 79 Thông số Để thiết lập Nextcloud để sử dụng sở liệu nào, sử dụng hướng dẫn Trình hướng dẫn cài đặt Bạn khơng cần phải chỉnh sửa giá trị tương ứng config/config.php Tuy nhiên, trường hợp đặc biệt (ví dụ: bạn muốn kết nối phiên Nextcloud với sở liệu tạo cài đặt Nextcloud trước đó), cần phải sửa đổi số Cấu hình sở liệu MySQL MariaDB Nếu bạn định sử dụng sở liệu MySQL MariaDB, đảm bảo điều sau: • • Đó bạn cài đặt kích hoạt tiện ích mở rộng pdo_mysql PHP Điều mysql.default_socket trỏ đến ổ cắm (nếu sở liệu chạy máy chủ với Nextcloud) Ghi MariaDB tương thích ngược với MySQL Tất hướng dẫn làm việc cho hai Bạn không cần phải thay mysql thứ Cấu hình PHP /etc/php5/conf.d/mysql.inicó thể trơng này: # configuration for PHP MySQL module extension=pdo_mysql.so [mysql] mysql.allow_local_infile=On mysql.allow_persistent=On mysql.cache_size=2000 mysql.max_persistent=-1 mysql.max_links=-1 mysql.default_port= mysql.default_socket=/var/lib/mysql/mysql.sock # Debian squeeze: /var/run/mysqld/mysqld.sock mysql.default_host= mysql.default_user= mysql.default_password= mysql.connect_timeout=60 mysql.trace_mode=Off 80 Bây bạn cần tạo người dùng sở liệu sở liệu cách sử dụng giao diện dịng lệnh MySQL Các bảng sở liệu Nextcloud tạo bạn đăng nhập lần Để bắt đầu chế độ dòng lệnh MySQL, sử dụng: mysql -uroot -p Sau đó, lời nhắc mysql> MariaDB [root]> xuất Bây nhập dịng sau xác nhận chúng phím enter: CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS nextcloud; GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost' IDENTIFIED BY 'password'; Bạn khỏi lời nhắc cách nhập: quit Một phiên Nextcloud cấu hình MySQL chứa tên máy chủ mà sở liệu chạy, tên người dùng mật hợp lệ để truy cập tên sở liệu Do đó, config/config.phpđược tạo Trình hướng dẫn cài đặt chứa mục nhập sau: