WHMCS和DirectAdmin面板整合方法-DirectAdmin面板安装使用教程

最近挖站否上线了CN2线路的免费PHP空间:挖站否美国1GB免费PHP空间,采用了DirectAdmin面板,中文语言,绑定域名、文件管理、数据库等基本上和Cpanel面板差不多,要说不足的话,DirectAdmin的界面做得没有Cpanel漂亮。

WHMCS和DirectAdmin面板整合过程并不复杂,这篇文章就来分享一下挖站否美国1GB免费DirectAdmin空间搭建起来的过程。DirectAdmin面板授权便宜,且WHMCS自带的就有DirectAdmin插件,国内有不少的站长也在用,希望本文可以有参考作用。

关于授权费的问题,目前市面上有两种:一种是直接到DirectAdmin官网来购买,另一种是到分销商那里购买DirectAdmin授权。前一种的价格会比较昂贵,但是安全性有保障,后一种需要找到靠谱的商家才行。另外DirectAdmin授权和IP是绑定的,购买时最好可以自助修改IP,有些商家提供了自助修改IP的平台,用起来会比较方便一些。

有不少要进入IDC行业的新手朋友咨询过不少的问题,例如用WHMCS搭建VPS销售平台,一般来说我们会用到SolusVM面板;用WHMCS搭建虚拟主机销售平台,我们一般会用到Cpanel面板或者DA面板;而仅用于个人使用的话,免费的控制面板就更多了。

主要有:

  1. WHMCS从入门到精通
  2. 服务器控制面板榜单
  3. SolusVM从入门到精通-安装、使用和技巧

PS:2019年8月9日更新,DirectAdmin面板备份恢复和启用OpCache和redis缓存方法:cPanel和DirectAdmin面板备份和恢复方法、DirectAdmin空间启用OpCache和redis缓存加速。

一、DirectAdmin安装教程

网站:

  1. https://www.directadmin.com/
  2. 体验:https://manage.qyfou.com/cart.php?gid=7

1.1 准备条件

首先,你要准备一台VPS主机或者独立服务器,VPS主机选购可以参考我的评测:VPS主机排行榜单。购买DirectAdmin授权,不建议使用特殊版的,可能存在后门风险。

目前DirectAdmin支持操作系统如下:

CloudLinux (recommended) 6.x 32/64-bit, 7.x 64-bit

RedHat Enterprise / CentOS 6.x 32/64-bit, 7.x 64-bit

Debian 8.x 64-bit, , 9.x 64-bit, (click for Ubuntu)

FreeBSD 11.x 64-bit

怎么知道自己正在用的操作系统?使用以下命令:

  1. cat /etc/redhat-release
  2. cat /etc/debian_version
  3. uname
  4. uname -r
  5. uname -m

1.2 删除安装组件

DirectAdmin要求在安装前保持干净纯净的系统,所有任何系统自带的apache\sendmail\MysqL等必须删除。同时还要求安装一些必要的组件,如:gcc, g++, and perl等。命令如下:

  1. 1、关闭selinux (如果有selinux)
  2. vi /etc/sysconfig/selinux
  3. 修改/etc/sysconfig/selinux文件中的SELINUX="" 为 disabled
  4. 再reboot重启电脑
  5. 2、删除必要的服务
  6. yum remove httpd php mysql nginx sendmail
  7. #更彻底的卸载
  8. yum -y remove httpd
  9. yum remove mysql mysql-server mysql-libs compat-mysql51
  10. yum remove mysql mysql-server mysql-libs compat-mysql51
  11. rm -rf /var/lib/mysql
  12. rm /etc/my.cnf
  13. 查看是否还有mysql软件:
  14. rpm -qa|grep mysql
  15. which mysql
  16. mysql -V
  17. 以上三条命令如果有返回信息的话就说明还没有删除干净,继续搜索文件删除
  18. rpm -qa|grep httpd
  19. rpm -qa|grep mysql
  20. rpm -qa|grep php
  21. yum -y remove sendmail
  22. 3、更新系统
  23. yum update -y
  24. 4、安装gcc, gcc-c++等必要的组件
  25. #On Rehat/Fedora/CentOS(其它的请参考:https://help.directadmin.com/item.php?id=354):
  26. yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
  27. libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
  28. autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel db4-devel

