标注平台Anafora搭建指南

Anafora开源1.0版本安装指南

首先不得不吐槽一下,官方指南真的太TM简略了,能省则省!

https://github.com/weitechen/anafora/wiki/Install-Guide

废话不多说,进入正题:

首先,安装anafora的环境依赖:

1, 安装apache httpd:

Windows就不要试了,最好选ubuntu的系统,centos可能也行,但只是可能(个人见解)!

然后需要安装三个apache的依赖,参考链接

http://jingyan.baidu.com/article/7e4409533d7f0f2fc0e2ef91.html

(以下安装方法引用自上述链接)

要编译Apache httpd,存在以下要求:

a)       确保你的系统中已经安装了APR和APR-Util;Perl-Compatible Regular Expressions Library (PCRE)这个库是必需的,但它不再与httpd捆绑在一起。

b)       Disk Space:确保你有至少50MB的临时空闲磁盘空间可以使用。

c)       ANSI-C Compiler and Build System:确保你已经安装了一个ANSI-C编译器。推荐使用由自由软件基金会(FSF)编写的GNU C编译器(GCC)。

d)       Accurate time keeping:HTTP协议的元素会以一天的时间进行表示。所以,它的时间会参照你系统中的一些时钟同步设备的设置。通常基于网络时间协议(NTP)的程序ntpdate或xntpd就是用来做这样的事情。

接下来,就是要安装APR、APR-Util和PCRE。

先来看下APR与APR-Util的下载,大家可以去http://apr.apache.org进行下载。

下载PCRE大家可以去http://www.pcre.org进行下载。

将下载的3个压缩包上传到你的Linux系统中去。我上传到了我Linux系统下/mysoft目录中。进入这个目录:cd  /mysoft。我们先解包APR,并查看/mysoft目录下的文件,依次执行命令:(目录根据自己的情况对号入座)

gzip  -d  apr-1.5.2.tar.gz

tar  -xf  apr-1.5.2.tar

ls  -l

可以看到/mysoft目录下多了一个目录apr-1.5.2。进入apr-1.5.2目录:cd  ./apr-1.5.2/。然后,进行APR的源码安装,依次执行命令:./configure

Make

make install

安装完成后,我们可以看到APR的安装路径/usr/local/apr。当然,你也可以使用  --prefix=目录  选项来指定一个安装目录。

接着,我们来解包APR-Util,并查看/mysoft目录下的文件,依次执行命令:

gzip  -d  apr-util-1.5.4.tar.gz

tar  -xf  apr-util-1.5.4.tar

ls  -l

可以看到/mysoft目录下多了一个目录apr-util-1.5.4。

进入apr-util-1.5.4目录:cd  ./apr-util-1.5.4/。然后,进行APR-Util的源码安装,依次执行命令:

./configure  --with-apr=/usr/local/apr

Make

make install

在安装APR-Util时,需要指定APR的安装路径,所以需要带上选项--with-apr=/usr/local/apr,如果你不带上这个选项,在configure的时候会看到如下的错误提示:

configure:error:APR could not be located.Please use the --with-apr option.

下面,我们来安装PCRE。首先,解包PCRE,并查看/mysoft目录下的文件,依次执行命令:

gzip  -d  pcre-8.36.tar.gz

tar  -xf  pcre-8.36.tar

ls  -l

可以看到/mysoft目录下多了一个目录pcre-8.36。

进入pcre-8.36目录:cd  ./pcre-8.36/。然后,进行pcre-8.36源码安装,但是,当你在执行./configure时,会看到如下提示:

configure: error: You need a C++ compiler for C++ support

不用担心,yum又派上用场了,执行命令:yum  install  -y  gcc  gcc-c++ 。

gcc-c++安装完成后,我们继续我们的pcre-8.36源码安装,依次执行命令:

./configure

Make

make  install

至此,准备工作就绪,开始准备安装Apache Server2.4,可以去http://httpd.apache.org进行下载。

