Hướng dẫn này chỉ cách cài đặt ISPConfig 3 trên máy chủ CentOS 7.1 (64Bit). ISPConfig 3 là bảng điều khiển lưu trữ web cho phép bạn cấu hình các dịch vụ sau thông qua trình duyệt web: máy chủ web Apache, máy chủ thư Postfix, MySQL, máy chủ tên BIND, PureFTPd, SpamAssassin, ClamAV, Mailman và nhiều dịch vụ khác. Kể từ phiên bản 3.0.4, ISPConfig hỗ trợ đầy đủ cho máy chủ web nginx ngoài Apache; hướng dẫn này sẽ trình bày cách thiết lập máy chủ sử dụng Apache, không phải nginx.
Để có danh sách tất cả các bản đồ phím khả dụng, hãy chạy:
Tôi muốn cài đặt ISPConfig ở cuối hướng dẫn này, ISPConfig đi kèm với tập lệnh tường lửa Bastille mà tôi muốn sử dụng làm tường lửa, do đó, tôi tắt tường lửa CentOS mặc định ngay bây giờ. Tất nhiên, bạn có thể thoải mái bật tường lửa CentOS và cấu hình theo nhu cầu của mình (nhưng sau đó bạn không nên sử dụng bất kỳ tường lửa nào khác vì rất có thể nó sẽ can thiệp vào CentOS tường lửa).
Chạy...
để dừng và vô hiệu hóa tường lửa CentOS.
Sau đó, bạn nên kiểm tra xem tường lửa đã thực sự bị vô hiệu hóa chưa. Để thực hiện, hãy chạy lệnh:
Đầu ra sẽ trông như thế này:
Hoặc sử dụng lệnh firewall-cmd:
Bây giờ tôi sẽ cài đặt trình chỉnh sửa cấu hình mạng và trình chỉnh sửa dựa trên shell "nano" mà tôi sẽ sử dụng trong các bước tiếp theo để chỉnh sửa cấu hình tệp:
Nếu bạn chưa cấu hình card mạng trong quá trình cài đặt, bạn có thể thực hiện ngay bây giờ. Chạy...
... và đi đến Chỉnh sửa kết nối:
Chọn giao diện mạng của bạn:
Sau đó điền thông tin chi tiết về mạng của bạn - tắt DHCP và điền địa chỉ IP tĩnh, mặt nạ mạng, cổng của bạn và một hoặc hai máy chủ tên, sau đó nhấn Ok:
Tiếp theo chọn OK để xác nhận những thay đổi bạn đã thực hiện trong cài đặt mạng
và Thoát để đóng công cụ cấu hình mạng nmtui.
Bạn nên chạy
ngay bây giờ để kiểm tra xem trình cài đặt có nhận đúng địa chỉ IP của bạn không:
Nếu card mạng của bạn không hiển thị ở đó, thì nó không được bật khi khởi động. Trong trường hợp này, hãy mở tệp /etc/sysconfig/network-scripts/ifcfg-eth0
và đặt ONBOOT thành yes:
và khởi động lại máy chủ.
Kiểm tra /etc/resolv.conf của bạn xem nó có liệt kê tất cả các máy chủ tên mà bạn đã định cấu hình trước đó không:
Nếu máy chủ tên bị thiếu, hãy chạy
và thêm lại các máy chủ tên bị thiếu.
Bây giờ, hãy chuyển sang cấu hình...
Chỉnh sửa /etc/selinux/config và đặt SELINUX=disabled:
Sau đó, chúng ta phải khởi động lại hệ thống:
Sau đó, chúng ta kích hoạt kho lưu trữ EPEL trên hệ thống CentOS của mình vì nhiều gói mà chúng ta sẽ cài đặt trong quá trình hướng dẫn này không có sẵn trong kho lưu trữ CentOS 7 chính thức:
Chỉnh sửa /etc/yum.repos.d/epel.repo...
... và thêm dòng priority=10 vào phần [epel]:
Sau đó, chúng tôi cập nhật các gói hiện có trên hệ thống:
Bây giờ, chúng tôi cài đặt một số gói phần mềm cần thiết sau này:
Để cài đặt quota, chúng ta chạy lệnh này:
Bây giờ chúng ta kiểm tra xem quota đã được bật cho hệ thống tệp nơi lưu trữ dữ liệu trang web (/var/www) và maildir (var/vmail) hay chưa. Trong ví dụ thiết lập này, tôi có một phân vùng gốc lớn, vì vậy tôi tìm kiếm ' / ':
Nếu bạn có phân vùng /var riêng, hãy sử dụng:
thay vào đó. Nếu dòng chứa từ "noquota", hãy tiến hành các bước sau để bật hạn ngạch.
Chỉnh sửa tệp cấu hình grub:
tìm kiếm theo dòng bắt đầu bằng GRUB_CMDLINE_LINUX và thêm rootflags=uquota,gquota vào tham số dòng lệnh để dòng kết quả trông như thế này:
và áp dụng các thay đổi bằng cách chạy lệnh sau.
và khởi động lại máy chủ.
Bây giờ hãy kiểm tra xem hạn ngạch có được bật không:
Khi quota đang hoạt động, chúng ta có thể thấy "usrquota,grpquota" trong danh sách tùy chọn gắn kết.
Sau đó chạy
để bật hạn ngạch. Khi bạn gặp lỗi không có oartition nào được bật hạn ngạch, hãy khởi động lại máy chủ trước khi tiếp tục.
1 Yêu cầu
Để cài đặt hệ thống như vậy, bạn sẽ cần những thứ sau:- Hệ thống máy chủ tối thiểu Centos 7.1. Đây có thể là máy chủ được cài đặt từ đầu như mô tả trong hướng dẫn máy chủ tối thiểu Centos 7.1 của chúng tôi hoặc máy chủ ảo hoặc máy chủ gốc từ công ty lưu trữ đã cài đặt thiết lập Centos 7.1 tối thiểu.
- Kết nối Internet nhanh.
2 Lưu ý sơ bộ
Trong hướng dẫn này, tôi sử dụng tên máy chủ server1.example.com với địa chỉ IP 192.168.1.100 và cổng 192.168.1.254. Các thiết lập này có thể khác nhau đối với bạn, vì vậy bạn phải thay thế chúng khi cần thiết.3 Thiết lập bố cục bàn phím
Trong trường hợp bố cục bàn phím của máy chủ không khớp với bàn phím của bạn, bạn có thể chuyển sang bàn phím bên phải (trong trường hợp của tôi là "de" cho bố cục bàn phím tiếng Đức, bằng lệnh localectl:
Mã:
localectl set-keymap de
Mã:
localectl list-keymaps
Chạy...
Mã:
yum -y installnet-tools
systemctl stop firewalld.service
systemctl disable firewalld.service
Sau đó, bạn nên kiểm tra xem tường lửa đã thực sự bị vô hiệu hóa chưa. Để thực hiện, hãy chạy lệnh:
Mã:
iptables -L
Mã:
[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Mã:
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Mã:
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Mã:
firewall-cmd --state
Mã:
[root@server1 ~]# firewall-cmd --state
not running
[root@server1 ~]#
Mã:
yum -y install nano wget NetworkManager-tui
Mã:
nmtui
Chọn giao diện mạng của bạn:
Sau đó điền thông tin chi tiết về mạng của bạn - tắt DHCP và điền địa chỉ IP tĩnh, mặt nạ mạng, cổng của bạn và một hoặc hai máy chủ tên, sau đó nhấn Ok:
Tiếp theo chọn OK để xác nhận những thay đổi bạn đã thực hiện trong cài đặt mạng
và Thoát để đóng công cụ cấu hình mạng nmtui.
Bạn nên chạy
Mã:
ifconfig
Mã:
[root@server1 ~]# ifconfigens33: flags=4163 mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 phát sóng 192.168.1.255 inet6 fe80::20c:29ff:fecd:cc52 prefixlen 64 scopeid 0x20 ether 00:0c:29:cd:cc:52 txqueuelen 1000 (Ethernet) Gói RX 55621 byte 79601094 (75,9 MiB) Lỗi RX 0 bị loại bỏ 0 tràn 0 khung 0 Gói TX 28115 byte 2608239 (2,4 MiB) Lỗi TX 0 bị loại bỏ 0 tràn 0 sóng mang 0 va chạm 0lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 0 (Local Loopback) Gói RX 0 byte 0 (0,0 B) Lỗi RX 0 bị loại bỏ 0 tràn 0 khung 0 Gói TX 0 byte 0 (0,0 B) Lỗi TX 0 bị loại bỏ 0 tràn 0 sóng mang 0 va chạm 0
Mã:
nano /etc/sysconfig/network-scripts/ifcfg-ens33
Mã:
[...]
ONBOOT=yes
[...]
Kiểm tra /etc/resolv.conf của bạn xem nó có liệt kê tất cả các máy chủ tên mà bạn đã định cấu hình trước đó không:
Mã:
cat /etc/resolv.conf
Mã:
nmtui
Bây giờ, hãy chuyển sang cấu hình...
4 Điều chỉnh /etc/hosts
Tiếp theo, chúng ta chỉnh sửa /etc/hosts. Làm cho nó trông như thế này:
Mã:
nano /etc/hosts
Mã:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100 server1.example.com server1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
5 Vô hiệu hóa SELinux
SELinux là tiện ích mở rộng bảo mật của CentOS, có thể cung cấp bảo mật mở rộng. Theo tôi, bạn không cần nó để cấu hình một hệ thống an toàn và nó thường gây ra nhiều vấn đề hơn là lợi ích (hãy nghĩ về điều đó sau khi bạn đã dành một tuần để khắc phục sự cố vì một số dịch vụ không hoạt động như mong đợi, và sau đó bạn phát hiện ra rằng mọi thứ đều ổn, chỉ có SELinux gây ra sự cố). Do đó, tôi vô hiệu hóa nó (điều này là bắt buộc nếu bạn muốn cài đặt ISPConfig sau này).Chỉnh sửa /etc/selinux/config và đặt SELINUX=disabled:
Mã:
nano /etc/selinux/config
Mã:
# Tệp này kiểm soát trạng thái của SELinux trên hệ thống.# SELINUX= có thể lấy một trong ba giá trị sau:# enforcing - Chính sách bảo mật SELinux được thực thi.# permissive - SELinux in cảnh báo thay vì thực thi.# disabled - Không có chính sách SELinux nào được tải.SELINUX=disabled# SELINUXTYPE= có thể sử dụng một trong hai giá trị sau:#targeted - Các quy trình được nhắm mục tiêu được bảo vệ,#mls - Bảo vệ bảo mật nhiều cấp độ.SELINUXTYPE=targeted
Mã:
khởi động lại
6 Kích hoạt các kho lưu trữ bổ sung và cài đặt một số phần mềm
Trước tiên, chúng ta nhập khóa GPG cho các gói phần mềm:
Mã:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Mã:
yum -y install epel-release
Mã:
yum -y install yum-priorities
Mã:
nano /etc/yum.repos.d/epel.repo
Mã:
[epel]name=Gói bổ sung cho Enterprise Linux 7 - $basearch#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearchfailovermethod=priorityenabled=1priority=10gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7[...]
Mã:
yum update
Mã:
yum -y groupinstall 'Development Tools'
7 Quota
(Nếu bạn đã chọn một lược đồ phân vùng khác với tôi, bạn phải điều chỉnh chương này để hạn ngạch áp dụng cho các phân vùng mà bạn cần.)Để cài đặt quota, chúng ta chạy lệnh này:
Mã:
yum -y install quota
Mã:
mount | grep ' / '
Mã:
[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@server1 ~]#
Mã:
mount | grep ' /var '
Bật hạn ngạch trên phân vùng / (root)
Thông thường, bạn sẽ bật hạn ngạch trong tệp /etc/fstab, nhưng nếu hệ thống tệp là hệ thống tệp gốc "/", thì hạn ngạch phải được bật bằng tham số khởi động của Linux Kernel.Chỉnh sửa tệp cấu hình grub:
Mã:
nano /etc/default/grub
Mã:
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"
Mã:
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfg
Mã:
khởi động lại
Mã:
mount | grep ' / '
Mã:
[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#
Bật quota trên phân vùng /var riêng biệt
Nếu bạn có phân vùng /var riêng biệt, hãy chỉnh sửa /etc/fstab và thêm ,uquota,gquota vào phân vùng / (/dev/mapper/centos-var):
Mã:
nano /etc/fstab
Mã:
#
# /etc/fstab
# Được tạo bởi anaconda vào CN 21/09/2014 16:33:45
#
# Các hệ thống tập tin có thể truy cập được, theo tham chiếu, được duy trì trong '/dev/disk'
# Xem các trang hướng dẫn fstab(5), findfs(8), mount(8) và/hoặc blkid(8) để biết thêm thông tin
#
/dev/mapper/centos-root / xfs defaults 1 1
/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
/dev/mapper/centos-swap swap swap defaults 0 0
Mã:
mount -o remount /var
Mã:
quotacheck -avugm
quotaon -avug
8 Cài đặt Apache, MySQL, phpMyAdmin
Chúng ta có thể cài đặt các gói cần thiết chỉ bằng một lệnh duy nhất:
Mã:
yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin