首页 > 技术分享 > Debian
收藏

Debian11安装迅搜xunsearch方法,安装迅搜出现Makefile:793: bufferevent_openssl.lo] Error 1或libevent-2.1.11-stable.tar.bz2: Not found in archive的解决方法

05/19 09:23
大潇博客 原创文章,转载请标明出处

迅搜官网安装文档传送门:http://www.xunsearch.com/doc/php/guide/start.installation


在2023.5之前,官网提供的安装包版本为1.4.17,在Debian10之上的系统中安装时,可能会报错:

Makefile:793: bufferevent_openssl.lo] Error 1,

原因是1.4.17版本里的 libevent 2.0.x 需要openssl的版本要小于1.1.0

常用的几个Linux发行版,比如Debian10以上版本的系统,已经把系统的openssl升级到了1.1.0+

即对应需要 libevent 2.1.x+


而 libevent 2.1.x 改了头文件,如果不更换系统openssl版本,就需要手动下载一个 libevent-2.1.11-stable.tar.gz,然后自己把tar.gz换成tar.bz2压缩格式(libevent-2.1.11-stable.tar.bz2)

最后放进“xunsearch-full-1.4.17/packages”文件夹中,并删掉原来的libevent


具体步骤:

1、下载libevent-2.1.11-stable.tar.gz

2、将libevent-2.1.11-stable.tar.gz格式换成libevent-2.1.11-stable.tar.bz2;

3、复制libevent-2.1.11-stable.tar.bz2 至xunsearch-full-1.4.17/packages

#下载

wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz

#先解压

tar -zxvf libevent-2.1.11-stable.tar.gz

#压缩成bz2

tar -cjf libevent-2.1.11-stable.tar.bz2 libevent-2.1.11-stable

#复制

cp libevent-2.1.11-stable.tar.bz2 xunsearch-full-1.4.17/packages/


4、进入packages/目录下,加压xunsearch-1.4.17.tar.bz2得到xunsearch-1.4.17目录,进入此目录后编辑configure文件

#进入xunsearch-full-1.4.17/packages目录

cd xunsearch-full-1.4.17/packages/


#解压xunsearch-1.4.17.tar.bz2

tar -jxvf xunsearch-1.4.17.tar.bz2


#进入xunsearch-1.4.17 编辑configure文件

cd xunsearch-1.4.17

nano configure

#做如下修改(大约5390行)

#if _EVENT_NUMERIC_VERSION >= 0x02000000

#改为:

#if EVENT__NUMERIC_VERSION >= 0x02000000


#删除旧的xunsearch-1.4.17.tar.bz2,并压缩刚才修改过的文件为:xunsearch-1.4.17.tar.bz2

rm -rf xunsearch-1.4.17.tar.bz2

tar -cjf xunsearch-1.4.17.tar.bz2 xunsearch-1.4.17


这时有了修改过configure的xunsearch-1.4.14.tar.bz2包,重新尝试安装


至此,如果执行安装一切顺利,那么迅搜便安装完成,若提示如下错误:

tar: ./packages/libevent-2.1.11-stable.tar.bz2: Not found in archive

出现“Not found in archive”这种提示的错误,一般被认为是解压缩文件无法找到解压路径,通过使用-C指定解压目录可解决此问题,但此处并不能进行这种操作


查看解压xunsearch安装包得到的文件,会发现文件所有者为用户501,所属组为staff

迅搜安装包列表.png


在安装目录中,文件主与用户组同样为501和staff,在系统中查询此用户和组,发现并不真实存在,这说明迅搜执行安装时,会临时创建或虚拟一个用户和用户组,但我们新增的文件,文件主与组并不属于迅搜,并且文件也可能为只读,导致迅搜无法解压或进行其它操作

迅搜文件列表.png


所以我们要修改文件权限,然后修改文件所有者和所属组

#修改权限

chmod -R 777 libevent-2.1.11-stable

#修改文件主

chown -R 501 libevent-2.1.11-stable

#修改文件组

chgrp -R staff libevent-2.1.11-stable

如此类推,一定要保证迅搜安装包内的文件有执行权限,所有者都为501,所属组都是staff


修改完成后再次进行安装

sh setup.sh


安装成功

迅搜安装成功.png


启动迅搜

/www/xunsearch/bin/xs-ctl.sh start


设置开机启动

echo "/www/xunsearch/bin/xs-ctl.sh start" >> /etc/rc.local


若/etc/rc.local不存在,则创建此文件并设置权限

#创建/etc/rc.local

nano /etc/rc.local

#赋予执行权限

chmod +x /etc/rc.local

#启动rc.local

systemctl start rc-local  


下面为修改后的迅搜安装包,下载需使用电脑浏览器

打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311