作者归档:Henry

OpenWrt/LEDE编译选项中没有.vhdx格式解决办法

不知道从哪个版本开始,Lean的Openwrt编译target选项中删除了Hyper-V使用的.vhdx格式。这里提供一个解决办法。在编译完成后,会得到一个.img的raw镜像文件,使用qemu-img命令将这个文件转换为.vhdx格式即可。命令如下:

qemu-img convert -f raw -O vhdx openwrt-x86-64-generic-squashfs-combined.img openwrt-x86-64-generic-squashfs-combined.vhdx

这个转换几乎不耗费时间,很方便。

Deluge安装及配置(配置路径至NFS远程目录)

本文将说明如何在Ubuntu 18.04系统中安装Deluge服务(WebUI),以及将挂载的远程NFS目录设置为下载目录。

Deluge安装及配置

//确保系统是最新
sudo apt-get update
sudo apt-get upgrade

//添加源以及安装Deluge
//Deluge有三个包:deluge为桌面模式,deluged为daemon模式,deluge-webui是网页界面,这里使用daemon模式
sudo add-apt-repository ppa:deluge-team/ppa 
sudo apt install deluged deluge-webui

//新建deluge用户和deluge用户组,这里建的是无密码的系统用户
sudo adduser --system --group deluge

//将当前用户(your-username)添加至deluge组,这样用当前用户也能操作deluge下载的文件
sudo gpasswd -a your-username deluge

接下来,需要设置deluged和deluge-web服务

新建deluged.service服务

sudo vim /etc/systemd/system/deluged.service

写入以下内容

[Unit]
Description=Deluge Bittorrent Client Daemon
After=network-online.target

[Service]
Type=simple
User=deluge
Group=deluge
UMask=007

ExecStart=/usr/bin/deluged -d

Restart=on-failure

# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

启动服务并设置为开机启动

systemctl start deluged
systemctl enable deluged
//查看服务是否为active
systemctl status deluged

新建deluge-web.service服务

sudo vim /etc/systemd/system/deluge-web.service

写入以下内容

[Unit]
Description=Deluge Bittorrent Client Web Interface
After=network-online.target

[Service]
Type=simple

User=deluge
Group=deluge
UMask=027

ExecStart=/usr/bin/deluge-web

Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务并设置为开机启动

systemctl start deluge-web
systemctl enable deluge-web
//查看服务是否为active
systemctl status deluge-web

完成后,在浏览器中访问8112端口即可查看服务

http://your-server-ip:8112

如果无法访问,检查防火墙状态

sudo systemctl stop ufw
sudo systemctl disable ufw

进入界面需要输入密码,默认的密码为:deluge,登录后可以修改。

输入完成密码后,弹出Connection Manager对话框,选择当前服务器,点击Start Daemon,然后点击右下角的Connect连接至Deluge服务器。

Deluge下载路径配置及远程NFS挂载

首先,安装NFS

sudo apt-get install nfs-common

新建本地目录用于挂载

sudo mkdir /mnt/share

挂载远程NFS目录(假设远程NFS服务器IP为:NFS_IP,远程NFS共享目录路径为:/mnt/nas/share)

sudo mount -t nfs NFS_IP:/mnt/nas/share /mnt/share

在/mnt/share下新建目录以备Deluge使用

//新建Deluge下载的主目录
sudo mkdir /mnt/share/PTDownload
//存放下载完成的媒体文件
sudo mkdir /mnt/share/PTDownload/Media
//存放下载完成的种子文件
sudo mkdir /mnt/share/PTDownload/Torrent
//存放正在下载的文件
sudo mkdir /mnt/share/PTDownload/Temp

在网页上,修改Preference中的Downloads中的下载路径至上面新建的目录。

备注:如果在新建目录和写入文件时遇到了权限错误,请在NFS端修改相关权限,FreeNAS可以参考此文:FreeNAS中NFS共享挂载后权限不足问题解决办法

FreeNAS中Transmission插件的挂载点设置

在司波图的视频中,FreeNAS运行Transmission时,只挂载了Media文件夹,如果正常使用当然没有问题,但如果出现需要恢复Torrent文件,或者删除Torrent文件时,将无法找回。极端情况是,如果FreeNAS系统崩溃或者Transmission插件崩溃,Media文件得到了保留,但Torrent文件将全部丢失。所以,这里建议在以上基础上,额外映射:

FREENAS中的文件夹(源)····························Transmission Jail中的文件夹(目标)

