VPS/云主机建站

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

用过了DirectAdmin空间后,发现DirectAdmin面板还是非常强大的,网站管理、域名绑定、SSL证书申请与管理、邮局以及数据库等功能做得不错,配备DirectAdmin中文,新手用户在使用DirectAdmin空间上搭建网站没有太大的困难。

有同学在DirectAdmin美国1GB免费PHP空间问到能否加上多个PHP版本可供选择,因为现在部分网站程序可能还需要PHP 5.6的支持。这篇文章就来分享一下DirectAdmin面板安装多个PHP版本的过程,同时分享DirectAdmin配置Nginx和自动备份至FTP的方法。

DirectAdmin默认的是Apache,主要是因为Apache对于网站程序的兼容性要好不少,特别适合虚拟主机用户。因为如果用Nginx的话,还要涉及到用户自已写重写规则,比较麻烦。而Apache直接编辑.htaccess文件就可以自定各种功能,用起来会更方便些。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

 

一、DirectAdmin安装多个PHP

DirectAdmin目前支持最多4版本的PHP同时安装及使用,安装命令如下:

  1. #directadmin安装多个版本PHP
  2. cd /usr/local/directadmin/custombuild
  3. ./build update
  4. #执行命令
  5. ./build set php1_release=7.2
  6. ./build set php1_mode=php-fpm
  7. ./build set php2_release=5.6
  8. ./build set php2_mode=php-fpm
  9. ./build set php3_release=7.0
  10. ./build set php3_mode=php-fpm
  11. ./build set php4_release=7.1
  12. ./build set php4_mode=php-fpm
  13. #或者直接编辑
  14. vi options.conf
  15. php1_release=7.2
  16. php1_mode=php-fpm
  17. php2_release=5.6
  18. php2_mode=php-fpm
  19. php3_release=7.0
  20. php3_mode=php-fpm
  21. php4_release=7.1
  22. php4_mode=php-fpm
  23. #重新编译PHP
  24. ./build php n
  25. ./build rewrite_confs

安装完成后,进入到DirectAdmin,在“网站管理”那里就可以给自己的网站选择PHP版本了。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

同样,想要添加PHP 7.3等其它的版本,命令差不多,如下:

  1. #php 7.3
  2. cd /usr/local/directadmin/custombuild
  3. ./build update
  4. ./build set php1_release 7.1
  5. ./build set php2_release 5.6
  6. ./build set php3_release 7.0
  7. ./build set php4_release 7.3
  8. ./build set php1_mode php-fpm
  9. ./build set php2_mode php-fpm
  10. ./build set php3_mode php-fpm
  11. ./build set php4_mode php-fpm
  12. ./build php n
  13. ./build rewrite_confs

二、DirectAdmin改用Nginx

DirectAdmin弃用Apache,改用Nginx非常地简单,记得把所有的PHP模式改成:php-fpm。命令如下:

  1. #安装Nginx
  2. cd /usr/local/directadmin/custombuild
  3. ./build set webserver nginx
  4. ./build set php1_mode php-fpm #版本多的话直接手动修改
  5. ./build update
  6. ./build all d
  7. ./build rewrite_confs

三、DirectAdmin Nginx+Apache

为了保证DirectAdmin建站的兼容性,我们可以保留Apache,同时在前端使用Nginx,这样用户不需要改重写规则又可能享受到nginx带来的性能提升。同样也要求所有的PHP模式为:phpfpm。命令如下:

  1. #安装nginx+Apache
  2. cd /usr/local/directadmin/custombuild
  3. ./build set webserver nginx_apache
  4. ./build set php1_mode php-fpm #版本多的话直接手动修改
  5. ./build update
  6. ./build nginx_apache
  7. ./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的方法,命令如下:

  1. #CentOS 6.10 升级OpenSSL
  2. sudo yum install libtool perl-core zlib-devel -y
  3. curl -O -L https://github.com/openssl/openssl/archive/OpenSSL_1_1_1c.tar.gz
  4. tar -zxvf OpenSSL_1_1_1c.tar.gz
  5. cd openssl-OpenSSL_1_1_1c
  6. ./config –prefix=/usr/local/openssl –openssldir=/usr/local/openssl shared zlib
  7. make
  8. make test
  9. sudo make install
  10. #Add new version to PATH
  11. sudo vi /etc/profile.d/openssl.sh
  12. #粘贴以下内容
  13. pathmunge /usr/local/openssl/bin
  14. #Link libraries
  15. sudo vi /etc/ld.so.conf.d/openssl-1.1.1b.conf
  16. #粘贴以下内容
  17. /usr/local/openssl/lib
  18. #reload linker
  19. sudo ldconfig -v