安装Apache之前,我们再来看一小段官方文档:

 --enable-mods-shared=MODULE-LIST

 定义一个要启用的模块列表,并且这些模块会以动态共享模块进行编译。这就意味着,这些模块需要通过使用LoadModule指令进行动态加载。MODULE-LIST是一个由引号引起来且由空格进行分隔的模块名列表。这些模块名要以去掉前面的mod_的形式给出。例如:

 --enable-mods-shared='headers rewrite dav'

 你还可以使用特殊关键字reallyall,all,most,few和none。例如:

 --enable-mods-shared=most 编译大部分模块并将它们作为动态共享模块进行编译

 --enable-mods-shared=few 只编译一组比较基本的模块,默认关键字是most。

对于已选择的模块来说,LoadModule指令会自动在主要配置文件中生成。默认情况下,所有这些指令会被注释掉,除了一些必需的或是通过一个--enable-foo参数明确指定的模块。你可以在httpd.conf文件中通过激活或注销LoadModule指令来改变已加载模块的设置。另外,可以通过配置选项--enable-load-all-modules来将所有已编译模块的LoadModule指令激活。

--enable-mods-static=MODULE-LIST

这个配置选项的行为与--enable-mods-shared类似,但会静态链接给出的模块。这就意味着,在运行httpd的时候,这些模块总是存在。它们不需要用LoadModule指令进行加载。

--enable-modules=MODULE-LIST

这个配置选项的行为与--enable-mods-shared类似,也会动态链接给出的模块。可以使用特殊关键字none来禁用所有要编译的模块。

更多的内容大家可以自己去官网看,这里我就不再多讲了。进入正题,解包httpd,并查看/mysoft目录下的文件,依次执行命令:

gzip  -d  httpd-2.4.17.tar.gz

tar  -xf  httpd-2.4.17.tar

ls  -l

可以看到/mysoft目录下多了一个目录httpd-2.4.17。

进入httpd-2.4.17目录:cd  ./httpd-2.4.17/。然后,进行Apache源码安装,依次执行命令:

./configure  --enable-mods-shared=all

make

make  install

Apache默认安装在/usr/local/apache2目录下。同样,这里你也可以使用

--prefix=目录名

来指定一个安装目录,例如:

./configure  --prefix=/usr/mydir  --enable-mods-shared=all

Apache已经安装成功,现在启动httpd服务。执行命令:

/usr/local/apache2/bin/apachectl  -k  start;

大家会发现,httpd服务并没有启动,而是出现了一条如下所示的错误信息:

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

出现上述错误信息,是因为配置文件httpd.conf中的ServerName没有修改。

我们用Vim打开httpd.conf配置文件,执行命令:

vi  /usr/local/apache2/conf/httpd.conf

设置Vim在执行搜索时不区分大小写,执行命令:

:set ic

搜索"servername"字符串,执行命令:

/servername

找到servername后,按A键进行编辑。将ServerName前的#号去掉,将ServerName后面的字符串改为:localhost:80。

修改完成后,按Esc键由编辑模式切换到命令模式,然后执行保存退出命令:

:wq

 

在启动httpd之前,我们先为其创建一个软链接(相当于windows下的快捷方式),否则每次重启Apache都要输那么一长串,很费劲。

为httpd创建软链接,并查看一下软链接是否创建成功,依次执行命令:

ln  -s  /usr/local/apache2/bin/apachectl  /mylinks/httpd。

ls  -l  /mylinks

来吧,启动httpd服务,执行命令:/mylinks/httpd  -k  start

 

在测试Apache是否已经正常工作之前,我们先看下防火墙的状态:

systemctl  status  firewalld

如果处于running运行状态,就把它关掉:

systemctl  stop  firewalld

然后,查看一下防火墙是否已经关掉:

systemctl  status  firewalld

如果处于dead状态,就说明已经关掉了。

如果你希望每次系统启动的时候都不要启动防火墙,可以执行命令:

systemctl  disable  firewalld