/mnt/nas/share/Transmission/Media·················/mnt/nas/iocage/jails/transmission/root/media //下载完成的文件所在目录
/mnt/nas/share/Transmission/Torrents··············/mnt/nas/iocage/jails/transmission/root/usr/local/etc/transmission/home/torrents //种子文件所在目录
/mnt/nas/share/Transmission/Temp··················/mnt/nas/iocage/jails/transmission/root/usr/local/etc/transmission/home/Downloads //下载中的文件所在目录

 

 

OpenWrt编译生成文件说明和使用方法

在手动编译OpenWrt后,会生成以下文件,分别对应不同用途

openwrt-x86-64-combined-squashfs.img
openwrt-x86-64-combined-squashfs.qcow2
openwrt-x86-64-combined-squashfs.vhdx
openwrt-x86-64-combined-squashfs.vmdk

img文件:raw镜像文件,即原始镜像内容,可以通过镜像转换软件(例如StarWind V2V Converter)转换为任意镜像/虚拟磁盘。

qcow2:Virtual Box使用的磁盘软件

vhdx:Hyper-V使用的磁盘文件,创建Hyper-V虚拟机时,无需新建磁盘,使用此文件作为vdisk即可

vmdk:ESXi使用的磁盘文件,创建ESXi虚拟机时,无需新建磁盘,使用此文件作为vdisk即可。注意,添加时需选择IDE控制器,不能选择SCSI控制器,如下图

SuperMicro X11SCV-Q主板安装ESXi

超微X11SCV-Q主板安装ESXi时,由BIOS引导是无法进入安装界面,安装后也无法通过BIOS启动的。所以,必须保证:

1、安装盘使用EFI模式刻录,不能选择BIOS引导

2、在主板BIOS设置中(开机按DEL键进入),将U盘Legacy支持设为Disable,将Video、PCI模式从Legacy改为EFI,在BOOT启动顺序处,从DUAL模式修改为UEFI,并将UEFI USB KEY: XXXX这个启动项设置为首选。

最后附上用Rufus烧录镜像到U盘的设置:

如上图示:1、格式化使用GPT格式,不用MBR模式;2、硬盘格式选择NTFS,不用FAT32。

Twenty Twelve主题增加顶部搜索框

使用这个主题很多年了,之前有在顶部增加一个搜索框,由于主题自动更新掉了,这里补充记录一下。

首先进入主题代码编辑页面,修改header.php这个文件。找到</hgroup>这个结束标签,在后面添加上搜索框调用代码:

<div class="header-search"><?php get_search_form(); ?></div>

这时候,打开首页,就能看见顶部搜索框了,但是并不美观。接下来在自定义CSS中进行美化

.header-search {
	float: right;
	margin-top: -50px;
	margin-right:30px;
}

#searchsubmit {
	font-size: 13px!important;
	height: 29px;
	line-height: 18px!important;
	background-color: white;
	background-image:none;
	padding:5px 10px;
	box-shadow:none !important;
}

#searchsubmit:hover {
	color:#404040;
}

@media (max-width: 650px) {
	.header-search {
		margin-top:10px;
		text-align:center;
		float:none;
		margin-right:0px;
	}
	.main-navigation  {
		clear:both;
	}
}

#submit {
	font-size: 13px!important;
	height: 29px;
	line-height: 18px!important;
	background-color: white;
	background-image:none;
	padding:5px 10px;
	box-shadow:none !important;
}

#submit:hover {
	color:#404040;
}

#submit:submit {
	color:#404040;
	box-shadow:none !important;
}

button {
	font-size: 13px!important;
	height: 29px;
	line-height: 18px!important;
	background-color: white !important;
	background-image:none !important;
	padding:5px 10px;
	box-shadow:none !important;
}

botton:hover {
	color:#404040;
}

.menu-toggle.toggled-on {
	color:#404040;
	background-color:white !important;
	background-image:none !important;
	box-shadow:none !important;
	border:1px solid #ccc;
}

有一点需要注意,主题更新后,加在header.php中的代码会被更新掉,需要手动加回来,或者也可以建立一个子主题保存更改。

 

Hyper-V部署OpenWrt旁路网关(编译Lean版)

准备工作

1、已经编译好的OpenWrt镜像文件。由于是用于Hyper-V部署,所以编译时选择保存为.vhdx后缀的镜像文件,具体如何编译,参见源码地址:https://github.com/coolsnowwolf/lede。镜像文件名类似为: openwrt-x86-64-combined-squashfs.vhdx

2、一个可用的网口。我的主板上有两个千兆网口,一个是Intel I210,另一个是Intel I219-LM。I210我用来做为Hyper-V服务器的网络端口,而I219-LM则是我准备给OpenWrt专用的。

图片中,I210和I210创建的vEthernet是用与Hyper-V的虚拟交换机,I219-LM目前空闲。其他两个X540为万兆网口,与本文无关。

