黄聪:Tiny Search Engine 环境的搭建(TSE如何在Ubuntu下安装)

运行环境 ubuntu 8.10 ,gcc 版本4.3.2

前面搭建有所错误,不需要Anjatu 这个IDE的集成环境,整个程序是在vi下面编写的

过去的index版本中对于ubuntu8。10的支持不是太好,现在有了新的更新index.090422-2245.Linux.tar.gz

这个版本的index可以正确通过make,原来Tiny Search Engine运行的环境是Linux的Red Hat ,所以在Ubuntu

下面有些配置需要改变

现在安装Apache2 服务器

sudo apt-get install apache2

打开,关闭,重起Apache2的命令:
打开:sudo /etc/init.d/apache2 start
关闭:sudo /etc/init.d/apache2 stop
重起:sudo /etc/init.d/apache2 restart

现在安装G++

sudo apt-get install g++

安装Zlib

需要安装 zlib.h的包
来自于
http://ubuntu.osgeeker.com/2008/02/zlib.html
zlib软件包所包含的库经常被一些软件的压缩或解压缩函数用到,所以如果编译软件时需要Zlib则说明这个软件正好含有压缩或解压缩函数,我们需要安装zlib软件包。
试过sudo apt-get install zlib,似乎Ubuntu官方源中不含zlib软件包,只有到zlib官方网站:
http://www.zlib.net
上下载源码来安装zlib软件包。
目前最新版本zlib是zlib1.2.3,安装开始;
$wget http://www.zlib.net/zlib-1.2.3.tar.gz
$tar -xvzf zlib-1.2.3.tar.gz
$cd zlib-1.2.3.tar.gz
$./configure
$make
$sudo make install


根据tse_tutorial中所述的操作

“把linux/var/www/html 中的内容移出,并将make后的文件放到 /var/www/html/yc-cgi-bin/index

tarindex/public_html中的所有文件移到/var/www/html

建立/var/www/html/yc/TSE,并把index/public_html中的文件发到其中”

下面需要安装包含lex这些命令的包
sudo apt-get install flex bison

来自:http://forum.ubuntu.org.cn/viewtopic.php?f=56&t=108268

基本上需要用到的包已经全了

到此为止,TSE中 hlink ,tse的make 可以顺利运行
但运行index的时候仍然会出错
显示如下:
/TSE/index$ make
g++ -c -O2 -I 

 -c -o DocIndex.o DocIndex.cpp
DocIndex.cpp: In function ‘int main(int, char**)’:
DocIndex.cpp:45: 错误: ‘strncmp’在此作用域中尚未声明
DocIndex.cpp:70: 错误: ‘memset’在此作用域中尚未声明
make: *** [DocIndex.o] 错误 1

不知道什么原因,有待解决


因为在ubuntu8。10 中安装Apache2和RedHat 的默认路径不同,所以下面需要更改

它的配置文件是存放在 etc/apache2/ 这个文件夹下面,又将以前的配置文件分成了几个
分别是:
etc/apache2/conf.d/charset
这个是网站编码配置,里面内容很少,打开看就知道了,我这里将最后行的 #AddDefaultCharset UTF-8 前面的#去掉,使用UTF-8编码,当然也可以把 UTF-8改成别的编码.

etc/apache2/sites-available/default

这个是网站目录配置,想更改网站目录的话,就修改这个,上面的目录的 apache2.conf 里面也有网站目录的,但不知道为什么,改了没有效果

所需要改的就是etc/apache2/sites-available/default

~$ sudo gedit /etc/apache2/sites-available/default
打开后做如下更改:
DocumentRoot /var/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
改为

DocumentRoot /var/www/html/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/html/>


ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
改为:
ScriptAlias /yc-cgi-bin/index/ /var/www/html/yc-cgi-bin/index/
    <Directory "/var/www/html/yc-cgi-bin/index/">

这样修改就不需要在程序中再改路径了,其实这些都是可以不改,仅在程序中更改。

重起Apache2
打开浏览器,输入“http://localhost"
就出现了北大天网的搜索页面
至此程序可以完整运行!!!!!!!

下面的工作就是看懂代码啦!!!

TSE官方网站:http://net.pku.edu.cn/~webg/src/TSE/

原文地址:https://www.cnblogs.com/huangcong/p/2237247.html