DirectAdmin安装多个PHP版本,配置Nginx和brotli压缩以及备份至FTP
用过了DirectAdmin空间后,发现DirectAdmin面板还是非常强大的,网站管理、域名绑定、SSL证书申请与管理、邮局以及数据库等功能做得不错,配备DirectAdmin中文,新手用户在使用DirectAdmin空间上搭建网站没有太大的困难。
有同学在挖站否美国1GB免费PHP空间问到能否加上多个PHP版本可供选择,因为现在部分网站程序可能还需要PHP 5.6的支持。这篇文章就来分享一下DirectAdmin面板安装多个PHP版本的过程,同时分享DirectAdmin配置Nginx和自动备份至FTP的方法。
DirectAdmin默认的是Apache,主要是因为Apache对于网站程序的兼容性要好不少,特别适合虚拟主机用户。因为如果用Nginx的话,还要涉及到用户自已写重写规则,比较麻烦。而Apache直接编辑.htaccess文件就可以自定各种功能,用起来会更方便些。
更多的关于网站建设的经验文章,请参考:
- 博客主要应用技术及支持特性-挖站否网站与服务器优化方法总结
- idc.wiki 微基主机VPS主机性能与速度测评-日本香港及美国波特兰KVM
- cPanel和DirectAdmin面板备份和恢复方法-cPanel和DirectAdmin搬家
PS:2019年8月19日更新,DirectAdmin安装缓存以及整合WHMCS的方法参考:
一、DirectAdmin安装多个PHP
DirectAdmin目前支持最多4版本的PHP同时安装及使用,安装命令如下:
#directadmin安装多个版本PHP cd /usr/local/directadmin/custombuild ./build update #执行命令 ./build set php1_release=7.2 ./build set php1_mode=php-fpm ./build set php2_release=5.6 ./build set php2_mode=php-fpm ./build set php3_release=7.0 ./build set php3_mode=php-fpm ./build set php4_release=7.1 ./build set php4_mode=php-fpm #或者直接编辑 vi options.conf php1_release=7.2 php1_mode=php-fpm php2_release=5.6 php2_mode=php-fpm php3_release=7.0 php3_mode=php-fpm php4_release=7.1 php4_mode=php-fpm #重新编译PHP ./build php n ./build rewrite_confs
安装完成后,进入到DirectAdmin,在“网站管理”那里就可以给自己的网站选择PHP版本了。
同样,想要添加PHP 7.3等其它的版本,命令差不多,如下:
#php 7.3 cd /usr/local/directadmin/custombuild ./build update ./build set php1_release 7.1 ./build set php2_release 5.6 ./build set php3_release 7.0 ./build set php4_release 7.3 ./build set php1_mode php-fpm ./build set php2_mode php-fpm ./build set php3_mode php-fpm ./build set php4_mode php-fpm ./build php n ./build rewrite_confs
二、DirectAdmin改用Nginx
DirectAdmin弃用Apache,改用Nginx非常地简单,记得把所有的PHP模式改成:php-fpm。命令如下:
#安装Nginx cd /usr/local/directadmin/custombuild ./build set webserver nginx ./build set php1_mode php-fpm #版本多的话直接手动修改 ./build update ./build all d ./build rewrite_confs
三、DirectAdmin Nginx+Apache
为了保证DirectAdmin建站的兼容性,我们可以保留Apache,同时在前端使用Nginx,这样用户不需要改重写规则又可能享受到nginx带来的性能提升。同样也要求所有的PHP模式为:php-fpm
。命令如下:
#安装nginx+Apache cd /usr/local/directadmin/custombuild ./build set webserver nginx_apache ./build set php1_mode php-fpm #版本多的话直接手动修改 ./build update ./build nginx_apache ./build rewrite_confs
这样网页会显示服务器为nginx,实际上是后端采用Apache。
四、DirectAdmin配置TLSv1.3
Apache启用TLSv1.3需要Apache 2.4.37版本以上,OpenSSL 1.1.1版本以上。你可以通过命令httpd -V和openssl version来查看自己的版本是否符合要求。这里给出CentOS 6.10 升级OpenSSL_1_1_1b的方法,命令如下:
#CentOS 6.10 升级OpenSSL sudo yum install libtool perl-core zlib-devel -y curl -O -L https://github.com/openssl/openssl/archive/OpenSSL_1_1_1c.tar.gz tar -zxvf OpenSSL_1_1_1c.tar.gz cd openssl-OpenSSL_1_1_1c ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib make make test sudo make install #Add new version to PATH sudo vi /etc/profile.d/openssl.sh #粘贴以下内容 pathmunge /usr/local/openssl/bin #Link libraries sudo vi /etc/ld.so.conf.d/openssl-1.1.1b.conf #粘贴以下内容 /usr/local/openssl/lib #reload linker sudo ldconfig -v
安装的过程中可能会遇到 Non-zero exit status: 255的错误,如下:
#遇到错误 ../test/recipes/01-test_sanity.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=1, Tests=0, 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) Result: FAIL make[1]: *** [_tests] Error 1 make[1]: Leaving directory `/root/openssl-OpenSSL_1_1_1b' make: *** [tests] Error 2
解决的办法是升级Perl ,命令如下:
#解决办法是升级Perl wget http://www.cpan.org/src/5.0/perl-5.20.2.tar.gz tar -xzf perl-5.20.2.tar.gz cd perl-5.20.2 ./Configure -des -Dprefix=$HOME/localperl make make test make install export PATH=$HOME/localperl/bin:$PATH
用命令:perl -v来查看版本升级成功。
最后就是重新安装升级directadmin。
#升级directadmin cd /usr/local/directadmin/custombuild ./build update ./build all d ./build rewrite_confs
配置SSL。推荐网站:https://ssl-config.mozilla.org,打开你的Apache配置文件,将TLSv1.3加入到Apache中,演示如下:
// 仅启用安全的TLS 1.3和TLS 1.2协议。 SSLProtocol -All +TLSv1.3 +TLSv1.2 // TLS 1.3加密套件 SSLCipherSuite TLSv1.3 TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 // SSLv3 ~ TLS 1.2加密套件 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384 // 椭圆曲线(Named curve)和DH生成元(Diffie-Hellman Parameter) SSLOpenSSLConfCmd Curves X25519:P-256:P-384 SSLOpenSSLConfCmd DHParameters /etc/ssl/private/dhparam_4096.pem // 在不支持AES-NI的设备上优先使用CHACHA20-POLY1305 SSLOpenSSLConfCmd Options "+PrioritizeChaCha"
你可以自己根据Web环境来配置,最后重启Apache生效。
DirectAdmin也提供了自定义SSL配置的选项,你不需要去寻找Apache的配置文件,使用以下命令可以修改所有的SSL配置。
#自定义SSL cd /usr/local/directadmin/custombuild mkdir -p custom/ap2/conf/extra cp configure/ap2/conf/extra/httpd-ssl.conf custom/ap2/conf/extra/httpd-ssl.conf #编辑 /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-ssl.conf #加入自定义配置 SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK SSLHonorCipherOrder On SSLCompression off #重新配置 cd /usr/local/directadmin/custombuild ./build rewrite_confs
五、DirectAdmin启用brotli
DirectAdmin启用brotli 不是很复杂,如果你的系统是CentOS的话,可以参考以下命令先安装好brotli 。
#自定义apache配置 cd /usr/local/directadmin/custombuild mkdir -p custom/ap2 cp configure/ap2/configure.apache custom/ap2/configure.apache vi custom/ap2/configure.apache #加入以下扩展 --enable-brotli --with-brotli=/usr #继续安装编译 ./build clean ./build update ./build nginx_apache #或者./build apache ./build rewrite_confs #重启完成 /sbin/service httpd restart
注意添加Apache扩展时记得结尾有一个“\”号。
打开浏览器可以看到brotli 压缩启用成功了。
六、DirectAdmin自动备份至FTP
DirectAdmin自带了系统自动备份功能,你可以通过管理工具来启用。
选择DirectAdmin的备份内容。
然后给DirectAdmin添加定时任务。
最后我们就可以在FTP服务器里看到备份过来的文件了。PS:2019年8月22日更新,如果不想自建FTP服务器,可以采用第三方的FTP存储服务:巧用又拍云FTP和坚果云WebDAV。
七、总结
DirectAdmin面板功能强大,支持多个PHP版本,同时也可以自己安装各种PHP扩展,如果自己对安全要求高的话,也可以自定义SSL配置,比如说禁用tls 1.0等不安全的协议。
在编译DirectAdmin扩展时记得要保证Apache、Nginx以及MysqL、PHP等的兼容性,添加完了扩展后要记得重新安装一遍PHP或者DirectAdmin,最后重写配置文件。
文章出自:挖站否 https://wzfou.com/directadmin-php/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。部分内容参考vultr、directadmin、esecuredata、blacksaildivision。
[bm可爱] 前几个月太忙,忘记迁移了。今天发现送的迁移的注册码不能用了[泪]。又兑换了一个。
很好用 感谢[哈哈]