用过了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
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,最后重写配置文件。
(END)
文章出自:挖站否 https://wzfou.com/directadmin-php/,版权所有。部分内容参考vultr、directadmin、esecuredata、blacksaildivision。