购买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。