Tải bản đầy đủ (.pdf) (78 trang)

Luận văn xây dựng hệ thống web hosting trên linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.44 MB, 78 trang )

WIN 8 64BIT

7














Đề tài:
Xây dựng hệ thống web-hosting trên linux







Hồ chí minh 6/2015

WIN 8 64BIT

8








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

9





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
WIN 8 64BIT

10
3.7 Name based virtual hosting 28
3.8 Chứng thực 30
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
WIN 8 64BIT

11
5.3.4.2 Phpmyadmin 55
5.3.5 Email 56
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

12






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;
WIN 8 64BIT

13
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";
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;
WIN 8 64BIT

14
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/
+ 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
WIN 8 64BIT

15
@ IN SOA web.hoasen.com. root. (
3 ; serial
28800 ; refresh
7200 ; retry
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

16






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
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
WIN 8 64BIT

17
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 #
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
WIN 8 64BIT

18
+ upload file : onthinguphap.txt


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
WIN 8 64BIT

19
non_root=/nhanvien # thêm vào cuối file

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

20

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
WIN 8 64BIT

21
Directory Index index.html index.htm index.cgi index.php
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
WIN 8 64BIT

22
echo "chuong trinh da duoc cai dat xong"
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
/ ; 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
WIN 8 64BIT

23
chkconfig httpd on
# bat dich vu len
service httpd restart
service httpd status | grep "running"
if [ $? -eq 0 ];then
echo "chuong trinh dang chay"
else
echo "chuong trinh co su co khong khoi dong duoc"
fi

3.2 Cài đặt phần hỗ trợ Perl Script
Step 1 : Cài cơ bản

Yum –y install perl perl-CGI
Step 2: Cấu hình httpd
Vi /etc/httpd/conf/httpd.conf
Options FollowSymLinks ExecCGI
DirectoryIndex index.html index.php index.htm index.cgi
AddHandler cgi-script .cgi .pl
Step 3: Khởi động lại service
Service httpd restart
Step 4: Tạo một file test kiểm tra
Vi /var/www/html/index.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
WIN 8 64BIT

24
print "<html>\n<body>\n";
print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align:
center;\">\n";
print " Test CGI – Nguyen Huu Hoang ";
print "\n</div>\n";
print "</body>\n</html>\n";
chmod 705 /var/www/html/index.cgi
Step 5: Vào trang web kiểm tra
+ 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_perl_script
#!/bin/bash
rm -rf /var/www/html/index.html

# cài đặt
yum –y install perl perl-CGI
#gan quyen cho file
chmod 705 /var/www/html/index.cgi
# configure httpd
cat /etc/httpd/conf/httpd.conf | sed 's/^Options FollowSymLinks$/& ExecCGI/' >
WIN 8 64BIT

25
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
# khoi dong lai dich vu
service httpd restart

3.3 Cài đặt PHP
Step 1: Cài đặt
Yum –y install php php-mbstring php-pear
Step 2: Chỉnh sữa thời gian
Vi /etc/php.ini
Data.timezone= “Asia/Ho_Chi_Minh”
Step 3 : Chỉnh sửa file httpd
Vi /etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.htm index.cgi index.php
Step 3: Tạo một file test php
Vi /var/www/html/index.php
<?php phpinfo(); ?>
Step 4: Khởi động dịch vụ
Services httpd restart

Step 5: Kiểm tra
+ Service httpd status
+ Dùng một máy khác vào brower đánh địa chỉ IP máy web server
WIN 8 64BIT

26


Note: script_install_php
#!/bin/bash
rm -rf /var/www/html/index.*
# cai dat php
yum –y install php php-mbstring php-pear
#tao file
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
# configure httpd
cat /etc/httpd/conf/httpd.conf | sed 's/^DirectoryIndex index.html index.htm index.cgi/&
index.php/' > 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
# khoi dong lai dich vu
service httpd restart


WIN 8 64BIT

27
3.4 Cài đặt Mysql
Step 1: Cài đặt

Yum –y install php-mysql mysql mysql-server
Step 2: Khởi động mysql
Chkconfig mysqld on && service mysqld restart
Step 3: Cấu hình secure cho mysql
Mysql_secure_installation
Chọn “y” toàn bộ
Step 4: Tạo một trang web Wordpress (php và mysql)
- duy chuyển toàn bộ file wordpress -> /var/www/html
- vi /etc/httpd/conf/httpd.conf chỉnh file index chạy php
DirectoryIndex index.html index.html.var index.php
service httpd restart
- khởi động mysql
service mysqld restart
- Đặt pass cho user root của mysql
mysqladmin -u root password [nhap pass]
Step 5: Kết nối SQL
mysql -p -> pass:
- Xem database:
show databases;
- Tạo database mới:
create database wordpress;
- Thoát
WIN 8 64BIT

28
exit # xong bên trong SQL
# Nếu đã có source sẳn thì ta sẽ import database .
- IMport database (bên ngoài SQL)
mysql -u root -p wordpress < /root/*.db
Step 6: Cấu hình file config để souce code kết nối với sql.

- Xem file cấu hình vi /var/www/html/wordpress/ wp-config.php
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'root')
/** MySQL database password */
define('DB_PASSWORD', '123456');
/** MySQL hostname */
define('DB_HOST', 'localhost');
Step 7: Kiểm tra
+ Service httpd status
+ Dùng một máy khác vào brower đánh địa chỉ IP máy web server
WIN 8 64BIT

29


3.5 Cấu hình alias cho website
+ Tạo alias cho trang www.hoasen.com/admin
Step 1: Tạo thư mục và trang web test
Mkdir /var/www/html/admin
Echo “admin test- Nguyen huu hoang”> /var/www/html/admin/index.html
Step 2: Cấu hình file httpd.conf
Vi /etc/httpd/conf/httpd.conf
Xuống cuối file đánh vào code sau:
Alias /admin "/var/www/html/admin"
<Directory "/var/www/html/admin">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
DirectoryIndex index.html
Order allow,deny

WIN 8 64BIT

30
Allow from all
</Directory>
Step 3: restart dịch vụ httpd và kiểm tra


3.6 Enable Userdir
+ Mỏi user có quyền tạo một trang web riêng cho mình
Step 1: Tạo user
Useradd hoasen
Step 2: Gán quyền cho file
chmod 711 /home/hoasen/
mkdir /home/hoasen/public_html
chown hoasen /home/hoasen/public_html/
chmod 755 /home/huuhoang/public_html/
hoặc:
Su hoasen
Mkdir public_html
Chmod 711 /home/hoasen
Chmod 755 /home/hoasen/public_html
Vi /home/hoasen/public_html/index.html
WIN 8 64BIT

31
Echo “web site cua hoasen”
Step 3: Cấu hình file httpd.conf
Vi /etc/httpd/conf/httpd.conf
#UserDir disable

UserDir public_html
<Directory /home/*/public_html>
AllowOverride All# change
Options ExecCGI# enable CGI
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
# xuống cuối file cấu hình redirect
Redirect /hoasen
Step 4: Chỉnh sữa file Selinux
setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /home/hoasen/public_html/
Step 5: Upload file bằng phần mềm FileZilla
+ File: Index.html -> /home/hoasen/public_html

×