分类目录归档:Linux

宝塔面板子目录绑定伪静态无效原因及修复方案

环境描述:
面板版本:Linux 免费版 7.4.2 (至7.4.3版依然存在)
系统版本:CentOS 8.1.1911(Py3.7.8)
浏览器版本:Chrome 84.0.4147.105 64 位

问题描述:
子目录绑定伪静态无效,原因:网站管理中,子目录绑定设置伪静态文件引用地址错误。

复现步骤:
1、添加网站域名:test.com;
2、子目录绑定:域名bbs.test.com,目录:bbs;
3、查看配置文件:网站子目录绑定的伪静态引用地址为网站主目录伪静态文件(/www/server/panel/vhost/rewrite/test.com.conf),而不是子目录伪静态文件(/www/server/panel/vhost/rewrite/test.com_bbs.conf)。

手动修复:
修改配置文件,在子目录配置中修改引用文件地址加上(_目录名)即可。

源码修复(仅限于此版本面板):
修改文件:/www/server/panel/class/panelSite.py:2223

BINDING-%s-END”’ % (domain,port,listen_ipv6,domain,webdir,version,self.setupPath,siteInfo[‘name’],public.GetConfigValue(‘logs_path’)+’/’+siteInfo[‘name’],public.GetConfigValue(‘logs_path’)+’/’+siteInfo[‘name’],domain)

为:

BINDING-%s-END”’ % (domain,port,listen_ipv6,domain,webdir,version,self.setupPath,siteInfo[‘name’]+’_’+dirName,public.GetConfigValue(‘logs_path’)+’/’+siteInfo[‘name’],public.GetConfigValue(‘logs_path’)+’/’+siteInfo[‘name’],domain)

重启面板。

群晖数据恢复解决方案

一直在用黑群晖(DSM5.2),前两天发现无法连接DSM了,就此开始了折腾之路。

一、无法开机:检查发现问题是主板电池没电了,更换电池后正常开机。

二、无法连接:使用群晖助手查看,提示“设置数据损毁”,建议执行重新安装操作。考虑到群晖数据保存方式,应该是可以挽回数据的。

三、导出群晖数据。

官方建议使用Ubuntu来进行数据还原操作。简化步骤如下:

1、安装Ubuntu。

2、安装DSM硬盘。

3、打开终端Terminal。

4、安装支持。

sudo -i
apt-get install mdadm
apt-get install lvm2
mdadm -Asf && vgchange -ay

这样就可以读取并拷贝DSM硬盘的数据了。

在以上过程种,第四步可能会出现以下问题。

1、Sub-process /usr/bin/dpkg returned an error code (1)

在安装lvm时可能会出现这个问题,解决方案如下:

cd /var/lib/dpkg
sudo mv info info.bak
sudo mkdir info
sudo apt-get update
sudo apt-get -f install
sudo apt-get install lvm2
sudo cp info/* info.bak/
sudo rm -r info
sudo mv info.bak info

2、/run/lvm/lvmetad.socket: connect failed

在执行mdadm -Asf && vgchange -ay时,后面的命令会出现这个问题(建议单独执行两条命令),解决:修改“/etc/lvm/lvm.conf”中的”use_lvmetad = 1“为”use_lvmetad = 0“,OK。

Raspberry Pi部署XX-Net

树莓派本身与XX-Net就不做介绍了,能看到此本基本上也都了解。

下面说明一下部署方式:

1、下载XX-Net
在Github获取最新压缩包。

2、解压缩
可以使用unzip解压缩,也可以在使用文件管理器直接解压缩。默认目录为:XX-NET-版本号。

3、安装并执行Miredo
由于IPv6的问题,需要使用Miredo开启teredo。
sudo apt-get install miredo
sudo miredo

4、运行XX-Net
在程序目录下执行start即可运行。也可以通过终端以绿色方式执行。
env XXNET_NO_MESS_SYSTEM=1 ./start

5、配置
访问http://127.0.0.1:8085,在状态页导入CA证书。
配置代理服务器,也可以使用SwitchyOmega插件,在程序目录里有。
在系统配置页,可以进行详细设置以及模块设置。

6、好了,可以开始体验真正的互联网了。

Apache 403 Forbidden后续以及安全配置

今天处理下上次遗留的安全问题。

遇到403后,将目录设置为755虽然解决了权限不足,却造成了权限过大的问题。此前,有人说将apache用户add到网站所属的用户组内,用以提高apache的权限,然后设置权限为750。

gpasswd -a apache GroupSite
chmod -R 750 /home/user

 

此时安全性应该大大提高了。不过,仍不满足啊。如果因为某站点致使apache被拿下,所有用户的站点就会一起遭殃。所以又有了以下的解决方案。

Apache-mpm-itk是Apache的一个补丁,它可以让Apache以多用户的方式运行。让不同的用户运行Apache,对自己的目录有着完全的权限,并且没有其他目录的权限,这样应该可以满足需求了。

yum -y install httpd-itk

vi /etc/sysconfig/httpd
HTTPD=/usr/sbin/httpd.itk

vi /etc/httpd/conf.d/itk.conf
<IfModule itk.c>
StartServers 2
MinSpareServers 2
MaxSpareServers 10
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>

vi /etc/httpd/conf.d/php.conf
<IfModule itk.c>
LoadModule php5_module modules/libphp5.so
</IfModule>

vi /etc/httpd/conf.d/vhost.conf
<VirtualHost>
AssignUserId user group
</VirtualHost>

service httpd restart

 

完成。

Apache 403 Forbidden

今天配置CentOS的Apache时,一直出现403错误。从已有的相关资料来看主要原因有以下两点:

  1. Apache的Directory授权配置出错。
  2. SELinux的安全设置。

经过排除,发现并非这两点原因造成的。既然是权限问题,就开始从文件权限开始检查,先给web目录777权限,仍然403,迷茫了。此时突然想起上级目录,也就是用户目录的权限,ls -l后发现时700,设置为755,页面终于正常打开。
总觉得这是一个坑啊,755也就意味着其他组的用户也可以查看这么用户的文件了。哪位有更好的方案呢?