在Directadmin设置Nginx强制跳转https

作者:@ouyang 发布时间:2018年10月06日 阅读: 4,895 分类:Linux摘要

Directadmin使用起来非常方便,Nginx的一些规则在自定义Httpd配置就可以直接进行设置。
一般习惯在CUSTOM3进行设置规则,可直接写在server里头。网上的nginx的一些规则适合手动配置Nginx,但DA设置后会直接写http与https在两个配置里,这时候就需要加if进行判断。

if ($server_port = "80") {
   rewrite ^/(.*)$ https://$server_name/$1 permanent;
}

我这里直接判断服务器端口为80就强制转向https,如果不加判断会出现链接重置过多而500错误。加一个判断就可轻松解决了。

阿里云内网安装Directadmin解决方法

作者:@ouyang 发布时间:2017年06月13日 阅读: 4,746 分类:Linux摘要

阿里云现在可以自定义内网IP和路由,对外IP不是直接绑定的外网IP。
但安装Directadmin需要外网授权IP,所以必须增加一个虚拟网卡才能够进行安装。

比如设置阿里云内网为IP是172.18.13.88, 外网分配IP是120.24.100.100,环境为CentOS6.8

首先设置一张虚拟网卡:

/sbin/ifconfig eth0:0 120.24.100.100 netmask 255.255.255.0 up
echo "/sbin/ifconfig eth0:0 120.24.100.100 netmask 255.255.255.0 up" >> /etc/rc.local

设置NAT转发:

iptables -t nat -A POSTROUTING -s 120.24.100.100 -j SNAT --to-source=172.18.13.88

再测试一下是否能够正确curl DA官网

curl --interface eth0:0 -v https://www.directadmin.com

阅读剩余部分...

DirectAdmin自动升级相关组件

作者:@ouyang 发布时间:2017年05月30日 阅读: 3,818 分类:Linux摘要

DirectAdmin拥有一键安装、升级的脚本,简单的使用几条命令就可以让Directadmin自动升级相关的组件。

一、手动指定
若需要Directadmin自带的MySql的版本从5.1升级到5.5

# vim /usr/local/directadmin/custombuild/options.conf

SSH执行以上命令,编辑options.conf,将“mysql=5.1”更改为“mysql=5.5”,保存即可。

然后执行以下命令,系统会自动升级或降级(如果设置了旧版本则是降级)。

# /usr/local/directadmin/custombuild/build mysql

其它组件也是一样的格式,替换为您要升级或降级的组件即可。

二、自动升级
1、检查最新软件版本

# /usr/local/directadmin/custombuild/build versions

2、若有新版,获得最新安装包

# /usr/local/directadmin/custombuild/build update

3、获取完毕,再执行升级

# /usr/local/directadmin/custombuild/build update_versions

SSH执行以上命令即可。

更换Directadmin下载服务器

作者:@ouyang 发布时间:2016年11月04日 阅读: 2,762 分类:学习笔记

Directadmin服务器全球有很多服务器,但国内连接都速度太慢了。Directadmin还好有HK的服务器。
目前12号服务器为香港服务器,可以定义从12号服务器进行下载更新。

cd /usr/local/directadmin/custombuild
./build set downloadserver files12.directadmin.com

也可以把12改为你要的下载服务器。查看全部服务器地址

cat /usr/local/directadmin/custombuild/servers.txt

Directadmin平滑升级nginx版本,添加nginx–http–concat模块

作者:@ouyang 发布时间:2016年02月20日 阅读: 2,616 分类:学习笔记

[root@server ~]#nginx -V   //查看Nginx安装信息以及目录
nginx version: nginx/1.8.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/usr --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --with-ipv6 --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_dav_module --with-cc-opt=''-D FD_SETSIZE=32768''

下载nginx-http-concat模块以及nginx最新版本

