CentOS 安装 DirectAdmin (DA) 面板详解教程

DirectAdmin.png

购买DirectAdmin授权

如果已经有授权了,请忽略这一步。这里使用的是HengHost的分销授权,350人民币终身。进入HengHost主页后在“服务支持”菜单下面找到DirectAdmin面板购买。

出于安全原因,不建议使用开心版/破解版。

判断操作系统

cat /etc/*elease

安装依赖包

对应你的服务器操作系统来安装依赖包,安装时一路都选y或yes确认:

Rehat/Fedora/CentOS 6 使用以下命令:

yum install -y wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel db4-devel \
nano

CentOS 7 使用以下命令:

yum install -y wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel \
psmisc net-tools systemd-devel libdb-devel perl-DBI xfsprogs rsyslog logrotate crontabs file \
nano

Debian 6 使用以下命令:

apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \
zlib1g zlib1g-dev libcap-dev bzip2 automake autoconf libtool cmake pkg-config python libreadline-dev libdb4.8-dev libsasl2-dev patch

Debian 7 使用以下命令:

apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \
zlib1g zlib1g-dev libcap-dev bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev libncurses5-dev patch libjemalloc-dev

Debian 8 使用以下命令:
(如果 Debian 8 提示找不到libsystemd-dev,可以把它从命令里去掉。)

apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \
zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \
libncurses5-dev libsystemd-dev bind9 dnsutils quota libsystemd-daemon0 patch libjemalloc-dev logrotate rsyslog libc6-dev

Debian 9 使用以下命令:

apt-get update
apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \
zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \
libncurses5-dev libsystemd-dev bind9 dnsutils quota patch libjemalloc-dev logrotate rsyslog libc6-dev libexpat1-dev \
libcrypt-openssl-rsa-perl libnuma-dev libnuma1 bsd-mailx

开始安装DirectAdmin面板

以root用户,下载并运行 setup.sh 安装脚本。

下载安装脚本

wget http://www.directadmin.com/setup.sh

给安装脚本赋权

chmod 755 setup.sh

开始安装

./setup.sh

安装提示输入和你的授权license相匹配的ID和服务器IP地址,license内容务必要和你的服务器操作系统和IP匹配,否则即使安装成功,也无法登录DA。回车一路y就好。

升级DirectAdmin的皮肤主题

DA默认的皮肤很丑,可以升级为内置的新皮肤evolution

登录DA后,在 Reseller level 下找到 Skin Manager,把evolution皮肤设为全局默认即可。

给DirectAdmin用户启用Let‘sEncrypt证书 & 启用SNI

官方文档

编辑DA配置文件directadmin.conf

yum install -y nano
nano /usr/local/directadmin/conf/directadmin.conf

在该文件内添加:(如果原来是0,改成1)

enable_ssl_sni=1
letsencrypt=1

重启DirectAdmin

echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000

添加 /.well-known Alias

cd /usr/local/directadmin/custombuild
./build rewrite_confs

更新一下letsencrypt脚本

cd /usr/local/directadmin/custombuild
./build update
./build letsencrypt

最后,使用User Level权限组的用户登录,在SSL Certificates下可以找到Let‘sEncrypt证书。

更改DA默认2222端口为其他端口

参考

编辑DirectAdmin配置文件directadmin.conf

nano /usr/local/directadmin/conf/directadmin.conf

在该文件找到这一行:

port=2222

把2222改成你想要的其他端口,比如需要改成6688

port=6688

添加防火墙规则

iptables -I INPUT -p tcp --dport 6688 --syn -j ACCEPT
service iptables save
semanage port -a -t ssh_port_t -p tcp 6688

重启DirectAdmin

echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000

更改SSH默认22端口为其他端口

参考

以Centos 6/7为例:

编辑/etc/ssh/sshd_config配置文件

nano /etc/ssh/sshd_config

如果你要改为2333端口,则讲文件内容改为:

# SSH Port
Port 2333

CentOS 6 更新防火墙配置

iptables -I INPUT -p tcp --dport 2333 --syn -j ACCEPT
service iptables save
semanage port -a -t ssh_port_t -p tcp 2333

CentOS 7 更新防火墙配置

firewall-cmd --add-port 2333/tcp --permanent
firewall-cmd --add-port 2333/tcp

重启SSH服务器

service sshd restart

设置自动屏蔽可疑IP(block IP)

DirectAdmin 默认不会自动屏蔽被检测到bruteforce的IP,请参阅官方文档安装 block_IP 脚本。

pure-ftpd替换为proftpd

如果部分内核不支持pure-ftpd,DirectAdmin后台的消息中心会提示 The service 'pure-ftpd' on server ro1.ro-server.ml is currently down

通过以下命令可以将pure-ftpd替换为proftpd

cd /usr/local/directadmin/custombuild
./build update
./build set ftpd proftpd
./build proftpd

如果最后出现

Restarting ProFTPd.
Shutting down proftpd:                                     [FAILED]
Starting proftpd:                                          [  OK  ]

表示替换成功

VPS是否支持quota

这里有一个坑,部分VPS的提供商限制了quota,即使DirectAdmin成功安装,管理员无法给DA面板的用户分区控制容量。这里检查一下自己的VPS是否支持。

看下/etc目录下是否有fstab这个文件。如果没有,请联系你的VPS提供商。

ls /etc

否则,创建用户时可能出现这样的错误提示

Error with system Quotas
setquota: Mountpoint (or device) / not found or has no quota enabled.
setquota: Not all specified mountpoints are using quota.

如果VPS提供商支持quota,则需要修改fstab内容,具体请Google。

发表新评论