1.3 安装过程

执行以下命令开始安装:

  1. #开始安装DirectAdmin
  2. wget https://www.directadmin.com/setup.sh
  3. chmod 755 setup.sh
  4. ./setup.sh

DirectAdmin会要求你在安装的过程中输入Client ID与License ID,如下图:

输入主机名,必须是二级域名,如:da.wzfou.com,这里一定要输入二级域名,接着选择安装属性包, 一般建议选择1, 如果是CentOS 7.x不会出现这个选择,自动默认为custombuild 2.0,并且MySQL自动换成MariaDB。最后就是耐心地等待完成了。

1.4 基本命令

DirectAdmin控制面板基本操作命令需要掌握:

  1. # DirectAdmin控制面板的Web环境启动、重启等操作S——S——H命令
  2. # Apache:
  3. service httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}
  4. # MySQL
  5. /sbin/service mysqld {start|stop|restart|reload|force-reload|status}
  6. #或者
  7. /etc/init.d/mysqld {start|stop|restart|reload|force-reload|status}
  8. # DirectAdmin 面板
  9. service directadmin {start|stop|status|reload|restart}

二、DirectAdmin配置方法

2.1 启用SSL证书

DirectAdmin面板后台登录启用LetsEncrypt,如果你想要给你的DirectAdmin后台登录也启用LetsEncrypt免费SSL证书,使用以下命令:

  1. #执行申请SSL证书命令
  2. cd /usr/local/directadmin/scripts
  3. ./letsencrypt.sh request_single xxx.qyfou.com 4096
  4. #开启SSL证书
  5. cd /usr/local/directadmin/conf
  6. perl -pi -e 's/SSL=0/SSL=1/' directadmin.conf
  7. echo "carootcert=/usr/local/directadmin/conf/carootcert.pem" >> directadmin.conf
  8. echo "force_hostname=sc3.qyfou.com" >> directadmin.conf
  9. echo "ssl_redirect_host=sc3.qyfou.com" >> directadmin.conf
  10. #重启DA面板
  11. service directadmin restart

申请并安装LetsEncrypt证书成功。

2.2 启用中文语言

默认的DirectAdmin是英文的,不过网上已经有了不少的汉化语言包了:https://github.com/hostsoft/diretcadmin-chinese-lang,语言包安装方法如下:

  1. #安装教程1 Git方式
  2. rm -rf /usr/local/directadmin/data/skins/enhanced/lang/cn
  3. cd /usr/local/directadmin/data/skins/enhanced/lang/
  4. git clone https://github.com/ninetian/diretcadmin-chinese-lang cn
  5. chown diradmin:diradmin -R cn
  6. perl -pi -e 's/language=en/language=cn/' /usr/local/directadmin/data/users/*/user.conf
  7. #安装教程2 zip方式 注意替换版本号
  8. rm -rf /usr/local/directadmin/data/skins/enhanced/lang/cn
  9. cd /usr/local/directadmin/data/skins/enhanced/lang
  10. da_langver=1.55
  11. wget --no-check-certificate -c https://github.com/ninetian/diretcadmin-chinese-lang/archive/${da_langver}.zip
  12. unzip ${da_langver}.zip
  13. rm -rf ${da_langver}.zip
  14. mv diretcadmin-chinese-lang-${da_langver} cn
  15. chown diradmin:diradmin -R cn
  16. perl -pi -e 's/language=en/language=cn/' /usr/local/directadmin/data/users/*/user.conf

DirectAdmin中文面板如下:(点击放大)

2.3 LetsEncrypt证书

新版本的DirectAdmin已经支持用户自己申请和安装LetsEncrypt证书了。

用户点击申请SSL证书后,稍等一会儿就可以启用了。

2.4 安全建议

来自官网:https://help.directadmin.com/item.php?id=247。主要有以下几个要点:

禁用函数。命令如下:

  1. #禁用函数。当然你也可以编辑php.ini以从列表中删除所需的函数,然后重新启动apache。这样又可以启用该函数了。命令:
  2. cd /usr/local/directadmin/custombuild
  3. ./build update
  4. ./build secure_php

