BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đề tài:
Xây dựng hệ thống web-hosting trên linux
Hồ chí minh 6/2015
WIN 8 64BIT
7
Trích Yếu
Với công nghệ phát triển như hiên nay thì nhu cầu phát triển web 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 hosting 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.
Trong thời gian thực tập 12 tuần từ ngày 17/04/2014 đến ngày 30/6/2014 tôi đã làm việc
tại bộ phận kỹ thuật ,để hoàn thanh đồ án xây dựng và quản trị hệ thống web hosting trên nền
linux, đây quả là một công viech hoàn toàn thú vị và mang tính thực tiển rất cao, có áp dụng vào
thực tế nhiều nên tôi được tiếp xúc các kiên thưc mà hoàn toàn mới như các phần mềm ứng dụng
và quản trị whm, whmcs… .Quá trình làm việc tài đấy giúp tôi có điều kiện cọ sát thực tế ,có
nhiều kinh nghiêm và thấy được những thiếu sót của chính tôi để tự hoàn thiện mình hơn. Hơn
thế nữa, tôi có cơ hội phát triển thêm kỹ năng của mình đối với chuyên nghành mà tôi đang theo
đuổi.
WIN 8 64BIT
8
Mục lục
Trích yếu ..........................................................................................................................................I
Mục Lục .........................................................................................................................................II
Lời cảm ơn ....................................................................................................................................III
Nhận xét của người hướng dẫn .....................................................................................................IV
Nhập đề...........................................................................................................................................V
Giới thiệu cơ quan thực tập ..........................................................................................................VI
1. Domain name system
1.1 Cài đặt ...........................................................................................................................7
1.2 Cấu hình ........................................................................................................................7
2. File Transfer Protocol
2.1 Cài đặt .........................................................................................................................11
2.2 Cấm user login ............................................................................................................13
2.4 Thay đổi thư mục mặc định ........................................................................................13
2.5 Cho user anonymous uploap .......................................................................................14
2.6 Cho user truy cập vào bên trong /Home .......................................................................14
3. Apache
3.1 Cài đặt httpd cơ bản ....................................................................................................15
3.2 Cài đặt phần hỗ trợ Perl Script.....................................................................................18
3.3 Cài đặt PHP .................................................................................................................20
3.4 Cài đặt Mysql ..............................................................................................................22
3.5 Cấu hình alias cho website...........................................................................................24
3.6 Enable Userdir ............................................................................................................25
3.7 Name based virtual hosting..........................................................................................28
3.8 Chứng thực .................................................................................................................30
WIN 8 64BIT
9
3.9 Config SSL .................................................................................................................32
4. Giám sát hệ thống
4.1 log analyzer với Vistors ..............................................................................................36
4.2 log analyzer với Awstats .............................................................................................37
5. WHM/cpanel
5.1 Giới thiệu ....................................................................................................................39
5.2 Cài đặt WHM/cpanel ..................................................................................................39
5.2.1 Chuẩn bị .......................................................................................................39
5.2.2 Cài đặt ..........................................................................................................40
5.2.3 Cách truy cập vào WHM..............................................................................40
5.2.4 Thiết lập thông số cho WHM........................................................................40
5.3 Cpanel cho user
5.3.1 Hướng dẫn đăng nhập .................................................................................46
5.3.2 Quản lý domain ...........................................................................................47
5.3.2.1 Sub domain ...................................................................................47
5.3.2.2 parked domain ...............................................................................48
5.3.2.3 Addon domain ...............................................................................48
5.3.3 Quản lý file .................................................................................................49
5.3.3.1 File Manager .................................................................................50
5.3.3.2 Disk space Usage ..........................................................................51
5.3.3.3 FTP account ..................................................................................52
5.3.4 Quản lý CSDL .............................................................................................53
5.3.4.1 Khởi tạo Mysql .............................................................................53
5.3.4.2 Phpmyadmin .................................................................................55
5.3.5 Email ...........................................................................................................56
WIN 8 64BIT
10
5.3.5.1 Quản lý account mail ....................................................................55
5.3.5.2 Webmail ........................................................................................57
5.4 WHM Cho người quản trị ...........................................................................................57
5.4.1 Xem thông tin server ....................................................................................57
5.4.2 Change Root Password ................................................................................58
5.4.3 Cấu hình thông số cho server .......................................................................58
5.4.4 Change hostname ........................................................................................58
5.4.5 Change DNS ...............................................................................................59
5.4.6 Tạo các gói Package ...................................................................................59
5.4.7 Tạo User cho khách hàng ...........................................................................60
5.4.8 Xem danh sách các tài khoản ......................................................................61
5.4.9 Xem băng thông sử dụng..............................................................................61
5.4.10 Bắt buộc tài khoản thay đổi mật khẩu .......................................................62
5.4.11 Giới hạn băng thông sử dụng ....................................................................62
5.4.12 Mange plugins ...........................................................................................63
5.4.13 Thêm xoá sửa bản ghi DNS .......................................................................64
6.Hỗ trợ
6.1 Cấu hình và cài đặt CSF...............................................................................................65
6.2 Cấu hình mod_security ...............................................................................................67
6.3 Cấu hình Nginx làm reverse proxy .............................................................................70
Tài liệu tham khảo .......................................................................................................................VII
Kết quả đạt được tại trung tâm ...................................................................................................VIII
WIN 8 64BIT
11
Lời Cảm Ơn
Em xin chân thành cám ơn trường Đại Học Hoa Sen và khoa Khoa Học Công Nghệ đã tạo điều
kiện cho em hoàn thành tốt đợt thực tập tốt nghiệp này. Em xin chân thành cảm ơn Ban giám đốc Trung
Tâm Đào Tạo Quản Trị Mạng & An Ninh Mạng Quốc Tế Athena, thầy Võ Đỗ Thắng và toàn thể các anh
chị trong công ty đã tận tình giúp đỡ em trong thời gian thực tập vừa qua. Trong đợt thực tập này đã cho
em những kinh nghiệm quý báo. Những kinh nghiệm đó sẽ giúp em hoàn thiện hơn trong công việc và
môi trường làm việc sau này.
Em củng xin cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy và trang bị cho em những kiến
thức cần thiết và hỗ trợ cho em rất nhiều để hoàn thành đề tài này,
Mặc dù em đã có gắn hoàn thành báo cáo thực tập tốt nghiệp với tất cả nỗ lực của bản thân,
nhung do trình độ hiểu biết và kinh nghiệm thực tế chắc chắn không tranh khỏi những thiếu sót nhất định,
rất mong nhận được sự thông cảm , chia sẻ và tận tình để em hoàn thành bản báo cáo thực tập tốt nghiệp
tốt hơn.
Một lần nữa em xin chân thành cảm ơn.
Hồ Chí Minh, Ngày …. Tháng… Năm 2014
Sinh viên thực tập
Nguyễn Hữu Hoàng
WIN 8 64BIT
12
Giới thiệu cơ quan thực tập
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ông tin là ngành kinh tế mũi nhọn, góp phần phát triển nước nhà .
Lĩnh vực hoạt động chính:
Trung tâm ATHENA đã và đang tập trung chủ yếu vào đào tạo chuyên sâu quản trị
mạng, an ninh mạng, thương mại điện tử theo các tiêu chuẩn quốc tế của các hãng nổi
tiếng như Microsoft, Cisco, Oracle, Linux LPI , CEH,... Song song đó, trung tâm
ATHENA còn có những chương trình đào tạo cao cấp dành riêng theo đơn đặt hàng của
các đơn vị như Bộ Quốc Phòng, Bộ Công An , ngân hàng, doanh nghiệp, các cơ quan
chính phủ, tổ chức tài chính..
Sau gần 10 năm hoạt động,nhiều học viên tốt nghiệp trung tâm ATHENA đã là chuyên
gia đảm nhận công tác quản lý hệ thống mạng, an ninh mạ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 trình hợp tác và
trao đổi công nghệ với nhiều đại học lớn như đại học Bách Khoa Thành Phố Hồ CHính
Minh, Học Viện An Ninh Nhân Dân( Thủ Đức), Học Viện Bưu Chính Viễn Thông, Hiệp
hội an toàn thông tin (VNISA), Viện Kỹ Thuật Quân Sự ,......
WIN 8 64BIT
13
Đội ngũ giảng viên :
Tất cả các giảng viên trung tâm ATHENA có đều tốt nghiệp từ các trường đại học hàng
đầu trong nước .... 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ật kiế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 đào tạo tại trung tâm ATHENA
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ới những công nghệ mới
nhất.
Phòng máy rộng rãi, thoáng mát
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
Thực tập có lương cho học viên khá giỏi
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 thời hạn trong tất cả các lĩnh vực liên quan đến máy tính, mạng
máy tính, bảo mật mạng
Hỗ trợ thi Chứng chỉ Quốc tế.
Trụ sở và các chi nhánh:
Cơ sở 1: 92 Nguyễn Đình Chiểu, phường Đa Kao, Q1. Điện thoại: 090 78 79 477-094
323 00 99-(08)38244041(Gần ngã tư Đinh Tiên Hoàng - Nguyễn Đình Chiểu)
Cơ sở 2: 2 Bis Đinh Tiên Hoàng, phường Đa Kao, Q1. Điện thoại: 094 320 00 88 -
WIN 8 64BIT
14
(08)22103801(Cạnh sân vận động Hoa Lư - Cách đài truyền hình Tp HTV 50 mét)
Liên hệ:
Website: http://athena.edu.vn - http://athena.com.vn
E-mail :
[email protected] -
[email protected]
Nhập Đề
Trong quá trình thực tập tại Trung Tâm Quản trị mạng Athena tôi đã làm việc như một
nhân viên của công ty , và quan sát cách mọi người làm việc và làm việc để học hỏi và
rút kinh nghiệm, đồng thời trong thời gian 12 tuần thực tập tại công ty tôi còn hoàn thành
các mục tiêu của nhà trường trong đợt thực tập tốt nghiệp đó là :
Mục tiêu 1: Vận dụng các kiến thức đã học vào các công việc thực tế tại công ty.
Mục tiêu 2: Nâng cao khả năng giao tiếp ứng xử trong các môi quan hệ tại công ty.
Mục tiêu 3: Hội nhập vào môi trường làm việc thực tế và tiếp xúc các vấn đề của công
việc
Ngoài những mục tiêu của nhà trường đưa ra thì tôi còn đặt ra những mục tiêu riêng của b
ản thân đó là:
Mục tiêu 1: Rèn luyện kỹ năng giao tiếp, ứng xử, tiếp xúc với đồng nghiệp
Mục tiêu 2: Nâng cao kỹ năng làm việc nhóm của bản thân.
Mục tiêu 3: Rèn luyện kiến thức và kỹ năng trong môi trường làm việc quốc tế
Mục tiêu 4: Hoàn thành tốt công việc của mình được giao
Mục tiêu 5: Áp dụng những kiển thức đã học vào quá trình làm việc tại công ty.
WIN 8 64BIT
15
DNS (Domain Name System)
Mục đích của việc cài đặt DNS để phân giải từ dãy số IP sang một tên miền dễ nhớ và
ngược lại.
Step 0 : mount /dev/cdrom /media/
Step 1: Cài các gói
yum –y install bind bind-chroot
Step 2: Tạo Zone file named.conf vào thư mục /var/named/chroot/etc
File named.conf cấu hình như sau :
acl mynet {
192.168.1.0/24;
127.0.0.1;
};
options {
allow-transfer {none;};
directory "/var/named";
query-source port 53;
query-source-v6
port 53;
dump-file
"var/named/data/cache_dump.db";
statistics-file
"var/named/data/named_stats.txt";
memstatistics-file
"var/named/data/named_mem_stats.txt";
WIN 8 64BIT
16
notify
yes;
};
zone "." IN {
type hint;
file "named.root";
};
zone "hoasen.com" IN {
type master;
file "hoasen.db";
};
zone "localhost" IN {
type master;
file "localhost.db";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.in-addr.arpa.db";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "1.168.192.in-addr.arpa.db";
};
Step 3: Tạo Forward Zone file hoasen.db , sau đó đưa vào thư mục
/var/named/chroot/var/named/
WIN 8 64BIT
17
+ File cấu hình file hoasen.db
$TTL 86400
@
IN SOA
web.hoasen.com. root (
42
; serial (d. adams)
3H
; refresh
15M
; retry
1W
; expiry
1D )
; minimum
IN NS
web.hoasen.com.
IN A
192.168.1.100
web
IN A
192.168.1.100
www
IN CNAME
web
#mail
IN CNAME
server1
#ftp
IN CNAME
server1
Step 4 : Tạo Reverse Zone file 1.168.192.in-addr.arpa.db , sau đó chép vào thư
mục /var/named/chroot/var/named/
+ Cấu hình file 1.168.192.in-addr.arpa.db
$TTL 86400
@
IN
SOA
web.hoasen.com.
root. (
3 ; serial
28800 ; refresh
7200 ; retry
WIN 8 64BIT
18
604800 ; expire
86400 ; ttk
)
@
IN
NS
web.hoasen.com.
100
IN
PTR web.hoasen.com.
Step 5: chkconfig named on && service named restart
+ Nếu gặp vấn đề khi khởi động DNS thì đánh lệnh này khi gặp câu thông báo :
“Generating /etc/rndc.key:”
+ Ta sữa lỗi này bằng lệnh : “ rndc-confgen –a –r /dev/urandom “
Step 6: Cấu hình card mạng DNS trỏ về chính nó
vi /etc/resolv.conf
nameserver 192.168.1.100 #chỉnh dns trở về chính nó
Step 7: Kiểm tra
Ping hoasen.com -> trả về ip 192.168.1.100 -> Thành công
WIN 8 64BIT
19
FTP (File Transfer Protocol)
FTP (viết tắt của File Transfer Protocol dịch ra là "Giao thức truyền tập tin") thường được dùng
để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet mạng ngoại bộ - hoặc intranet - mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy
chủ và một máy khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình
chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách chạy phần
mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy
chủ.
2.1.Cấu hình và cài đặt FTP server
Step 1: Cài đặt vsftpd
Yum –y install vsftpd
Step 2: Cấu hình vsftpd
vi /etc/vsftpd/vsftpd.conf
WIN 8 64BIT
anonymous_enable=NO
# không cho anonymous login
local_enable=YES
# Cho phép người dùng cục bộ login
write_enable=YES
# Cung cấp quyền ghi cho người dùng
xferlog_enable=YES
# Cho phép ghi log
xferlog_file=/var/log/vsftpd.log
# Nơi chứa file log
chroot_list_file=/etc/vsftpd/chroot_list
# list danh sách được kết nối
connect_from_port_20=YES
# sử dụng port 20 truyền data
userlist_enable=YES
# Những người dùng trong user_list bị cấm
ascii_upload_enable=YES
# bỏ dấu #
20
ascii_download_enable=YES
# bỏ dấu #
ls_recurse_enable=YES
# bỏ dấu #
local_root=public_html
# Chèn vào cuối dòng
use_localtime=YES
# Chèn vào cuối dòng
Step 3: Cấu hình cho phép user được phép move data
vi /etc/vsftpd/chroot_list
huuhoang
user2
Step 4: chkconfig vsftpd on && service vsftpd restart
+ setsebool -P ftp_home_dir on
Step 5: Gán quyền
chmod 0711 /home/huuhoang
mkdir /home/huuhoang/public_html
chown huuhoang /home/huuhoang/public_html
chmod 755 /home/huuhoang/public_html
Step 6: kiểm tra :
+ Thử dùng phần mềm và upload lên ftp server FileZilla
+ User: huuhoang /123456
+ upload file : onthinguphap.txt
WIN 8 64BIT
21
2.2 Cấm User login
Step 1: mở file cấu hình các user bị cấm ftp
Vi /etc/vsftpd/user_list
Nhập user cần cấm vào ví dụ : user huuhoang
Step 2: kiểm tra
2.3 Thay đổi thư mục mặc định pub
Step 1: Mở file vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
non_root=/nhanvien # thêm vào cuối file
WIN 8 64BIT
22
Step 2: Tạo các thư mục kiểm tra
mkdir /nhanvien
mkdir –p /nhanvien/{upload,download}
Step 3: Gán quyền
chown ftp /nhanvien/upload
chmod 777 –R /nhanvien/upload
Step 4: service vsftpd restart
2.4 Cho user anonymous upload
Step 1: Cấu hình file vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
# thêm vào 2 dòng dưới
anon_other_write_enable=YES
anon_umask=022
Step 2: service vsftpd restart
2.5 Chỉ cho User truy cập bên trong /Home
Step 1: Cấu hình file vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
Step 2: service vsftpd restart
WIN 8 64BIT
23
Apache
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối
thoại qua giao thức HTTP. Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft
Windows, Novell Netware và các hệ điều hành khác. Apache đóng một vai trò quan trọng trong
quá trình phát triển của mạng web thế giới (tiếng Anh: World Wide Web).
3.1 Cài đặt httpd cơ bản
Step 1: Kiểm tra có cài apache
rpm -qa | grep httpd
+ Nếu chưa thì cài hai gói sau :
rpm -hiv /media/Packages/httpd-2.2.15-15.el6.centos.i686.rpm
rpm -hiv /media/Packages/httpd-tools-2.2.15-15.el6.centos.i686.rpm
+ Sử dụng lệnh YUM
Yum –y instal httpd mod_perl
Step 2: Tạo một trang web tĩnh và khởi động apache
echo “Truong đại học ww.hoasen.com xin chào” >
/var/www/html/index.html
Step 3 : Cấu hình dich vụ httpd cải thiện hiệu suất làm việc ,security,và một vài
đặc trưng khác
Vi /etc/httpd/conf/httpd.conf
Sữa các dòng lại thành như sau:
ServerTokens Prod
KeepAlive On
ServerName www.hoasen.com:80
Options FollowSymLinks ExecCGI
AllowOverride All
Directory Index index.html index.htm index.cgi index.php
WIN 8 64BIT
24
CustomLog logs/access_log common
CustomLog logs/referer_log referer
CustomLog logs/agent_log agent
ServerSignature Off
AddHandler cgi-script .cgi .pl
Step 4: Khởi động dịch vụ
Chkconfig httpd on && Service httpd restart
Step 5: Test dịch vụ
Service httpd status
Dùng một máy khác vào brower đánh địa chỉ IP máy web server
NOTE : Script_install_apache (hỗ trợ)
#!/bin/bash
# Kiem tra apache da duoc cai dat hay chua
rpm -qa | grep httpd
if [ $? -eq 0 ];then
echo "apache da duoc cai dat"
else
yum -y install httpd
echo "chuong trinh da duoc cai dat xong"
WIN 8 64BIT
25
fi
# xoa trang welcome page
rm -f /etc/httpd/conf.d/welcome.conf
echo " $? da xa welcome page"
# xoa trang default error page
rm -f /var/www/error/noindex.html
echo " $? da xoa error page"
# tao mot lien ket cho perl
ln -s /usr/bin/perl /usr/local/bin/perl
#tao file test [trang web chinh]
echo "test httpd - nguyen huu hoang" > /var/www/html/index.html
# configure httpd
cat /etc/httpd/conf/httpd.conf | sed 's/ServerTokens OS/ServerTokens Prod/ ;
s/KeepAlive Off/KeepAlive On/ ; s/ServerAdmin root@localhost/ServerAdmin
[email protected]/ ; s/\#ServerName www.example.com:80$/ServerName
www.hoasen.com:80/ ; s/AllowOverride None/AllowOverride All/ ;
s/^DirectoryIndex index.html index.html.var/DirectoryIndex index.html
index.htm index.cgi / ; s/ServerSignature On/ServerSignature Off/;
s/AddDefaultCharset UTF-8/\#&/; s/\#AddHandler cgi-script .cgi/AddHandler
cgi-script .cgi .pl/ ' > test1
# copy thu muc vao thu muc can chinh
cp -n test1 /etc/httpd/conf/ && cd /etc/httpd/conf/ && chmod -x test1 && rm -rf
httpd.conf && mv test1 httpd.conf
cd ~ && rm test1
# bat che do tu dong khoi dong khi restart may
chkconfig httpd on
WIN 8 64BIT
26