同样,如果你希望每次系统启动的时候都启动防火墙,可以执行命令:

systemctl  enable  firewalld

防火墙关闭后,接着来看下你系统的IP地址:ifconfig  -a。可以看到我的IP是192.168.0.104。

打开浏览器,在地址栏中输入:192.168.0.104,回车。可以看到“It  works !”就代表安装成功了!

2, 安装Django:

直接pip安装即可,例如pip install django==1.6.5,如果不是必须的话最好不要安装1.10版本,原因在下文中会提到;

3, 安装mod_wsgi:

参考链接:http://modwsgi.readthedocs.org/en/develop/user-guides/quick-installation-guide.html

下载链接:https://github.com/GrahamDumpleton/mod_wsgi/releases;

在选择版本的时候除了考虑os,还要看跟你的Python版本(我的是Python2.7)是不是兼容(此处有眼泪);

解压:tar xvfz mod_wsgi-X.Y.tar.gz

配置:./configure --with-apxs=/usr/local/apache/bin/apxs \

    --with-python=/usr/local/bin/python

安装:make && make install

安装完了一定注意看mod_wsgi.so 是不是在/apache2/modules/路径下!(真的有可能不在,然后会出问题,此处也有眼泪!)

确认在正确路径下的话,在apache的配置文件中增加一行:

LoadModule wsgi_module modules/mod_wsgi.so

Mod_wsgi的任务暂时告一段落,注意是暂时,接下来还需要配置;

4, 接下来下载并解压anafora

然后配置django和mod_wsgi,在apache的配置文件中添加:

具体位置为:<IfModule alias_module>与</IfModule>之间:

Alias /anafora/static /path_to_anafora/src/main/static

WSGIScriptAlias /anafora /path_to_anafora/src/main/web/wsgi.py

WSGIPythonPath /path_to_anafora/src/main

其中,为了保险起见,“/path_to_anafora/”可以写绝对路径;

5, 然后需要进行用户授权设置:

具体可以参考:http://dkincaid.github.io/nlp/2014/07/09/installing-anafora.html

具体有关httpd摘要(digest)认证的资料可以百度之,一抓一大把;

6, Anafora的设置/path_to_anafora/src/main/web/settings.py和permissions设置按照官方指南进行设置即可;

/src/main/web/wsgi.py的设置也可以参考:

http://dkincaid.github.io/nlp/2014/07/09/installing-anafora.html

但是文中提到的更改文件位置什么的(包括“get the settings.py file in the right place”、“Copy the theme files”等等)并没有必要,只要设置好路径即可;

 

本人碰到的其他错误:

1, Target WSGI script '/usr/local/apache2/anafora/src/main/web/wsgi.py' cannot be loaded as Python module.

解决办法:找到python中django的目录下的wsgi.py,注意:不是!anafora中的wsgi.py,然后chmod a+x wsgi.py即可解决;

2, ImproperlyConfigured: The TEMPLATE_DIRS setting must be a list or a tuple. Please fix your settings.

解决办法:去setting.py文件中,找到TEMPLATE_DIRS,把它改成list;

3, File "/usr/local/apache2/anafora/src/main/web/urls.py", line 1, in <module>

    from django.conf.urls import patterns, include, url

ImportError: cannot import name patterns

解决办法:这个是django版本的问题,如上文提到的眼泪,即最好不要安装1.10版本,否则会像如下链接,没人解决这个问题:

http://www.django-china.cn/topic/1485/

解决方案参考于:

http://stackoverflow.com/questions/8074955/cannot-import-name-patterns

4, 碰到问题记得看/apache2/logs/error_log!!!

5, 学会用chrome定位以及调试前端的问题,必备技能;

6, 其他问题欢迎交流,email:wangyi_bupt2011@163.com;

原文链接: https://www.cnblogs.com/wai7niu8/p/5649733.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    标注平台Anafora搭建指南

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/236584

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午5:05
下一篇 2023年2月13日 下午5:05

相关推荐