在 Rocky Linux 8/AlmaLinux 8 上安装 DirectAdmin
网络托管已成为所有在线业务不可或缺的一部分。 DirectAdmin 是可供 Linux 用户使用的最佳托管控制面板之一。它捆绑了工具和直观的 Web 界面,使您的服务器和网站能够以用户友好的方式高效运行,确保简化托管帐户的管理。 DirectAdmin 具有简洁的布局,易于导航,深受初学者和经验丰富的用户的喜爱。
以下是 DirectAdmin 的一些关键功能:
- DNS 和域管理:使用 DirectAdmin,您可以管理您的域、子域和 DNS 设置。
- 文件和FTP管理:具有文件管理功能,可通过Web界面上传、下载、删除和修改文件。
- 电子邮件管理:它提供用于创建电子邮件帐户、转发电子邮件和管理垃圾邮件过滤器的工具。
- 数据库管理:DirectAdmin 拥有用于管理 MySQL 和 PostgreSQL 等数据库管理系统的工具。
- 安全功能:DirectAdmin 是面向安全的解决方案。它具有针对服务器和添加的域的防火墙管理功能和 SSL 证书管理功能。
- 以及更多
DirectAdmin 提供 3 级访问控制
- 管理员级别
- 经销商级别
- 用户级别
在本简短指南中,我们将分享在 Rocky Linux 8/AlmaLinux 8 上安装和使用 DirectAdmin 时应遵循的所有过程。所以让我们开始吧。
1 – 设置时区并配置 NTP
首先确保系统已更新和升级。
sudo dnf -y update
设置 DirectAdmin 服务器的主机名。
sudo hostnamectl set-hostname hosting.example.com
接下来设置正确的时区
sudo timedatectl set-timezone Africa/Nairobi
安装 chrony ntp 服务器包。
sudo dnf -y install chrony
使该服务在系统启动时启动。
sudo systemctl enable --now chronyd
确保服务正在运行
$ systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2023-12-10 02:40:04 EAT; 3 days ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Main PID: 749 (chronyd)
Tasks: 1 (limit: 203493)
Memory: 2.1M
CGroup: /system.slice/chronyd.service
└─749 /usr/sbin/chronyd
Dec 10 02:40:04 hosting.example.com systemd[1]: Starting NTP client/server...
Dec 10 02:40:04 hosting.example.com chronyd[749]: chronyd version 4.2 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG)
Dec 10 02:40:04 hosting.example.com chronyd[749]: Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
Dec 10 02:40:04 hosting.example.com chronyd[749]: Using right/UTC timezone to obtain leap second data
Dec 10 02:40:04 hosting.example.com systemd[1]: Started NTP client/server.
Dec 10 02:40:11 hosting.example.com chronyd[749]: Selected source 160.119.216.202 (2.rocky.pool.ntp.org)
Dec 10 02:40:11 hosting.example.com chronyd[749]: System clock TAI offset set to 37 seconds
手动同步本地系统时间。
$ sudo chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ 160.119.216.197 3 6 37 5 +162us[ +67us] +/- 7212us
^- time.cloudflare.com 3 6 37 5 +52ms[ +52ms] +/- 163ms
^- time.cloudflare.com 3 6 37 4 +42ms[ +41ms] +/- 152ms
^* 160.119.216.206 3 6 37 4 -72us[ -168us] +/- 7425us
2 – 使用额外的磁盘存储网站数据(可选)
网站数据的默认目录是/home
。建议挂载专用磁盘用于数据存储。
我们已将辅助磁盘附加到 VM 实例 /dev/vdb
,如下面的命令输出所示。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4M 0 rom
vda 252:0 0 100G 0 disk
├─vda1 252:1 0 99M 0 part /boot/efi
├─vda2 252:2 0 1000M 0 part /boot
├─vda3 252:3 0 4M 0 part
├─vda4 252:4 0 1M 0 part
└─vda5 252:5 0 98.9G 0 part /
vdb 252:16 0 500G 0 disk
让我们对磁盘进行分区并创建一个文件系统。
sudo parted /dev/vdb mklabel gpt
sudo parted /dev/vdb mkpart primary 0% 100%
sudo mkfs.xfs /dev/vdb1
最终我们将其安装在 /home
下。现在我们可以使用 /mnt
sudo mount /dev/vdb1 /mnt
将 /home 到 /data 目录中的所有内容同步。
sudo rsync -avz /home/* /mnt
检查磁盘分区的UUID。我们将在 /etc/fstab
中使用它。
$ blkid /dev/vdb1
/dev/vdb1: UUID="e9fafa9a-e2db-4bd2-9a0b-069178c0a133" BLOCK_SIZE="512" TYPE="xfs" PARTLABEL="primary" PARTUUID="4dea6fd1-370d-4b49-90c6-1ecb9ad98d78"
打开fstab 文件进行编辑。
$ sudo vim /etc/fstab
UUID=e9fafa9a-e2db-4bd2-9a0b-069178c0a133 /home xfs defaults,uquota,pquota 0 0
测试以确认 fstab 文件中没有打字。
sudo umount /mnt
sudo mount -a
重新启动系统
sudo reboot
系统重新启动后检查安装选项。
# mount | grep ' /home '
/dev/vdb1 on /home type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,usrquota,prjquota)
3 – 启用磁盘配额
在网络托管业务中,磁盘配额用于限制用户可以使用多少磁盘空间。如果您的 /home
位于 /
下,那么我们必须通过编辑文件 /etc/default/grub
来更改内核启动选项以启用配额选项。
打开文件并添加选项rootflags=uquota,pquota:
$ sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX="console=ttyS0,115200n8 no_timer_check net.ifnames=0 crashkernel=auto rootflags=uquota,pquota"
生成一个新的 grub.cfg
文件:
$ sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.orig
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done
生成新的 Grub 配置后重新启动服务器。
sudo reboot
等待系统重新上线,然后检查安装选项以确保不会出现“noquota”。
# mount | grep ' / '
/dev/vda5 on / type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,usrquota,prjquota)
对于专用 /home
分区:
$ mount | grep ' /home '
/dev/vdb1 on /home type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,usrquota,prjquota)
有关磁盘配额的更多详细信息,请参阅:如何在 XFS 或 Ext4 Linux 系统上启用磁盘配额
4 – 在 Rocky/AlmaLinux 8 上安装 DirectAdmin
切换到root用户。
sudo su -
安装并启动 tmux 以避免在安装 DirectAdmin 期间会话超时。
sudo dnf -y install tmux
tmux
访问 DirectAdmin 定价页面并获取适合您的托管要求的产品。
在执行安装脚本时提供许可证密钥。
bash <(curl -fsSL https://download.directadmin.com/setup.sh) '<Provided license key should go here>'
部署应该从依赖关系解析开始。
....
Transaction Summary
======================================================================================================================================================================================================
Install 168 Packages
Total download size: 37 M
Installed size: 110 M
等待安装完成。所有访问详细信息将在屏幕中提供。
...
Checking quotas...
Running quotacheck
Done quotacheck
Welcome to DirectAdmin version 1.657!
Here is the information given:
Admin User: admin
Admin Email: [email
Update channel: current
Network Device: eth0
Server IP: 102.216.155.236
Server IP Netmask: /29
Server Hostname: admin.example.com
Name Servers:
ns1.admin.example.com
ns2.admin.example.com
ip.list written successfully
./data/admin/next_ticket.number written correctly
tickets.list written successfully
Admin admin is being created by root.
Error with quotas: xfs_quota: cannot set limits: Function not implemented
secure_access_group='access' did not exist (9999). Creating it and adding defaults.
Admin user created
System Security Tips:
https://docs.directadmin.com/operation-system-level/securing/general.html#basic-system-security
The following information has been set:
Admin username: admin
Admin password: 8G0RgYV4iBrcHapLpeWQOQ
Admin email: [email
Server Hostname: nadmin.example.com
安装后是执行CustomBuild。它是一个管理 DirectAdmin 相关服务的工具,例如 WWW、电子邮件、SQL、PHP 等。大多数包都是从源代码编译的。
构建过程将需要一些时间。
CustomBuild installation has started, you may check the progress using the following command: tail -f /var/log/directadmin/custombuild.1702629701.18861.YWxsAGQA.log
[setup.sh] You will receive a message in the DirectAdmin panel when background installation finalizes.
如果您想检查 CustomBuild 的进度,请运行下面提供的命令。
tail -f /var/log/directadmin/custombuild.*.log
成功后,系统会通知您重新启动服务器 - “CustomBuild+installation+has+finished”
############################################################################################################################################################################################### 100.0%
Lego 4.14.2-SNAPSHOT-cd63b325 Installed.
==> /var/log/directadmin/custombuild.1708774316.34630.YWxsAGQA.log <==
*************************************
Generating grub configuration file ...
File descriptor 99 (/dev/null) leaked on vgs invocation. Parent PID 371910: /usr/sbin/grub2-probe
File descriptor 99 (/dev/null) leaked on vgs invocation. Parent PID 371910: /usr/sbin/grub2-probe
File descriptor 99 (/dev/null) leaked on vgs invocation. Parent PID 372067: /usr/sbin/grub2-probe
File descriptor 99 (/dev/null) leaked on vgs invocation. Parent PID 372067: /usr/sbin/grub2-probe
done
Grub configuration re-generated. Please reboot the box.
2024/02/24 14:44:54 info executing task task=action=notify&message=CustomBuild+installation+has+finished%2C+to+check+the+full+log+please+check%3A%0A%2Fvar%2Flog%2Fdirectadmin%2Fcustombuild.1708774316.34630.YWxsAGQA.log&subject=CustomBuild+installation+has+finished&value=admin
在某些情况下,构建不会自动启动。可以手动启动 CustomBuild 安装程序
da build all d
检查已安装的 DirectAdmin 版本。
# /usr/local/directadmin/directadmin version
DirectAdmin v.1.657 aa282043f7809054a5b18e1e839716062ba2e621
5 – 配置 Firewalld 规则(可选)
这是 DirectAdmin 使用的所有端口和服务的表格
Port | Service Name | Comment |
---|---|---|
20,21 | FTP | FTP will use a “random high port number” if the client is in PORT mode, so you may need to add a port range into your /etc/proftpd.conf file to allow FTP connections, e.g., PassivePorts 35000 35999, and then open that same port range as well in your firewall
|
22 | SSH | default port for SSH access |
25,587 | Exim | SMTP for Exim to receive email |
53 | Named | TCP and UDP, so your sites resolve |
80,443 | Apacha/NGINX | Apache or Nginx traffic, HTTP and HTTPS |
110,143,993,995 | Dovecot | client Pop and Imap email access |
2222 | DirectAdmin | Accessing panel |
2703 | Razor | Optional: RAZOR check for SpamAssassin |
3306 | MySQL | You don’t need to open this port if you don’t want to allow remote MySQL access, as most MySQL scripts are all accessed locally. |
安装 Firewalld 软件包。
sudo dnf -y install firewalld
启动并启用firewalld服务。
sudo systemctl enable --now firewalld
在防火墙中启用 DirectAdmin 和其他服务端口:
sudo firewall-cmd --zone=public --add-port={2222,20,21,22,25,587,80,443,110,143,993,995}/tcp --permanent
重新加载防火墙以应用新规则:
sudo firewall-cmd --reload
6 – 访问 DirectAdmin 门户网站
如果在安装过程中遗漏了许可证,您可以在安装后设置许可证。
da license-set 'LICENSE-KEY'
安装后,访问 DirectAdmin 登录门户:http://server.ip.address:2222。
使用 setup.sh 提供的输出信息中的管理员用户名和密码登录。还可以在以下文件中访问该信息。
cat /usr/local/directadmin/conf/setup.txt
DirectAdmin Web 界面外观:
检查控制面板 > 管理 > 服务监视器 下的服务状态
结论
在本文中,我们已经能够在 Rocky Linux 8/AlmaLinux 8 系统上安装和配置 DirectAdmin。在许可变更后,DirectAdmin 已被证明是 Cpanel 网络托管控制面板的最终替代品。它允许用户管理网站的各个方面,甚至可以进行额外的操作,例如 DNS、文件和电子邮件管理。
更新于:6个月前
相关文章
- 【说站】linux 如何退出python
- CentOS7部署发布.NET Core网站Ngnix安装配置图文教程
- dev/hda5在linux中表示什么
- linux高并发是什么意思
- linux为什么没有病毒
- linux nobody是啥用户
- linux 命令之查看文件内容
- linux 命令之 ls 命令详解
- Linux下RabbitMQ安装和.NET Core使用RabbitMQ.Client操作
- linux shell的几种截取字符串的方法
- Linux中date命令如何格式化输出需要的时间格式
- 使用Docker Wine Qemu KVM在Linux运行Windows应用
- Debian Linux国内常用镜像源
- CentOS7安装unzip解压工具命令使用方法
- Linux使用Docker部署.NET6网站图文教程
- Linux中通过命令连接指定WiFi
- 什么是宝塔Linux
- Linux 删除文件或目录 rm 命令
- 怎样在Linux系统 Ubuntu18.04 中安装微信
- C# WebSocket Client在linux连接失败