[root@server ~]# git clone git://github.com/alibaba/nginx-http-concat.git  //下载nginx-http-concat模块
[root@server ~]# mv nginx–http–concat/ /usr/local/src/nginx-http-concat   //将模块移动到指定目录
[root@server ~]# wget http://nginx.org/download/nginx-1.9.11.tar.gz  //下载最新nginx版本
[root@server ~]# tar zxvf nginx-1.9.11.tar.gz  //解压
[root@server ~]# cd nginx-1.9.11   //进入nginx最新目录

这里需要修改一下nginx-http-concat的ngx_http_concat_module.c文件,因为nginx最新的js类别已经修改成application/javascript。所以需要将ngx_http_concat_module.c里的application/x-javascript修改成application/javascript。不然js无法合并,并会提示400错误。

[root@server nginx-1.9.11]# vi /usr/local/src/nginx-http-concat/ngx_http_concat_module.c
找到
ngx_string("application/x-javascript")
将其修改为
ngx_string("application/javascript")
:wq  //保存

现在可以进行编译了,将nginx-http-concat一起与nginx编译。

[root@server nginx-1.9.11]# ./configure  --user=nginx --group=nginx --prefix=/usr --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --with-ipv6 --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_dav_module --with-cc-opt="-D FD_SETSIZE=32768" --add-module=/usr/local/src/nginx-http-concat
make

make以后进入objs

[root@server nginx-1.9.11]# cd ./objs
[root@server objs]# mv /usr/sbin/nginx /usr/sbin/nginx.old   //移动1.8版本nginx为nginx.old
[root@server objs]# cp nginx /usr/sbin/nginx  //将刚编译的1.9.11的nginx复制原地址。

这个时候基本就升级完成了。

[root@server objs]# nginx -V
nginx version: nginx/1.9.11
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr --user=nginx --group=nginx --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --with-ipv6 --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_dav_module --with-cc-opt='-D FD_SETSIZE=32768' --add-module=/usr/local/src/nginx-http-concat

这时候看到nginx版本升级到指定版本,并且看到nginx-http-concat已经成功编译进去。
但还没有完成,我们还需要在nginx.conf里面进行配置。
举例:

server
{
        listen 120.0.0.1:80;
        server_name ouyang.wang www.ouyang.wang ;
        access_log /var/log/nginx/domains/ouyang.wang.log;
        access_log /var/log/nginx/domains/ouyang.wang.bytes bytes;
        error_log /var/log/nginx/domains/ouyang.wang.error.log;
        root /home/domains/ouyang.wang/public_html;
        index index.htm index.html index.php;
        include /usr/local/directadmin/data/users/news/nginx_php.conf;
        location / {
        concat on;
        concat_max_files 20;
        concat_unique off;  //允许不同类型文件合并
        }
        include /etc/nginx/webapps.conf;
}

只需要将下列加入server里即可。

        location / {
        concat on;
        concat_max_files 20;
        concat_unique off; 
        }

参数说明:

# nginx_concat_module 开关
concat on; 

# 最大合并文件数
# concat_max_files 10;

# 允许不同类型文件合并
# concat_unique off;

# 允许合并的文件类型,多个以逗号分隔。如:application/javascript, text/css
# concat_types application/javascript, text/css;

配置保存完成后,启动nginx即可。

 systemctl reload nginx.service

Directadmin开启共享IP支持SSL功能

作者:@ouyang 发布时间:2015年06月02日 阅读: 2,717 分类:Linux摘要

随着沃通的SSL证书免费,而且还有免费就3年的SSL证书,都是基于域名的。所以独立IP限制就不是那么重要了。
Directadmin开启SSL支持很简单!
第一步:

[root@localhost ~]sed -i '$a enable_ssl_sni=1' /usr/local/directadmin/conf/directadmin.conf

执行后可以用cat查看最尾有没有enable_ssl_sni=1,当然也可以手工vi加入!

阅读剩余部分...

Directadmin屏蔽暴力破解IP

作者:@ouyang 发布时间:2015年04月02日 阅读: 2,933 分类:Linux摘要

服务器都是基于CentOS和Directadmin的环境。但最为头疼的就是每天爆满的穷举破解。很是头疼。
所以翻阅官网说明,特此摘录:

第一步:

cd /etc/init.d
mv iptables iptables.bak
wget http://files.directadmin.com/services/all/iptables
chmod 755 iptables   
//此时一定要记得配置iptables的文件,不然你修改了SSH默认22端口是其他端口的话,你就杯具了。
/etc/init.d/iptables restart

第二步:

cd /usr/local/directadmin/scripts/custom
wget http://files.directadmin.com/services/all/block_ip.sh
wget http://files.directadmin.com/services/all/show_blocked_ips.sh
wget http://files.directadmin.com/services/all/unblock_ip.sh
chmod 700 block_ip.sh show_blocked_ips.sh unblock_ip.sh

第三步:

touch /root/blocked_ips.txt
touch /root/exempt_ips.txt

第四部:(自动封禁IP)

vi /usr/local/directadmin/scripts/custom/brute_force_notice_ip.sh

将一下内容填入进去:

#!/bin/sh
SCRIPT=/usr/local/directadmin/scripts/custom/block_ip.sh
ip=$value $SCRIPT
exit $?;

然后:wq保存
赋权限:

chmod 700 brute_force_notice_ip.sh

(前提一定要在custom文件夹下,不然赋不了权限,这个很基础。)
OK完成!现在也可以在后台设置屏蔽IP地址。

Directadmin后台登陆显示License has expired.

作者:@ouyang 发布时间:2015年02月19日 阅读: 2,781 分类:Linux摘要

由于没有常登陆后台的习惯,发现显示License has expired.
经过查询是可恶的DA有效期过了,需要更新授权KEY。
DA本身就自带了sh脚本,通过下面两条命令即可解决:

/usr/local/directadmin/scripts/getLicense.sh [你的授权cid] [你的授权lic_id]
/etc/init.d/directadmin restart

DirectAdmin安装成功,但无法登录管理后台

作者:欧阳 发布时间:2013年03月07日 阅读: 3,265 分类:Linux摘要

在国内服务器上DA安装两遍都无法通过管理后台登录。

开始以为是安装中间出现问题,但花费3个小时逐个安装还是无法访问。

后面仔细看到DA检测出来的是Server IP: 10.0.5.115,想想是否是授权IP没有填写外网授权IP的问题?

由于服务器没有双网卡,网卡都是填写的内网IP地址,不能够顺便改动,所以添加一张虚拟网卡试试?

进入cd /etc/sysconfig/network-scripts   用ls查看到只有ifcfg-eth0

ifcfg-eth0内容,看到是开启了dhcp。

阅读剩余部分...

CSF未配置导致Lfd进程无法启动的问题

作者:欧阳 发布时间:2012年10月05日 阅读: 2,901 分类:Linux摘要

DA安装CSF以后,由于未配置所以导致DA后台消息爆满。
经过检查才发现原来CSF未关闭测试模式,所以一直通知消息Lfd down。

打开 CSF的配置 /etc/csf/csf.conf  查找到 TESTING 把默认的1修改为0,及关闭测试模式。

然后csf -crs 重启CSF和Lfd即可。

CSF配置一些参数:
CT_LIMIT 是最大并发数,默认值为0及不限制,一般建议设置为200左右即可 。

CT_PERMANENT 默认值为0,临时性屏蔽。

CT_BLOCK_TIME 临时性屏蔽多长时间 ,默认为1800秒,及30分钟,这个可以根据需要修改时长,我设置为300,5分钟。

ICMP_IN 是否允许Ping服务器,默认为开启值为1,允许Ping。设置0为禁止Ping.

很多参数设置,可以仔细琢磨,配置出适合自己的一套方案。

The service ‘lfd’ on server Joming.com is currently down  
This message has been automatically generated notifying you that the service lfd is currently down.