Xây dựng hệ thống web hosting trên nền Linux
Trang 1TRUNG TÂM ĐÀO TẠO QUẢN TRỊ MẠNG & AN
NINH MẠNG QUỐC TẾ ATHENA
Trang 2LỜI CẢM ƠN 1
NHẬN XÉT CỦA GIÁO VIÊN 2
Links bài làm: 3
MỞ ĐẦU 4
I GIỚI THIỆU VỀ TRUNG TÂM 5
1 Lĩnh vực hoạt động chính 5
2 Đội ngũ giảng viên 5
3 Cơ sở vật chất 6
4 Dịch vụ hỗ trợ 6
5 Địa chỉ 6
II THỰC HIỆN ĐỀ TÀI 6
1 Thực hiện trên local 6
1.1 Cài đặt CentOS 6
1.2 Cài đặt các dịch vụ 15
1.2.1 SSH 15
1.2.2 FTP 20
1.2.3 Apache 21
1.2.4 PHP 23
1.2.5 Mysql thực hiện cài đặt MySQL Server 25
1.2.6 DNS 27
2 Triển khai cPanel trên Linux 30
2.1 Giới thiệu 30
2.2 Hệ thống thực tế 31
2.2.1 Đăng kí gói VPS 31
2.2.2 Đăng kí tên miền 31
2.3 Triển khai Cpanel 31
2.3.1 Cài đặt 31
2.3.2 Cấu hình 31
Trang 3LỜI CẢM ƠN
Trước hết em xin chân thành cảm ơn Thầy Võ Đỗ Thắng đã hướng dẫn,giúp đỡ trong suốt quá trình thực hiện để em có thể hoàn thành tốt đề tài: “Xâydựng hệ thống web hosting trên nền Linux”
Xin chân thành cảm ơn tất cả các thầy cô và các bạn thực tập ở TrungTâm Đào Tạo Quản Trị Mạng & An Ninh Mạng Quốc Tế Athena đã giúp đỡ vàtạo điều kiện cho em có thể hoàn thành tốt đề tài của mình, từ đó giúp em cóthêm nhiều kiến thức và chủ động tìm tòi hơn trong quá trình thực tập
Vì thời gian thực tập còn hạn chế cũng như kiến thức và kinh nghiệmcòn chưa được cập nhật nhiều nên đề tài không tránh khỏi những thiếu sót Emrất mong nhận được những ý kiến đóng góp của thầy cô và các bạn để giúp emtiếp tục hoàn thiện đề tài của mình
Một lần nữa em xin chân thành cảm ơn
Page 1
Trang 4NHẬN XÉT CỦA GIÁO VIÊN
Trang 5
Giáo viên hướng dẫn
Page 3
Trang 6Links bài làm :
CentOS 6.5:
65thc-tp-athena
Trang 7Chính vì vậy trong đồ án này em chọn đề tài về: “Xây dựng hệ thống webhosting trên nền Linux” Đây là hệ thống hosting sử dụng hệ điều hànhCentOS, một distro được tối ưu cho các hệ thống máy chủ, chạy trên máy chủảo(VPS), và sử dụng công cụ Cpanel để hỗ trợ quản lí.
Page 5
Trang 8I GIỚI THIỆU VỀ TRUNG TÂM
Trung Tâm Đào Tạo Quản Trị Mạng & An Ninh Mạng Quốc TếATHENA được thành lập từ năm 2004, là một tổ chức qui tụ nhiều trí thức trẻViệt Nam đầy năng động, nhiệt huyết và kinh nghiệm trong lãnh vực CNTT,với tâm huyết góp phần vào công cuộc thúc đẩy tiến trình đưa công nghệ thôngtin là ngành kinh tế mũi nhọn, góp phần phát triển nước nhà
Sau gần 10 năm hoat động, nhiều học viên tốt nghiệp trung tâmATHENA đã là chuyên gia đảm nhận công tác quản lý hệ thống mạng, an ninhmạng cho nhiều bộ ngành như Cục Công Nghệ Thông Tin – Bộ Quốc Phòng,
Bộ Công An, Sở Thông Tin Truyền Thông các tỉnh, bưu điện các tỉnh,
Ngoài chương trình đào tạo, Trung tâm ATHENA còn có nhiều chương
Trang 92 Đội ngũ giảng viên
Tất cả các giảng viên trung tâm ATHENA đều tốt nghiệp từ các trườngđại học hàng đầu trong nước như Đại Học Bách Khoa, Đại Học Khoa Học TựNhiên,… Tất cả giảng viên ATHENA đều phải có các chứng chỉ quốc tế nhưMCSA, MCSE, CCNA, CCNP, Security+, CEH, có bằng sư phạm Quốc tế(Microsoft Certified Trainer) Đây là các chứng chỉ chuyên môn bắt buộc để
đủ điều kiện tham gia giảng dạy tại trung tâm ATHENA
Bên cạnh đó, các giảng viên ATHENA thường đi tu nghiệp và cập nhậtkiến thức công nghệ mới từ các nước tiên tiến như Mỹ, Pháp, Hà Lan,Singapore,… và truyền đạt các công nghệ mới này trong các chương trình đàotạo tại trung tâm ATHENA
3 Cơ sở vật chất
Thiết bị đầy đủ và hiện đại
Chương trình cập nhật liên tục, bảo đảm học viên luôn tiếp cận vớinhững công nghệ mới nhất
Phòng máy rộng rãi, thoáng mát
4 Dịch vụ hỗ trợ
Đảm bảo việc làm cho học viên tốt nghiệp khoá dài hạn
Giới thiệu việc làm cho mọi học viên
Ngoài giờ học chính thức, học viên được thực hành thêm miễn phí,không giới hạn thời gian
Hỗ trợ kỹ thuật không giới hạn trong tất cả các lĩnh vực liên quan đếnmáy tính, mạng máy tính, bảo mật mạng
Hỗ trợ thi Chứng chỉ Quốc tế
5 Địa chỉ
Cơ sở 1: 92 Nguyễn Đình Chiểu, P.Đa Kao, Q.1
Điện thoại: (08)38244041 – 090 78 79 477 – 094 323 00 99 (Gần ngã tưĐinh Tiên Hoàng-Nguyễn Đình Chiểu)
Cơ sở 2: 2 Bis Đinh Tiên Hoàng, P.Đa Kao, Q.1
Điện thoại: (08)22103801 – 094 320 00 88 (Cạnh sân vận động Hoa Cách đài truyền hình Tp HTV 50 mét)
Lư-Page 7
Trang 10Website: http://athena.edu.vn – http://athena.com.vn
E-mail: support@athena.edu.vn – tuvan@athena.edu.vn
II THỰC HIỆN ĐỀ TÀI
1 Thực hiện trên local
1.1 Cài đặt CentOS
- Bước 1: Tải về file ISO ở địa chỉ:
http://isoredirect.centos.org/centos/6/isos/i386/
Trang 11- Bước 5: Lựa chọn ngôn ngữ cho bàn phím Ta chọn
U.S.English->Next.
- Bước 6: Chọn loại lưu trữ Nếu bạn cài CentOS trên ổ đĩa máy, chọn
“Basic Storage Devices” Nếu bạn cài trên một ổ đĩa trong mạng thì chọn “Specialized Storage Devices”.
Page 9
Trang 12- Bước 7: Khai báo hostname trong phần “Hostname” sau đó bấm Next.
- Bước 8: Chỉnh timezone Ta chọn là Asia/Ho Chi Minh -> Next.
Trang 13- Bước 9: Điền root password sau đó Next.
- Bước 10: Chọn kiểu partition ổ cứng Ta chọn Create Custom Layout sau đó Next.
Page 11
Trang 14- Bước 11: Tạo các partition cần thiết như swap, /boot và / bằng cách
chọn Create Khi tạo swap ở phần Size ta chọn dung lượng gấp đôi
dung lượng Ram mà máy ảo sử dụng, còn phần /boot và / thì có thể
chọn tuỳ ý Khi tạo xong ta chọn Next->Format->Write changes to disk.
Trang 16- Bước 12: Cài boot loader Next.
- Bước 13: Tuỳ chỉnh software packages Ở đây mình có thể check vào
Customize now để có thể cài đặt từng gói mà mình cần Hoặc ta có thể chọn Customize later để cài mặc định các gói có sẵn Sau đó Next.
Trang 17- Bước 14: Sau khi tiến hành cài đặt các gói phần mềm xong thì ta bấm
Reboot.
Page 15
Trang 18- Bước 15: Sau khi reboot xong sẽ hiện lên giao diện cho ta đăng nhậpvào Với localhost login là root, còn password là password lúc ta đặt ở
Ta có thể kiểm tra ssh đã được cài đặt chưa bằng dòng lệnh:
Trang 19- Cấu hình ssh server:
File dùng để cấu hình ssh server là /etc/ssh/sshd_config
Xem file cấu hình sshd_config với các option mặc định bằngcách nhập dòng lệnh
vi /etc/ssh/sshd_config
sau khi nhập dòng lệnh sẽ hiện ra thông tin
trên firewall hay tắt firewall
Page 17
Trang 20 Start sshd daemon
service sshd start
- SSH Client
Nếu muốn ssh với account khác root thì thêm vào option –lnhư sau:
[root@localhost ~]# ssh –l usera
192.168.1.102
usera@192.168.1.102’ s password:
maillog từ localhost sang thư mục /tmp của server
SecureCRT vào Sau khi cài xong và vào chương trình tachọn session để khai báo các thông số Sauk hi nhập thông số
sẽ hiện ra bảng
Trang 21Sau khi nhấp vào địa chỉ sẽ hiện ra bảng để nhập passwordnhư sau
cài xong chạy chương trình ta bấm vào Quick connect Ở đây
ta nhập Host Name là địa chỉ của server 192.168.1.102 ở trên.
User Name: root
- Cấu hình cho phép truy cập ssh server không yêu cầu nhập password
/etc/ssh/sshd_config
Page 19
Trang 22 Tạo key tại máy client: ssh-keygen –t rsa
Copy key của client lên server: scp –r /root/.ssh
192.168.1.102:/root/
thành authorized_keys bằng lệnh:
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
Trang 23 Truy cập ssh từ client: ssh 192.168.1.102
1.2.2 FTP
- FTP là gì? Biết một ít về phương thức truyền file FTP (file transferprotocol) và cách sử dụng nó sẽ giúp bạn dùng Internet nhanh và hiệuquả hơn Chạy trên port 21
- Cài đặt:
Đầu tiên ta kiểm tra xem máy đã cài đặt chưa bằng lệnh:
rpm –qa | grep httpd
Nếu chưa cài đặt thì ta có thể cài bằng lệnh:
yum install –y vsftpd Sau đó tiến hành cấu hình như sau:
vi /etc/vsftp/vsftpd.conf
Page 21
Trang 24Cấu hình các thông số FTP như sau:
listen=YESanonymous_enable=Nolocal_enable=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESdirmessage_enable=YES
xferlog_enable=YESconnect_from_port_20=YESTạo user kết nối FTP, do mặc định Linux không cho Root truy cập FTP:
useradd user1passwd user1 nhập pass lớn hơn 6 kí tựSau đó save lại và chạy dịch vụ:
service vsftpd start
Trang 251.2.3 Apache
- Apache là một phần mềm Web Server có nhiều tính năng 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 sourcecode đầy đủ với license không hạn chế Chạy được trên nhiều hệ điềuhành như Win9x, Netware 5.x, OS/2, Unix, Linux
mkdir /var/www/html/myweb
Page 23
Trang 26 Tạo một trang html:
vi /var/www/html/myweb/index.html
sau khi nhập đường dẫn ta bấm “i” để có thể nhập nội dungcủa file html Sau khi nhập xong ta có thể bấm “:x” để thoát
ra và lưu nội dung lại
vi /etc/httpd/conf/httpd.conf
ta có thể sửa một số nội dung như sau
kết nối
DocumentRoot “/var/www/html” #Thư mục gốc của webserver
Sau đó ta phải tắt firewall:
service iptables stop
Trang 28- Kiểm tra:
1.2.5 Mysql thực hiện cài đặt MySQL Server
MySQL server là gì? MySQL là phần mềm quản trị cơ sở dữ liệu mãnguồn mở, miễn phí, ổn đinh và có tính an toàn cao, nằm trong nhóm
Trang 29người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau Do làphần mềm miễn phí, có tính ổn định và an toàn cao nên hiện nay trong
số các website có lượng truy cập lớn nhất thế giới, rất nhiều website sử
- Cài đặt, cấu hình và kiểm tra gói MySQL:
Rpm –qa | grep mysqld
- Tiến hành cài đặt MySQL (nếu chưa được cài đặt):
Yum install –y mysql*
- Khởi động mysqld:
Service mysqld start
Page 27
Trang 30- Sau khi cài đặt, thay đổi mật khẩu cho user root (nếu chưa đổi) bởi câulệnh:
mysqladmin –u root password ‘123456’ (với ‘123456’ là mật khẩu mới)
- Cài đặt để mysqld khởi động cùng với hệ thống:
chkconfig mysqld on
- Làm việc với Mysql như sau:
mysql –p #đăng nhập vào mysql show databases; # hiện danh sách DBcreate database DBnew # tạo một DB mới có tên là DBnew
quit # thoát
Trang 31bind-devel-*.rpm
bind-chroot-*.rpm
Hoặc
yum install -y bind*
- Đặt lại tên máy Vào file /etc/sysconfig/network Ví dụ ở đây ta đặt tênnhư sau:
- Tạo file cấu hình named.conf đặt trong đường dẫn
/var/named/chroot/etc/named.conf có nội dung như sau (phần tuỳ chọnkhông nên thay đổi):
Trang 32/* Path to ISC DLV key */
Trang 33vi /var/named/forward.zone: Cấu hình cho phân giải thuận
2 Triển khai cPanel trên Linux
- CPanel là một trong những phần mềm quản trị hosting hiện đại, chuyên nghiệp nhất ngày nay Ưu điểm lớn nhất của Cpanel chính là ở việc cài đặt, sử dụng và quản lý hầu như khá đơn giản, được tự động hóa nhiều tác vụ Ngoài ra còn có DirectAdmin, VistaPanel
Page 31
Trang 34II.2 Hệ thống thực tế
II.2.1 Đăng kí gói VPS
Ta sử dụng dịch vụ của Digital Ocean do giá thành rẻ, hiệu năng tốt
do chạy ổ cứng SSD
II.2.2 Đăng kí tên miền
Hiện nay có nhiều trang cung cấp tên miền như:
- Trỏ về nameserver của VPS (cần triển khai DNS cho VPS)
II.3.1 Cài đặt
- Cài wget: yum install wget
- Cài đặt perl, gcc trên VPS hay Máy chủ:
yum -y install perl gcc
cd /home/
Trang 35- Sau khi cài đặt, admin truy cập vào giao diện quản lí:
điạ chỉ ip:2087
- Giao diện cài đặt ban đầu hiện ra, chọn : I agree go to Step 2
Page 33
Trang 36- Khai báo DNS server cho VPS, giúp hệ thống phân giải tên miền
- Bước này khai báo các địa chỉ ip trong hệ thống mạng
Trang 37- Khai báo cặp nameserver, đây là cặp điạ chỉ giúp khách hàng trỏ domain riêng của họ về VPS
- Tiếp theo cài đặt các dịch vụ FTP, DNS, Mail Server
- Mặc định hệ thống Cpanel sẽ chọn các dịch vụ có sẵn củaCentOS
Page 35
Trang 38- Chọn use File System Quotas, dịch vụ quản lí dung lượng đĩa vàFinnis để kết thúc quá trình cấu hình ban đầu
- Giao diện quản lí
Trang 39- Giao diện WHM sau khi cấu hình
- Khai báo zone tên domain đã đăng ký trước đó và trỏ về IP VPS
Page 37
Trang 40- Tiến hành tạo các gói host cho user các gói host này sẽ có
subdomain dạng: userX.Domainchinh.info, khách hàng có thể sử dụng domain riêng trỏ về VPS qua cặp nameserver
Trang 41- Tiến hành kiểm tra dịch vụ FTP cho host user1, khi kết nối thành công, ta upload dữ liệu web lên host
Page 39
Trang 42- Tiếp theo, user1 đăng nhập vào giao diện quản lí Cpanel qua địa chỉ:
Địa chỉ ip.info:2083
Trang 43- Tạo Database cho web
Page 41
Trang 45- Kết nối web với database
Page 43
Trang 46- Như vậy Web của user1 đã chạy thành công
- Làm tương tự với user2, ta có 2 web của 2 khách hàng cùng chạythành công trên VPS