安装的过程中可能会遇到  Non-zero exit status: 255的错误,如下:

  1. #遇到错误
  2. ../test/recipes/01-test_sanity.t (Wstat: 65280 Tests: 0 Failed: 0)
  3. Non-zero exit status: 255
  4. Parse errors: No plan found in TAP output
  5. Files=1, Tests=0, 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU)
  6. Result: FAIL
  7. make[1]: *** [_tests] Error 1
  8. make[1]: Leaving directory `/root/openssl-OpenSSL_1_1_1b’
  9. make: *** [tests] Error 2

解决的办法是升级Perl ,命令如下:

  1. #解决办法是升级Perl
  2. wget http://www.cpan.org/src/5.0/perl-5.20.2.tar.gz
  3. tar -xzf perl-5.20.2.tar.gz
  4. cd perl-5.20.2
  5. ./Configure -des -Dprefix=$HOME/localperl
  6. make
  7. make test
  8. make install
  9. export PATH=$HOME/localperl/bin:$PATH

用命令:perl -v来查看版本升级成功。

directadmin-php_02.gif插图(2)

最后就是重新安装升级directadmin。

  1. #升级directadmin
  2. cd /usr/local/directadmin/custombuild
  3. ./build update
  4. ./build all d
  5. ./build rewrite_confs

配置SSL。推荐网站:https://ssl-config.mozilla.org,打开你的Apache配置文件,将TLSv1.3加入到Apache中,演示如下:

  1. // 仅启用安全的TLS 1.3和TLS 1.2协议。
  2. SSLProtocol -All +TLSv1.3 +TLSv1.2
  3. // TLS 1.3加密套件
  4. SSLCipherSuite TLSv1.3 TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
  5. // SSLv3 ~ TLS 1.2加密套件
  6. 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
  7. // 椭圆曲线(Named curve)和DH生成元(Diffie-Hellman Parameter)
  8. SSLOpenSSLConfCmd Curves X25519:P-256:P-384
  9. SSLOpenSSLConfCmd DHParameters /etc/ssl/private/dhparam_4096.pem
  10. // 在不支持AES-NI的设备上优先使用CHACHA20-POLY1305
  11. SSLOpenSSLConfCmd Options “+PrioritizeChaCha”

你可以自己根据Web环境来配置,最后重启Apache生效。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

DirectAdmin也提供了自定义SSL配置的选项,你不需要去寻找Apache的配置文件,使用以下命令可以修改所有的SSL配置。

  1. #自定义SSL
  2. cd /usr/local/directadmin/custombuild
  3. mkdir -p custom/ap2/conf/extra
  4. cp configure/ap2/conf/extra/httpd-ssl.conf custom/ap2/conf/extra/httpd-ssl.conf
  5. #编辑
  6. /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-ssl.conf
  7. #加入自定义配置
  8. SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  9. 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
  10. SSLHonorCipherOrder On
  11. SSLCompression off
  12. #重新配置
  13. cd /usr/local/directadmin/custombuild
  14. ./build rewrite_confs

五、DirectAdmin启用brotli

DirectAdmin启用brotli 不是很复杂,如果你的系统是CentOS的话,可以参考以下命令先安装好brotli 。

  1. #自定义apache配置
  2. cd /usr/local/directadmin/custombuild
  3. mkdir -p custom/ap2
  4. cp configure/ap2/configure.apache custom/ap2/configure.apache
  5. vi custom/ap2/configure.apache
  6. #加入以下扩展
  7. –enable-brotli
  8. –with-brotli=/usr
  9. #继续安装编译
  10. ./build clean
  11. ./build update
  12. ./build nginx_apache
  13. #或者./build apache
  14. ./build rewrite_confs
  15. #重启完成
  16. /sbin/service httpd restart

注意添加Apache扩展时记得结尾有一个“\”号。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

打开浏览器可以看到brotli 压缩启用成功了。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

六、DirectAdmin自动备份至FTP

DirectAdmin自带了系统自动备份功能,你可以通过管理工具来启用。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

选择DirectAdmin的备份内容。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

然后给DirectAdmin添加定时任务。

directadmin-php_13.gif插图(8)

最后我们就可以在FTP服务器里看到备份过来的文件了。PS:2019年8月22日更新,如果不想自建FTP服务器,可以采用第三方的FTP存储服务:比如又拍云FTP和坚果云WebDAV。

如何在DirectAdmin中安装多个PHP版本 以及配置Nginx/brotli压缩/备份至FTP方法

七、总结

DirectAdmin面板功能强大,支持多个PHP版本,同时也可以自己安装各种PHP扩展,如果自己对安全要求高的话,也可以自定义SSL配置,比如说禁用tls 1.0等不安全的协议。

在编译DirectAdmin扩展时记得要保证Apache、Nginx以及MysqL、PHP等的兼容性,添加完了扩展后要记得重新安装一遍PHP或者DirectAdmin,最后重写配置文件。

(END)

文章出自:挖站否 https://wzfou.com/directadmin-php/,版权所有。部分内容参考vultrdirectadminesecuredatablacksaildivision