存档

2018年8月 的存档

WordPress 代码高亮插件:Pure-Highlightjs(支持可视化下插入代码)

2018年8月24日 没有评论

Pure-Highlightjs 一个基于 Highlightjs 实现的 WordPress 代码高亮插件,支持 N 多种语言高亮,还提供多种主题。支持在 WordPress 可视化编辑模式下插入代码。

代码主页:

https://github.com/icodechef/Pure-Highlightjs

1、到代码主页,找到zip文件下载到本地

2,进入 WordPress 后台管理页面,“插件 》安装插件 》上传插件”,上传刚才下载的 ZIP 文件,然后安装。

3,安装完毕后,在已经安装的插件里启用 “Pure Highlightjs”。

4,可直接在可视化编辑界面点击“插入代码”按钮,然后选择代码类型,粘贴代码插入即可

nginx实现apache的功能php_admin_value open_basedir

2018年8月8日 没有评论

nginx实现apache的功能php_admin_value open_basedir

今天将apache下面的所有虚拟主机站点改成nginx+php-fpm模式运行
考虑到虚拟主机的安全性不受各个站点的影响,所以需要在nginx下实现和apache一样的功能:php_admin_value open_basedir
也就是所说的:防跨目录设置
在apache中,我们只要在加入php_admin_value open_basedir就可以实现
比如:站点路径为/www/webroot/aaa.com
那么就是:php_admin_value open_basedir “/www/webroot/aaa.com:/tmp”
加入tmp是为了不影响用户上传文件,因为会先往临时目录上传

接下来就要进入主题,如何在nginx实现apache的功能php_admin_value open_basedir

查阅了相关文档,本人推荐的实现方式只有1种,方便,快捷,可拓展
当然还有一种其次的推荐方式,先聊聊第一种推荐的吧

======================
第一种:

在每个虚拟主机的server {}的location ~ \.php$ {}中增加:
fastcgi_param PHP_ADMIN_VALUE “open_basedir=/www/webroot/aaa.com/:/tmp/”;
注意,nginx下面,如果你输入的是:aaa.com(而不是aaa.com/)(结尾有/),就会造成是模糊匹配
比如aaa.com额aaa.com.cn,这2个都可以有权限访问

保存,重启nginx+php-ftpm就可以实现效果了
但是,很不幸,如果你有多个虚拟主机站点,访问aaa.com一切正常,访问bbb.com会时而报错:
no input file specified

这个原因是你有多少个虚拟主机,就要把全部虚拟主机的server {}的location ~ \.php$ {}中增加上,不要只增加某一个
否则会报错:no input file specified

一开始我调试的时候,只加了一个aaa.com,其他没加,网上找了很多方法都不行,后来不知脑袋怎么就考虑到要把全部的加上。

===================
第二种:

这种方法不是很推荐,因为需要在每个网站的根目录下增加一个文件,不方便拓展和管理

在每个虚拟主机的根目录下,增加.user.ini文件
比如aaa.com/.user.ini
.user.ini文件的内容就是:
open_basedir=/www/webroot/aaa.com/:/tmp/

当然还需要开启php.ini中的2个参数
sudo vim /etc/php/5.6/fpm/php.ini
开启:
user_ini.filename
user_ini.cache_ttl

重启php-fpm就可以生效了,这个等于不用配置nginx,当然也可以不用重启php-fpm,等待user_ini.cache_ttl设置的时间后,自动生效

这种方法,如果需要把ftp给别人,或者当某个虚拟主机站点受到黑客的时候,会造成.user.ini被串改或者被删除,等待

所以,还需要将文件的权限设置下:
sudo chattr +i /www/webroot/aaa.com/.user.ini
这样ftp里面就无法修改,删除,重命名该文件
当你想要自己修改的时候,进入服务器
sudo chattr -i /www/webroot/aaa.com/.user.ini
就可以重新操作了(+和-参数的区别)
具体chattr命令的参数,可以自行百度

==========================

使用了第二种方法,可以只对某个虚拟主机增加.user.ini,其他虚拟主机访问的时候并不会出现报错:no input file specified
这点和第一种方法不一样,第一种方法必须要把所有的都加上,才能保证每个虚拟主机都能正常访问

ubuntu 18.04以后如何修改固定ip和固定dns

2018年8月7日 没有评论

ubuntu 18.04以后如何修改固定ip和固定dns这个问题可能刚接触18.04系统的还不知道怎么修改,我们都知道老版本可能很简单,就是修改:

sudo vim /etc/network/interfaces

输入类似:

输入:
auto eth0
iface eth0 inet static
address 192.168.2.1
gateway 192.168.2.254
netmask 255.255.255.0

就可以搞定了

但是自ubuntu 18.04开始,这样就不行啦,/etc/network/interfaces文件已经忽略

如果你先在ubuntu 18.04系统中使用固定ip,包括固定dns,请参考如下修改:

sudo vim /etc/netplan/50-cloud-init.yaml

代码:##################

# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init’s network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
enp4s0:
addresses: [61.191.56.18/24]
dhcp4: no
dhcp6: no
optional: true
gateway4: 61.191.56.1
nameservers:
addresses: [114.114.114.114,114.114.115.115]
version: 2

代码:##################

保存,然后执行:sudo netplan apply

搞定。

分类: ubuntu高手 标签: , ,
css.php