月度归档: 2019 年 4 月

  • WordPress安装环境需要PHP与MySQL版本要求

    WordPress安装环境需要PHP与MySQL版本要求

    我们在WordPress官方网站下载最新版程序的时候,有文档已经提到建议的最佳PHP与MYSQL数据库版本,以及推荐的WEB环境支持。

    We recommend servers running version 7.3 or greater of PHP and MySQL version 5.6 OR MariaDB version 10.0 or greater. We also recommend either Apache or Nginx as the most robust options for running WordPress, but neither is required.

    我们可以看到建议是PHP7.3(最新版本是PHP7.3),以及数据库要求最低是MySQL5.6或者MariaDB 10.0,WEB引擎是Nginx或者是Apache,这也是我们大家常用的。这次主要是明确要求PHP的最低版本,其实官方在文章中也有提到:

    This is the first increase in PHP required version for WordPress since 2010, but may not be the only increase in 2019. The WordPress core team will monitor the adoption of the most recent versions of PHP with an eye towards making PHP 7+ the minimum version towards the end of the year.

    这次PHP升级是版本要求是从2010年以来的第一次,估计在后面会要求PHP7+版本起步,所以如果我们可以的话,建议直接升级到7.0+版本,毕竟从众多网友的测试看在性能上PHP7+之后性能是比较优秀的。不过,前提也需要考虑到我们使用的主题和插件兼容性。

    如果我们的服务器中有其他程序需要用到低版本的PHP的话,我们可以考虑在WEB环境中多PHP并存,一般的工具也都可以实现。

  • Linux下使用Oneinstack Web环境一键升级到最新版本 图文教程

    Linux下使用Oneinstack Web环境一键升级到最新版本 图文教程

    目前,在没有安装面板的Linux Web环境中使用较多的是Oneinstack和Lnmp,都可以快速的部署lamp、lnmp等常规的WEB环境,比我们自己编译节省很多的时间,而且自带工具可以快速的进行站点添加、管理和备份等服务。而且这两个脚本都会经常的更新和升级,如果我们需要保持最新版本可以根据官方提供的方法升级到最新版本。

    今天在处理一个Oneinstack脚本的时候发现服务器中安装的是较早的版本,而且自带的HTTPS安装功能是不具备的。于是询问脚本作者告知可以升级到最新版本就可以。这里拿到官方的升级方法。

    cd ~/oneinstack
    curl http://mirrors.linuxeye.com/upgrade_oneinstack.sh | bash

    这样我们可以看到升级到最新版本。

    如果我们下面在添加站点或者其他任何任务的时候会进行一个升级过程。测试删除站点的时候有报错”ERROR: unknown argument! “。

    其实是官方的小工具变了,删除站点原来是需要用到./vhost.sh del的,如今是./vhost.sh –del。

  • 零基础如何在Linux系统下搭建WordPress?

    零基础如何在Linux系统下搭建WordPress?

    前面我们写了很多教程,但是有些小伙伴还是看不明白,下面我们写一下,如何零基础在Linux系统中创建WordPress。下面我们就以BT面板为例。

    使用PUTTY连接到SSH终端

    一般的系统用户名密码会以邮件或短信等形式通知用户。

    在Linux系统中安装BT宝塔WEB面板

    创建域名主机

    如何切换PHP版本?

    安装WordPress

  • 宝塔BT面板中如何新建网站站点?

    宝塔BT面板中如何新建网站站点?

    宝塔控制面板安装完成之后,我们只需要把域名解析到服务器,然后就是搭建了网站了。WordPress采集插件演示一下在宝塔控制面板搭建网站的流程。

    1,将域名解析到服务器之后,在宝塔面板-网站-添加站点,中添加已经解析好的域名,建议添加www域名。

    2,添加域名创建数据库

    4,然后在文件管理中,进入对应网站的网站根目录上传网站源码。

    网站默认根目录是www/wwwroot/你的网站域名。记得删除目录中的index.html

    5,源码上传之后,在浏览器中打开网站域名,一般会自动跳转到安装页面,完成安装即可。如果没有跳转到安装页面则手动输入安装地址即可。

  • Vultr 在Linux系统中Nginx环境下如何建立基于域名的虚拟主机?

    Vultr 在Linux系统中Nginx环境下如何建立基于域名的虚拟主机?

    虽然现在面板横行,比如:宝塔,amh。但是使用面板如何出现错误就比较难找出原因。所以我们讲述一下不依靠面板如何在Linux中配置nginx基于域名的虚拟主机。

    Linux环境中如何安装Nginx?

    我们这里就直接讲述如何在web环境中创建一个域名jiloc.com的虚拟主机,这里需要说明的是,我们的域名已经解析到对应的ip,所以这里直接新建虚拟主机即可。

    创建配置文件

    默认情况下,我们只需要在/etc/nginx/conf.d创建一个 *.conf的文件,那么nginx就会自动将这个文件引用进入了。

    vi /etc/nginx/conf.d/www.jiloc.com.conf
    server {
      listen 80 default_server; #这里指定为默认域名
      server_name jiloc.com;
      root /var/www/html/www.jiloc.com;
      index index.php index.html index.htm;
    }

    测试修改后的配置

    nginx -t

    重启nginx服务

    /etc/init.d/nginx restart
  • ThinkPHP 在Apache和Nginx中伪静态规则如何写?

    ThinkPHP 在Apache和Nginx中伪静态规则如何写?

    最近有接触到ThinkPHP框架,对于这个框架之前有听说应该还是相当有知名度的。我们之前也有使用过。

    这里把Apache和Nginx伪静态整理出来下次用的时候用Nginx系统,这次就根据他说的先用Apache。

    以下是配置文件的修改,请参考:

    Apache

    <IfModule mod_rewrite.c>
    Options +FollowSymlinks -Multiviews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>

    Nginx

    location / {
    if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?s=$1 last;
    break;
    }
    }

    下次需要用的时候直接复制去使用。

  • Windows 10启用Linux子系统(WSL) 图文教程

    Windows 10启用Linux子系统(WSL) 图文教程

    Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 “Trusty Tahr”映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

    启用Linux子系统

    在“程序和功能” – 启用或关闭Windows功能 – 勾选适用于Linux的Windows子系统,然后点击确定等待Windows自动安装。

    安装完毕后需要重启一次才会生效,重启后打开Windows应用商店,搜索“Debian”或者“Ubuntu”,然后进行安装。

    使用Linux子系统

    这里老季安装的是Debian,首次启动WSL的时候会要求设置一个账号、密码,根据提示完成设置即可。

    注意上面设置的用户是没有root权限的,我们可以通过sudo su -来切换root用户,或者在某些需要root权限运行的条件下加上sudo命令即可。

    总结

    Windows 10子系统(WSL)可以原生运行Linux命令,但遗憾的是窗口不支持多标签运行,不过好在很多第三方软件已经支持设置WSL作为终端,比如Putty可以将终端设置为WSL,这样就可以在MobaXterm 环境下多标签使用WSL了。


  • Vultr中Nginx环境下PHP安全设置 图文教程

    Vultr中Nginx环境下PHP安全设置 图文教程

    Vultr注册即送$50.我们购买了Vps之后,一般会选择宝塔面板、Oneinstack、LNMP等集成环境大多数都使用Nginx作为WEB服务,Nginx + PHP情况下使用FPM(FastCGI 进程管理器)来执行PHP,这篇文章抛开PHP程序写法不严谨造成的本身漏洞,单从WEB服务和PHP本身设置来加强PHP程序安全。

    禁用危险函数

    前面我们写了WordPress采集插件,需要使用到终端下的curl,这里可能需要适用到exec,system函数。否则无法采集https的网站。

    https://www.jiloc.com/43750.html

    PHP提供的system()等函数可以直接执行系统命令,如果程序限制不严谨或写法不规范,被骇客利用是非常危险的,禁用此类较为危险的函数非常有必要。需要修改php.ini,添加如下内容:

    disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen

    防止跨站攻击

    跨站攻击通常表现为A网站被黑之后,骇客利用脚本再次访问B网站或其它目录,最终可能导致所有网站全部沦陷。

    open_basedir 参数将php所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。open_basedir设置的方法比较多,这里列出几个常用的。

    php.ini设置

    可以直接修改php.ini直接加入

    open_basedir="指定目录"

    从PHP脚本上设置

    在程序脚本上限制:

    ini_set('open_basedir', '指定目录');

    通过.user.ini 进行设置

    先来看看官方具体是如何解释.user.ini这个文件的:

    自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。

    除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER[‘DOCUMENT_ROOT’] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。

    在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置可被识别。

    简而言之,也就是说当PHP以CGI/FastCGI SAPI方式运行时,会去读取一个.user.ini的配置,我们可以在这里面设定open_basedir参数来防止跨站。

    在站点根目录下新建一个.user.ini,内容如下:

    open_basedir=/data/wwwroot/:/tmp/:/proc/

    为防止.user.ini被篡改,可以给这个文件加上隐藏属性。

    chattr +i .user.ini

    目前已知的宝塔面板,军哥LNMP(lnmp.org)默认使用.user.ini来防止跨站,这个方式非常灵活,可以针对某个网站单独设置。

    禁止部分目录执行PHP

    大多数PHP框架,如CodeIgniter、ThinkPHP都是单一入口,只需要index.php有入口权限程序就能正常运行。上传目录、静态文件目录完全没必须要赋予PHP执行权限,否则反而可能被利用。nginx可以通过下面的规则来禁止某个目录执行PHP:

    #uploads|templets|data 这些目录禁止执行PHP
    location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
        return 444;
    }


  • [Vultr]Linux系统中iptables防火墙 常用规则整理

    [Vultr]Linux系统中iptables防火墙 常用规则整理

    iptables 是一个配置 Linux 内核 防火墙 的命令行工具,是 netfilter 项目的一部分。目前大多数Linux默认使用iptables作为防火墙,因此有必要熟悉和了解一下。

    安装iptables

    如果您的系统没有安装iptables,可以通过以下命令安装(以CentOS 7为例):

    yum install -y iptables
    yum install iptables-services

    常用选项

    -t<表>:指定要操纵的表;
    -A:向规则链中添加条目;
    -D:从规则链中删除条目;
    -i:向规则链中插入条目;
    -R:替换规则链中的条目;
    -L:显示规则链中已有的条目;
    -F:清楚规则链中已有的条目;
    -Z:清空规则链中的数据包计算器和字节计数器;
    -N:创建新的用户自定义规则链;
    -P:定义规则链中的默认目标;
    -h:显示帮助信息;
    -p:指定要匹配的数据包协议类型;
    -s:指定要匹配的数据包源ip地址;
    -j<目标>:指定要跳转的目标;
    -i<网络接口>:指定数据包进入本机的网络接口;
    -o<网络接口>:指定数据包要离开本机所使用的网络接口。

    常用命令

    #查看当前iptables规则
    iptables -L -n
    #清空所有默认规则
    iptables -F
    #清空所有自定义规则
    iptables -X
    #允许所有进来的流量
    iptables -P INPUT ACCEPT
    #将规则写入配置文件保存
    service iptables save
    #查看iptables状态
    service iptables status
    #停止iptables
    service iptables stop
    #启动
    service iptables start
    #重启
    service iptables restart

    示例

    只允许222.209.77.60连接22端口,其它IP来连接22端口一律丢弃

    iptables -I INPUT -s 222.209.77.60 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j DROP

    解释下上面的参数:

    • -I : 以第一个规则插入链
    • -A : 正常添加一个规则链
    • -s : 源IP
    • -p : 指定协议,常用的协议有tcp/udp/icmp/http/ftp等
    • --dport : 指定目标端口
    • -j : 需要执行的动作,常用的动作有ACCEPT(允许)、DROP(丢弃)、REJECT(拒绝)
    • -d : 目标IP/或子网

    可能您还会发现上面的规则有个INPUT选项,这个选项叫做规则链,最常用的链包括INPUT(流入),OUTPUT(流出),通过规则链来管理流入、流出的流量。

    依葫芦画飘,通过上面的列子,我们再来添加一个禁ping的规则就很简单了。下面的例子丢弃所有流入的ICMP包:

    iptables -A INPUT -p icmp -j DROP

    上面的规则都是流入(INPUT),再来一个流出的列子。下面的规则拒绝所有流出的UDP流量,仅允许UDP流量请求119.29.29.29的53端口

    #先禁止所有UDP流量流出
    iptables -A OUTPUT -p udp -j DROP
    #允许UDP流出到119.29.29.29 53端口
    iptables -I OUTPUT -p udp -d 119.29.29.29 --dport 53 -j ACCEPT

    一些常用的规则

    #放行80端口
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    #禁止连接3306端口
    iptables -A INPUT -p tcp --dport 3306 -j DROP
    #禁ping
    iptables -A INPUT -p icmp -j DROP

    直接用上面的规则只是临时生效,如果希望永久生效别忘记保存规则service iptables save


  • [Enoctus] VPS 月付$10/无限流量/1GB内存/24GB SSD 硬盘

    [Enoctus] VPS 月付$10/无限流量/1GB内存/24GB SSD 硬盘

    Enoctus是一个成立于2017年的英国商家,2018年4月之前比较火,主要是从事大陆直连的香港VPS销售,由于线路不错,而且是大端口,当时相信很多人都上了车。但是最后商家跑路了,既不退款也不为老用户做其他的安排,所以此商家信誉上是有问题的。应该差不多过了一个多月的时间,Enoctus又想卷土从来了,而且使用之前的品牌名称,网站域名、LOGO什么的都没有更改,脸皮还真的很厚,不知道是出于什么原因有勇气这么做。官方一直说是遭受攻击的原因,但是即时是遭受攻击,如果是负责人的商家,也应该认真对待客户。这里提醒各位博友,选择产品一定要慎重,拿不准的就按月付款,尽量选择知名度高的老牌信用商家,特别是建站的朋友们,一定要珍惜自己的数据。

    Enoctus此次卷土从来,主要从事英国伦敦、美国纽约、美国洛杉矶、德国法兰克福四个数据中心的产品销售,目前付款方式只支持Credit Card、Bitcoin、UK Bank Transfer三种方式,不支持PayPal。

    现在他们家推出了纽约、洛杉矶无限流量小鸡,配置如下,如果年付得话时间可以额外总送2个月。

    CloudServ-1024CloudServ-2048
    Memory: 1GB
    Processors: 1
    SSD: 24GB
    Bandwidth: Unmetered Traffic @ 1000MBPS
    限量50%优惠码:UNLIMITED1000
    【直达链接】
    Memory: 2GB
    Processors: 2
    SSD: 48GB
    Bandwidth: Unmetered Traffic @ 1000MBPS
    限量50%优惠码:UNLIMITED1000
    【直达链接】

    鉴于他们家的品行,建议大家购买时选择月付。

  • Windows VPS服务器快速修改默认3389端口提高安全性能

    Windows VPS服务器快速修改默认3389端口提高安全性能

    一般我们用户选择的VPS、服务器安装LiNUX系统会默认22端口,而Windows系统一般默认3389端口,也有一些服务商会设置固定或者随机的其他端口。从安全角度看,我们在设置服务器安全的时候,需要将默认端口修改,至少可以确保一些软件自动的扫描行为。

    昨天晚上有一个网友联系WordPress采集插件,说自己的Windows服务器出现问题,登录其服务器桌面看到确实多了一些文件,而且在一直的发包,确保安全起见建议重新安装系统,当然前提是备份数据。然后在安全措施中需要修改端口,其实这个同学的密码设置太简单了,就几个数字….所以。顺带帮助修改端口的时候截图,整理成这篇文章,好歹有点内容更新一下下。

    进入注册表

    根据很多教程我们需要一步步进入文件夹中,然后找到。( HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp )

    其实我们也没有必要这么复杂,直接在编辑-查找,PortNumber 字符,然后找到。

    修改默认3389端口

    这里默认是在十六进制中,看到的不是数字,这里我们选择十进制就可以看到数字。然后修改自己需要的端口保存。

    最后,重启服务器生效,我们就可以用新端口登入。当然修改端口仅仅是简单的安全因素,其他包括软件的安全,以及其他安全手段也是需要注意的。

  • Windows 系统中如何进入注册表?

    Windows 系统中如何进入注册表?

    什么是注册表?

    注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从MicrosoftWindows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。

    CMD运行方法

    1、单击左下角的【开始】按钮, 单击右侧的【运行】命令

    2、在【运行】对话框输入【regedit】,单击【确定】按钮

    打开文件运行方式

    打开计算机,进入系统所在盘,进入Windows文件夹,进入System32文件夹,找到regedt.exe程序,双击打开

WeChat
↑