更新系统。命令如下:

  1. #保持系统最新
  2. cd /usr/local/directadmin/custombuild
  3. ./build update
  4. ./build all d

定时自动更新系统。命令如下:

  1. #设置定时更新,在配置在custombuild目录中有一个名为“options.conf”的文件里
  2. #Cron settings
  3. cron=yes
  4. cron_frequency=weekly
  5. email=email@domain.com
  6. notifications=yes
  7. da_autoupdate=yes
  8. updates=no
  9. webapps_updates=yes
  10. #然后执行:
  11. ./build cron
  12. #有更新的话会收到通知,你需要执行手动升级:
  13. ./build update_versions

禁止远程MysqL。命令如下:

  1. #打开/etc/my.cnf,找到[mysqld] 部分,添加以下代码:
  2. bind-address = 127.0.0.1

三、DirectAdmin问题解决

3.1 无法连接问题

安装好了DirectAdmin面板后,你可能会遇到无法进入后台、无法查看部分功能以及无法使用FTP等,这些都可能是由于防火墙规则没有放开端口造成了。请使用以下命令操作:

  1. #查看端口开放状态
  2. /etc/init.d/iptables status
  3. #编辑防火墙规则
  4. vim /etc/sysconfig/iptables
  5. #添加以下内容
  6. -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
  7. -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
  8. -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
  9. -A INPUT -m state --state NEW -m tcp -p tcp --dport 35000:35999 -j ACCEPT
  10. #重启防火墙
  11. service iptables restart

查看防火墙规则可以看到端口已经打开。

3.2 无法登录2222端口

参考官网的解决办法:https://help.directadmin.com/item.php?id=75,解决方法如下:

  1. #如果无法通过 2222 端口连接 Directadmin 服务,那有可能就是发生了下面的一些情况:
  2. 1、Directadmin 可能压根就没在运行,那就让它运行。
  3. 2、有可能是防火墙屏蔽 2222 端口。那就可以简单运行下面的命令来处理(只适用于 Redhat 系系统)
  4. /sbin/service iptables stop
  5. /sbin/chkconfig iptables off
  6. 接着测试一下 Directadmin 是否正常运行。如果还是无法解决,就得需要查看 /var/log/directadmin/error.log 来检查还有什么其他原因造成服务服务启动:
  7. tail /var/log/directadmin/error.log
  8. 3、在 /usr/local/directadmin/conf/directadmin.conf 处的网络设备设置有问题。(参见 解决 Directadmin 所装机器识别 IP 与许可证中 IP 不一致的问题)
  9. 4、在一些情况下输入了错误的 uid/lid、IP 或者其他数据,导致出现无效的授权。(参见 手动更新 Directadmin License 许可证授权)
  10. 5、你的终端的 IP 在 /usr/local/directadmin/data/admin/ip_blacklist 中被屏蔽了,也就是说被暴力登录检测判断为暴力登陆了。在 Admin Settings 中的 brute force login detection 设置项设置次数至少为10,以防止本人登陆时的错误判断。
  11. 6、使用了用于不同操作系统的二进制文件。你可以手动尝试启动 Directadmin(如果之前没有启动)来查看问题所在:
  12. cd /usr/local/directadmin
  13. ./directadmin b200
  14. 用调试级别200启动终端,使用 Ctrl+C 来停止。
  15. 7、如果 Directadmin 已经在运行,也绑定到了 2222 端口,但是对于 “127.0.0.1”不响应,而响应了“::1”,那这就应该是 IPv6 的问题了。官方的解释就提到了这种情况。
  16. #比较特别的是对于 CentOS 7 的情况。CentOS 7 使用了不同的防火墙控制方式。要想彻底关闭防火墙,需要运行:
  17. systemctl disable firewalld
  18. systemctl stop firewalld
  19. 如果仅仅是添加 2222 端口,运行下面的命令:
  20. firewall-cmd --permanent --zone=public --add-port=2222/tcp

3.3 无法使用FTP