创建虚拟交换机

在Hyper-V管理器中,选择右侧的虚拟交换机管理器,在弹出的窗口中,新建外部虚拟交换机

选择之前说的用于OpenWrt的网口,这里用的是I219-LM,并取消下面的允许管理操作系统共享此网络适配器选项。取消此选项后,在系统的网络管理页面就不会看到I219-LM的vEthernet,只是单纯显示I219-LM。

由于我机器上的网口有两个,所以可以给OpenWrt专用一个网口,如果主板上只有一个网口,那配置起来会麻烦些,需要让Hyper-V和OpenWrt共用这一个网口,步骤较为复杂,这里不赘述。

创建OpenWrt虚拟机

创建虚拟机的步骤和一般创建步骤相同,这里只说明几个地方

1、创建时选择第一代虚拟机,兼容性和稳定性比较好

2、配置网络时,选择刚才创建的OpenWrt交换机

3、硬盘选择之前准备好的.vhdx文件

完成后点击完成,先不要启动虚拟机。在Hyper-V管理器界面,可以修改虚拟机处理器数量,我这里改成了两个,增加性能。另外,需要在网络适配器的高级选项中,勾选开启MAC地址欺骗选项。

保存后,启动虚拟机。

OpenWrt配置

进入虚拟机,默认是root用户登录,且无密码,所以可以直接查看和修改系统文件。主要修改的文件是etc/config/network这个网络配置文件

默认的配置OpenWrt使用的IP地址为192.168.1.1,那么就会有以下几个情况

1、OpenWrt就是用来当主路由的,且192.168.1.1不会和运营商的路由器网关地址相同,那就保持不变即可。直接访问192.168.1.1即可访问OpenWrt管理页面。

2、OpenWrt是用来当旁路网关的,主路由网关地址为192.168.1.1。这种情况下,OpenWrt和主路由网关冲突,需要修改OpenWrt的IP为192.168.1.2。之后通过192.168.1.2来访问OpenWrt管理页面。

3、OpenWrt是用来当旁路网关的,主路由网关地址为192.168.2.1。这种情况下,OpenWrt和主路由网关不冲突,但由于不在一个网段,OpenWrt无法通过主路由连接网络,所以也需要修改OpenWrt的IP,可以改为192.168.2.2。

具体修改IP就是直接修改上面那个文件,然后重启网络,执行

service network restart

OpenWrt设置

完成上述步骤之后,登录OpenWrt。下面以上文的情况3为例(即主路由为192.168.2.1,OpenWrt为192.168.2.2),登录用户名为root,默认密码password。

登陆后,在“网络->诊断页面”可以测试网络连接情况,目前是无法上网的,如下图所示。

所以,需要修改一下端口设置,进入“网络->接口”页面,点击“修改”按钮。修改其中的“IPv4网关”地址为主路由网关地址(192.168.2.1),修改“IPv4广播”地址,增加自定义的DNS服务器,点击“保存并应用”。

修改完成后,再进行网络测试,可以联通了。

至此,OpenWrt旁路网关配置完成。

使用OpenWrt旁路网关上网

如果需要使用OpenWrt上网,那只需要将设备的默认网关设置成OpenWrt地址即可,如上设置,则为192.168.2.2

CentOS 7安装PHP 7

由于WordPress新版已经不支持PHP 5.2,必须升级一下,索性升级到现在最新的7.3。 1、卸载旧版本的PHP

yum remove php*

2、安装epel和yum-utils

yum install epel-release yum-utils

3、安装remirepo源

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

4、启用PHP 7.3源

yum-config-manager --enable remi-php73

5、安装上PHP和一些常用的组件

yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql

6、检查版本

php -v

Crayon Syntax Highlighter代码高亮的替代品:Enlighter

之前一直使用Crayon Syntax Highlighter作为代码高亮插件,但是在最新版的Wordpress 5.x中,由于兼容性问题已经无法使用。在网上搜索,找到了替代品:Enlighter。

替换方法:

停用旧的Crayon Syntax Highlighter,安装启用Enlighter。修改Enlighter设置中的以下内容:

  • Enlighter -> 选项 -> 高级选项 -> 阻止CSS选择器 设为
pre.EnlighterJSRAW, pre[class="lang:"][class~="decode:true"]
  • Enlighter -> 选项 -> 高级选项 -> 内嵌CSS选择器 设为
code.EnlighterJSRAW, span[class="lang:"][class~="decode:true"][class~="crayon-inline"]
  • Enlighter -> 测试版 -> 测试版特性 -> 启用DRI 设为 不勾选

参考: