PVE7.0安装后的调试

Debian的源升级
sed -i ‘s/buster/updates/bullseye-security/g;s/buster/bullseye/g’ /etc/apt/sources.list
修改软件源
sed -i -e ‘s/buster/bullseye/g’ /etc/apt/sources.list.d/pve-install-repo.list
删除企业源
echo “deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise” > /etc/apt/sources.list.d/pve-enterprise.list
ceph源修改
echo deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus bullseye main > /etc/apt/sources.list.d/ceph.list
更新
apt update && apt dist-upgrade

PVEtools安装
export LC_ALL=en_US.UTF-8
apt update && apt -y install git && git clone https://hub.fastgit.org/ivanhao/pvetools.git
cd /etc/pvetools
./pvetools.sh
pvetools有的功能已经不能使用,注意,去除订阅提示一项使用后WEB登陆后界面不显示。

1.查看系统的网络配置
使用命令:ifconfig -a | less
2.查看系统的网卡状态
使用命令:ip link
3.更改PVE登录IP管理地址
用vi修改下面文件
/etc/network/interfaces
/etc/issue
/etc/hosts
修改后输入 :wq
我在安装完PVE7.0后修改了管理IP, 但是主机显示的IP地址没有跟着改变,方法是修改/etc/issue和
/etc/hosts这两个文件后解决 ,不知道算不算是新版的BUG。
4.pve 邮箱配置
使用命令:vi /etc/pve/user.cfg
5.PVE系统盘存储空间全部划分Local
lvremove pve/data#删除LVM-Thin删除local-lvm逻辑卷pve/data
lvextend -l +100%FREE -r pve/root#将未分配的空间扩容到pve/root,local逻辑卷pve/root扩容
vgdisplay pve #查看PVE的状态
df -h #查看更改后的情况
在 “数据中心” – “存储” 中删除local-lvm
编辑Local,“内容”选中所有
6.查看CPU温度
apt update
apt install lm-sensors
sensors
7.路径执行
whereis reboot
8镜像转成虚拟磁盘
qm importdisk 100 /var/lib/vz/template/iso/synoboot.img local
qm importdisk是PVE导入磁盘到虚拟机的工具,后面的参数‘100’是DSM虚拟机的编号,‘/var/lib/vz/template/iso/syboboot.img’是上传群晖引导镜像的完整目录,在上传任务中查看,‘local’是PVE储存虚拟磁盘的存储空间,synoboot.img是引导文件。
8直通磁盘
查看你现在的存储设备的序列号:
ls /dev/disk/by-id
然后就能看到所有存储设备的序列号
然后输入以下代码(请把硬盘序列号换成你硬盘的,100换成你LEDE的虚拟机ID)
sata1后面数字1换成SATA序号(多块硬盘挂载需要修改)
qm set 100 -sata1 /dev/disk/by-id/ata-WDC_WDXXXX_XXXX_XXXX
如果返回以下信息,说明已成功挂载
update VM 100: -sata1 /dev/disk/by-id/ata-WDC_WDXXXX_XXXX_XXXX
然后可以进入PVE管理网页,查看是否真的挂载成功.如果看到LEDE虚拟机硬件设备里有这个,就说明成功.linux运维数据库

PVE工具的安装和使用

今天推荐一个工具PveTools如下:
安装:

1.先删除企业源: rm /etc/apt/sources.list.d/pve-enterprise.list

2.安装 export LC_ALL=en_US.UTF-8 apt update && apt -y install git && git clone https://github.com/ivanhao/pvetools.git

3.启动工具(cd到目录,启动工具)

cd pvetools

./pvetools.sh

卸载删除下载的pvetools目录即可

Linux查看外网访问ip

对连接的IP按连接数量进行排序  
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n  

查看TCP连接状态  

netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn  
netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’  
netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}’  
netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}’  
netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn  
netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]’ | sort | uniq -c  

查看80端口连接数最多的20个IP    
netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20  

查找较多time_wait连接  

netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20  
查找较多的SYN连接  
netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more 

查看当前并发访问数:
netstat -an | grep ESTABLISHED | wc -l

查看所有连接请求
netstat -tn 2>/dev/null 
但是只要established的,则grep  “ESTABLISHED” 
netstat -tn | grep ESTABLISHED 2>/dev/null

查看访问某一ip的所有外部连接IP(数量从多到少)

netstat -nt | grep 121.41.30.149:80 | awk ‘{print $5}’ | awk -F: ‘{print ($1>$4?$1:$4)}’ | sort | uniq -c | sort -nr | head

根据端口查找进程

netstat -ntlp | grep 80 | awk ‘{print $7}’ | cut -d/ -f1

下面未验证

防范DDOS攻击脚本  

#防止SYN攻击 轻量级预防  
iptables -N syn-flood  
iptables -A INPUT -p tcp –syn -j syn-flood  
iptables -I syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN  
iptables -A syn-flood -j REJECT  

#防止DOS太多连接进来,可以允许外网网卡每个IP最多15个初始连接,超过的丢弃  
iptables -A INPUT -i eth0 -p tcp –syn -m connlimit –connlimit-above 15 -j DROP  
iptables -A INPUT -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT  

#用Iptables抵御DDOS (参数与上相同)  
iptables -A INPUT  -p tcp –syn -m limit –limit 12/s –limit-burst 24 -j ACCEPT  
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT   

根据nginx的访问日志判断
查看访问记录
1.从1000行开始到3000
cat access.log |head -n 3000|tail -n 1000
2.从1000行开始,显示200行
cat access.log |tail -n +1000 |head -n 200
3.

通过查询日志记录进行分析(如果没有单独配置,access.log一般放在nginx/logs下)
awk ‘{print $1}’ 日志地址 | sort | uniq -c | sort -n -k 1 -r | head -n 100

tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行

1.根据访问IP统计UV

awk ‘{print $1}’  access.log|sort | uniq -c |wc -l

2.统计访问URL统计PV

awk ‘{print $7}’ access.log|wc -l

3.查询访问最频繁的URL

awk ‘{print $7}’ access.log|sort | uniq -c |sort -n -k 1 -r|more

4.查询访问最频繁的IP

awk ‘{print $1}’ access.log|sort | uniq -c |sort -n -k 1 -r|more

5.根据时间段统计查看日志

 cat  access.log| sed -n ‘/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p’|more

6.通过日志查看含有send的url,统计ip地址的总连接数
cat access.log | grep “send” | awk ‘{print $1}’ | sort | uniq -c | sort -nr

7.通过日志查看当天访问次数最多的时间段
awk ‘{print $4}’ access.log | grep “24/Mar/2011” |cut -c 14-18|sort|uniq -c|sort -nr|head

8.通过日志查看当天指定ip访问次数过的url和访问次数
cat access.log | grep “222.132.90.94” | awk ‘{print $7}’ | sort | uniq -c | sort -nr

PVE开启显卡直通

首先编辑GRUB配置文件:

root@pve:~# vim /etc/default/grub
root@pve:~#
root@pve:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'


GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
GRUB_CMDLINE_LINUX=""


# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"


# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console


# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480


# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true


# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"


# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
root@pve:~#


开启IOMMU支持:


GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
如果是AMD的CPU:


GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=efifb:off"

更新GRUB:

root@pve:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.22-5-pve
Found initrd image: /boot/initrd.img-5.11.22-5-pve
Found linux image: /boot/vmlinuz-5.11.22-4-pve
Found initrd image: /boot/initrd.img-5.11.22-4-pve
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
done
root@pve:~#

添加所需的系统模块(驱动):

root@pve:~#
root@pve:~# echo "vfio" >> /etc/modules
root@pve:~# echo "vfio_iommu_type1" >> /etc/modules
root@pve:~# echo "vfio_pci" >> /etc/modules
root@pve:~# echo "vfio_virqfd" >> /etc/modules
root@pve:~#
root@pve:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.



# Generated by sensors-detect on Fri Sep 24 17:22:44 2021
# Chip drivers
coretemp
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

接着添加模块(驱动)黑名单,即让GPU设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:

Intel核显:

echo "blacklist snd_hda_intel" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/pve-blacklist.conf

N卡/A卡:

echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf

如果是N卡还需要加入下面的配置到kvm.conf(据老外说是避免一些莫名其妙的错误):

echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
root@pve:~# echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
root@pve:~# echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf
root@pve:~#
root@pve:~# cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE


# nidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
blacklist nouveau
blacklist radeon
root@pve:~#
root@pve:~# echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
root@pve:~#
root@pve:~# cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1

更新内核:

root@pve:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.11.22-5-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
root@pve:~#

重启机器:

root@pve:~# reboot

重启上来之后检查模块是否正常加载:

root@pve:~# lsmod | grep vfio
vfio_pci               57344  1
vfio_virqfd            16384  1 vfio_pci
irqbypass              16384  11 vfio_pci,kvm
vfio_iommu_type1       36864  1
vfio                   36864  5 vfio_iommu_type1,vfio_pci
root@pve:~#

查看显卡

root@pve:~# lspci -nn | grep NV
86:00.0 3D controller [0302]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)
root@pve:~#
root@pve:~#

查看显卡ID,写入到配置中

root@pve:~# lspci -n -s 86:00
86:00.0 0302: 10de:1eb8 (rev a1)
root@pve:~#
root@pve:~#
root@pve:~# echo "options vfio-pci ids=10de:1eb8" > /etc/modprobe.d/vfio.conf
root@pve:~#

pve开启网络唤醒支持

第一步:

是要把bios里面远程唤醒功能和PCI启动打开

第二步:

在PVE里面的SHELL或者SSH安装 ethtool 工具,安装命令:

apt-get install ethtool

第三步:

用ethtool工具查看网卡信息,如果是多网卡的话,需要先搞清楚哪个是链接外网的管理口,举例网卡为enp3s0

ethtool enp3s0

找到网卡信息中的supports wake-on和wake-on两个参数,如果supports值为pumbg,表示网卡支持远程唤醒,wake-on的值d表示禁用、g表示开启,默认为d。

第四步:用ethtool开启网卡远程唤醒,把wake-on值改为g

ethtool -s enp3s0 wol g

因为每次重启后会失效,所以我们需要把开启命令写入开机自动执行脚本。

第五步:

编辑  /etc/rc.local文件,写入开机自动执行开启远程唤醒的脚本。

nano /etc/rc.local

插入以下代码后保存重启all done

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/sbin/ethtool -s enp3s0 wol g 

exit 0

比较新的Linux发行版已经没有rc.local文件了。因为已经将其服务化了。

解决方法:

1、设置rc-local.service

1 2 3 4 5 6 7 8 9 10 11 12 13sudo vim /etc/systemd/system/rc-local.service [Unit]  Description=/etc/rc.local Compatibility  ConditionPathExists=/etc/rc.local [Service]  Type=forking  ExecStart=/etc/rc.local start  TimeoutSec=0  StandardOutput=tty  RemainAfterExit=yes  SysVStartPriority=99 [Install]  WantedBy=multi-user.target

2、激活rc-local.service

1sudo systemctl enable rc-local.service

3、添加启动服务

手工创建或者拷贝已有的/etc/rc.local,并赋予执行权限

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing.   # 下面这条是要开机启动的命令 /home/selfcs/anaconda3/bin/python /home/selfcs/t.py > /home/selfcs/auto.log   exit 0 #给予脚本执行权限 sudo chmod +x /etc/rc.local

物理机安装openwrt

准备

USB一个,下载openwrt固件.img,WePE_64_V2.1.exe(pe系统写盘工具),physdiskwrite.exe(写入固件工具),闲置电脑一台!

第一步

在自己的电脑上使用pe写盘工具,将pe系统写入u盘

第二步

将physdiskwrite.exe和openwrt固件.img拷贝到u盘中

第三步

u盘插入需要刷入openwrt的闲置电脑

第四步

选择从U盘启动,进入pe系统。使用pe系统自带的磁盘工具,将闲置电脑的硬盘抹除并格式化

第五步

打开pe系统的cmd 将physdiskwrite.exe拖入cmd窗口–按空格 输入-u 按空格–将openwrt固件.img拖入cmd窗口,回车。等待固件写入硬盘后,重启闲置电脑

第六步

拔出U盘,重启闲置电脑后,自动进入openwrt安装界面,根据需求选择安装。

第七步

安装完成后,重启进入openwrt系统命令控制行,先修改密码:passwd

第八步

输入nano /etc/config/network 编辑lan口和wan口设置

设置完成后,ctrl+x—y回车–回车—输入reboot重启加载配置

第九步

网线和自己电脑相连,浏览器输入设置后的lan口ip进入operwrt-ui界面进行其他设置

以上是安装的整个过程。

搭建Typecho博客+主题

Typecho博客相当轻量,让作者更专注于写作,加上强大的主题支持,你既可以完成下面的专业站点:

joe2.0作者:https://bbchin.com/

joe魔改作者:https://laolion.com/

一、实现首页幻灯片、公告和文章置顶,文章末尾开启点赞和赞赏;
joe2.0.PNG

二、高端代码块,让技术员的博客更专业;
代码块.PNG

三、多形式漂亮按钮,让文章上档次;
按钮.PNG

四、生动的表现力:内嵌B站视频和PDF预览功能;
视频播放.PNG

以上图片来源Joe2.0作者主页,今天我来用Typecho+Joe主题搭建一个高端博客站;


视频教程:

Bilibili:https://www.bilibili.com/video/BV1Gi4y1S7NU/

Youtube:https://www.youtube.com/watch?v=6tSgYasoLtM

搭建流程:

一、vps搭建宝塔环境

Centos安装脚本
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

Ubuntu/Deepin安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

Debian安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec

Fedora安装脚本
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh ed8484bec

二、在aapanel中安装环境Nginx+php 7.2+ Mysql 5.6;

三、在此过程中,解析域名;

四、搭建Typecho:新建站点、建立数据库、上传Typecho和主题文件;

Typecho源码:http://typecho.org/download

joe主题:https://github.com/HaoOuBa/Joe

joe魔改:https://pan.baidu.com/s/1JjIJbcb2rAGw9rlQo5IKOA 提取码:bxsm

五、安装博客、安装主题

六、完成了,下面是joe魔改主题作者博客,漂亮的不要不要的!

魔改.PNG

证书申请acme

常用组件及软件包
##Debian安装命令###
apt-get update && apt-get install unzip zip wget curl mc nano sudo ufw socat ntp ntpdate gcc git vim socat make build-essential cmake libboost-system-dev libboost-program-options-dev libssl-dev default-libmysqlclient-dev netcat dnsutils -y
##CentOS安装命令###
yum update -y && yum install unzip zip wget curl mc nano sudo ufw socat ntp ntpdate gcc git vim socat make build-essential cmake libboost-system-dev libboost-program-options-dev libssl-dev default-libmysqlclient-dev netcat net-tools-y

解析是否生效检测网站:https://www.whatsmydns.net/

#

安装acme
curl https://get.acme.sh | sh
source ~/.bashrc

建个文件夹存放证书和密钥
rm -rf /home/tls && mkdir -p /home/tls

#

standalone模式(申请单个域名证书)
确保80端口未被占用:netstat -nlpt 关闭进程kill pid 停止服务systemctl stop 服务名
添加解析A记录域名到VPS的IP地址
申请证书
~/.acme.sh/acme.sh –issue -d fox.test1223.cf –standalone -k ec-256
安装证书
~/.acme.sh/acme.sh –installcert -d fox.test1223.cf –fullchainpath /home/tls/fox.test1223.cf.crt –keypath /home/tls/fox.test1223.cf.key –ecc
定期自动更新
acme.sh –upgrade –auto-upgrade

#

dns模式申请通配符证书(泛域名证书)(非dnsAPI,API的使用可见第13期教程https://youtu.be/qkTfdptBivs)
acme.sh –issue -d *.test1223.cf –dns –yes-I-know-dns-manual-mode-enough-go-ahead-please

检测解析是否生效

(需要dig工具,Debian安装命令apt-get install dnsutils; CentOS安装命令 yum install bind-utils)
dig _acme-challenge.test1223.cf txt

acme.sh –renew -d *.test1223.cf –dns –yes-I-know-dns-manual-mode-enough-go-ahead-please
安装证书
~/.acme.sh/acme.sh –installcert -d *.test1223.cf –fullchainpath /home/tls/test1223.cf.crt –keypath /home/tls/test1223.cf.key

无法自动更新

iredmail邮件服务器之修改默认的web服务端口号

安装iredmail之后,由于需要在路由器上做端口映射以便在外网访问webmail,因此端口不能和WEB服务的端口好冲突,所以需要修改邮件服务器的httpd服务的端口。

一、apache/httpd的http服务和https服务端口号都要修改。

  基本服务端口好办,iredmail默认安装下,修改/etc/httpd/conf/httpd.conf中的Listen一行即可,这里我改为8090

#Listen
Listen

  可是,roundcube的webmail服务都是使用的https服务,我们都知道https的默认端口是443,这个在哪里修改呢?后来找到这篇文章修改apache http/https 端口号,却发现我的/etc/httpd/conf目录下没extra子目录,更别提那个httpd-ssl.conf!我估计可能版本不同,经过一番搜索,找到/etc/conf.d/ssl.conf,估计就是他了,这里修改443为8093。

#Listen
Listen
.
.
.
##
## SSL Virtual Host Context
## #<VirtualHost _default_:443> <VirtualHost _default_:8093>

  修改保存后,重新启动httpd服务

[root@mail2 ~]# service httpd restart

二、添加iptables防火墙规则,开放新的端口号

  这个没啥可说的,新建两条规则,开放新修改的端口,注意保存就行。

[root@mail2 ~]# iptables -A INPUT -p tcp -m tcp --dport  -j ACCEPT
[root@mail2 ~]# iptables -A INPUT -p tcp -m tcp --dport -j ACCEPT
[root@mail2 ~]# service iptables save

三、修改roundcube的配置文件和小bug

  此时如果直接用https端口去访问webmail已经可以了,但是如果使用http方式访问,然后由roundcube实现https强制跳转,则roundcube形成的还是默认的https端口地址形式,所以访问失败。比如,我现在的http地址为

http://192.168.5.26:8090/mail

则roundcube自动跳转为

#https://192.168.5.26/mail

此时需要修改roundcube的配置文件,在我的版本中为/var/www/roundcubemail/config/config.inc.php(新版本是这个文件,而不是网上所说的旧版文件main.inc.php)

$config['force_https'] = true;

将上面这行修改为:

$config['force_https'] = ;

另外,还要修改index.php中的一个小bug(可能是,我用chrome浏览时报错说本页有循环跳转代码)

代开/var/www/roundcubemail/index.php文件,找到下面这行

// check if https is required (for login) and redirect if necessary
if (empty($_SESSION['user_id']) && ($force_https = $RCMAIL->config->get('force_https', false))) {

修改为下面这行(就是加了一个判断,当前地址是否处于https模式)

// check if https is required (for login) and redirect if necessary
if ($_SERVER["HTTPS"]<>"on" && empty($_SESSION['user_id']) && ($force_https = $RCMAIL->config->get('force_https', false))) {

四、没有第四,打完收工:)

最后,别忘了重起一下服务

[root@mail2 roundcubemail]# apachectl  restart 

usb设备描述符请求失败怎么解决

usb设备描述符请求失败怎么解决

解决方法步骤如下:

1、设备管理器 -> 通用串行总线控制器 -> 未知USB设备(设备描述符请求失败),右键属性

(我这里没有未知USB设备,图片只是举例仅供参考);

相关文章教程推荐:windows教程

2、属性 -> 详细信息,属性选择 设备实例路径,复制显示的值;

如:USB\ROOT_HUB30\4&300F60A4&0&0

3、regedit 打开注册表,搜索路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ + 第2步复制的值;

4、根据第2步复制的值,第2步复制的值,第2步复制的值(重要的事情说3遍)如

(好多小伙伴说找不到对应的值,这里一定要参考第2步复制的值,,每个机器的不一样,图片只是举例子,千万不要按部就班操作,会出意想不到的问题,同志们注意了,图片只是参考,根据第2步复制的值)

在Device Parameters下新建DWORD(32-bits) Value 命名为EnhancedPowerManagementEnabled。DWORD值数据应对应于0;

5、关闭注册表,拔下USB设备,重启电脑、重新插入设备,问题不应再持续存在。