DirectAdmin中ProFtpd在开启iptables后,并且开放了21号端口,仍然不能连接FTP的解决方法:cat /etc/proftpd.conf。查找PassivePorts后面的端口号,我安装的DirectAdmin面板是这个:PassivePorts 35000 35999。下面修改iptables规则:

  1. #编辑防火墙规则
  2. vim /etc/sysconfig/iptables
  3. #添加以下内容
  4. -A INPUT -m state --state NEW -m tcp -p tcp --dport 35000:35999 -j ACCEPT
  5. #重启iptables即可
  6. service iptables restart

还是无法连接FTP?开启诊断模式

  1. #执行命令
  2. /etc/init.d/proftpd stop
  3. proftpd -n -d 20

3.4 修改FTP默认端口21

经过我的测试发现部分地区网络无法使用21端口,这里将DirectAdmin的FTP默认端口21改成2001为演示,命令如下:

  1. #编辑文件
  2. /etc/init.d/pure-ftpd
  3. #如果你用的是CentOS 7+, Debian 8+,你需要编辑:
  4. /usr/libexec/pureftpd_startscript
  5. #你会看到 2 行 OPTIONS= ,在下面添加第三行
  6. OPTIONS="${OPTIONS} --bind 2001"
  7. #然后重启 pure-ftpd.
  8. #For SysVinit Systems
  9. service pure-ftpd restart
  10. #或者
  11. /etc/init.d/pure-ftpd restart
  12. #For systemd Systems
  13. systemctl restart pure-ftpd
  14. 或者
  15. systemctl restart pure-ftpd.service

3.5 申请免费SSL证书用时过长?

在DirectAdmin后台用户申请LetsEncrypt免费SSL虽然是成功了,但是发现等待时间太长了,可以使用以下命令解决:

  1. #编辑文件:
  2. /usr/local/directadmin/scripts/letsencrypt.sh
  3. #找到:
  4. CURL=/usr/local/bin/curl
  5. if [ ! -x ${CURL} ]; then
  6. CURL=/usr/bin/curl
  7. fi
  8. #在下方添加代码完成如下:
  9. CURL=/usr/local/bin/curl
  10. if [ ! -x ${CURL} ]; then
  11. CURL=/usr/bin/curl
  12. fi
  13. CURL="${CURL} -4"

四、DirectAdmin与WHMCS整合

4.1 新建主机套餐

WHMCS整合DirectAdmin,在DirectAdmin中新建一个套餐,目的是给WHMCS开通空间使用的。

套餐主要是设置空间的容量、月流量、可绑域名数、数据库、FTP等。

4.2 添加服务器

进入WHMCS,在“服务器设置”中添加一个DirectAdmin服务器。

填写你的DirectAdmin服务器IP地址。

在下方选择类型“DirectAdmin”,用户名使用你的DirectAdmin Reseller账户与密码。

没有分销账号和密码,可以回到DirectAdmin创建一个。

4.3 上线产品

添加完了服务器后,你需要添加DirectAdmin虚拟主机产品了。

在模块设置中选择“DirectAdmin”,如果你刚刚的服务器设置正确的话,此时你会看到刚刚在DirectAdmin创建的主机套餐。

最后保存的话就可以看到WHMCS与DirectAdmin已经完美整合在一起了。

在WHMCS中可以看到DirectAdmin登录按钮。

五、 总结

DirectAdmin安装还是挺简单的,特别需要注意的是如果你是在VPS上安装了DirectAdmin面板,可能还需要设置一个网卡。

使用命令:/sbin/ifconfig,查看你当前的网卡名称,例如eth0,这时打开/usr/local/directadmin/conf/directadmin.conf,把ethernet_dev=eth1改成ethernet_dev=eth0,总之这一块内容需要与你的实际网卡保持一致。

WHMCS和DirectAdmin面板整合起来不是很复杂,这主要是得益于WHMCS官方推出的DirectAdmin插件,两个面板配合起来工作非常好,详细可以进入到qyfou.com体验一下。

  • 微信扫码捐赠
  • 微信扫码捐赠
  • 如果帮到了您,您可以赞助我一下!
  • 支付宝扫码捐赠
  • 支付宝扫码捐赠
  • 不论多少,我都向您表示特别的感谢!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: