Omeka安装杂记 (四) :在Apache中启用rewrite_module

xtykc 02月 26th, 2009

Omeka安装时,有一个程序检查apache中是否启用了rewrite_module, 如果程序检测到rewrite_module没有启用,安装就无法进行下去。

rewrite_module如何启用,找不到官方文档,我是这么做的:

1.在apache configure时加上参数 –enable-rewrite

2.配置httpd.conf, 打开override,具体做法参见前面的博文

3.对omeka目录也要作定义,在httpd.conf中加上下面这一段,注意黑体字:

<Directory “/usr/local/apache/htdocs/omeka”>
AllowOverride All
RewriteEngine On
Order allow,deny
Allow from all
</Directory>

Omeka安装杂记 (三):ImageMagick for Omeka安装

xtykc 02月 23rd, 2009

在ImageMagick的源文件下,有一个install-unix.txt文件,里面说明了ImageMagick所需要的支持库,以及整合这些支持库的方法.

先做了个测试,安装jpegsrc,使ImageMagick支持JPEG V1:

配置安装路径:

./configure –prefix=/usr/local/jpeg6 –enable-shared –enable-static

安装ImageMagick, 在配置时用CPPFLAGS参数指定jpeg6的header文件的位置,用LDFLAGS参数指定lib的位置,用绝对路径,这样,ImageMagick就能自动监测到这些支持库.

./configure CPPFLAGS=’-I/usr/local/jpeg6/include’ LDFLAGS=’-L/usr/local/jpeg6/lib’ –prefix=/usr/local/ImageMagick

configure结束之后,可以看到: JPEG v1 –with-jpeg=yes yes

说明安装成功,已经能支持JPEG/JPG

接下来,安装libpng,freetype,jasper,安装目录都在/usr/local下.

安装ImageMagick的配置参数如下:

./configure CPPFLAGS=’-I/usr/local/jpeg6/include -I/usr/local/libpng/include -I/usr/local/freetype/include -I/usr/local/freetype/include/freetype2 -I/usr/local/jasper/include -I/usr/local/jasper/include/jasper’ LDFLAGS=’-L/usr/local/jpeg6/lib -L/usr/local/libpng/lib -L/usr/local/freetype/lib -L/usr/local/jasper/lib’ –prefix=/usr/local/ImageMagick

同样在configure结束后一定要检查一下配置是否生效,看看–with-freetype =yes后面是yes还是no(failed tests)

如果是yes,说明配置都已经成功了,可以放心安装了.

感谢提供线索:1 2

Omeka安装杂记 (一): Apache-2.2.11+MySQL-5.0.75+PHP-5.2.8的安装

xtykc 02月 19th, 2009

Omeka is a project of the Center for History and New Media, George Mason University.

Omeka powered websites: http://omeka.org/codex/View_Sites_Powered_by_Omeka

平台:LAMPP

因为手边现成的Linux机器只有上次安装openldap的那台,只能和phpldapadmin共用一个apache服务器了,于是就开始了LAMPP上架构大杂烩的艰难旅程。

(不知道在同一台机器上安装两个apache服务会怎么样,以后再试试看)

首先,上次安装的php5要重装,以支持mysql, mysqli,exif, ——这是omeka要求的,要在安装之前的configure这一步就配置好.

(BT啊,不知道在linux下,如果已经安装过php,还能有办法再加入这些新功能吗,我google了大半天时间,也没google到)

下面是我的configure参数:

./configure –prefix=/usr/local/php –with apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/lib –with-ldap –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-exif –with-gettext

接下来,安装mysql(在linux下安装mysql要比win下麻烦许多)

源码安装三部曲无需多言,mysql的配置文件是/etc/my.cnf,

  • 需要在[mysqld]下面添加:port=3306,这是mysql的默认端口。否则会出错。
  • socket=/var/lib/mysql/mysql.sock, 要跟php.ini里面设置的一致,否则会出现找不到/tmp/mysql.sock的不能连接或不能停止mysql的错误,因为php里默认的是/tmp下面,还要用ln -s 命令给这两个位置做一个链接才OK,BT啊!
  • 启动mysql: /usr/local/mysql/bin/mysqld_safe,一般来说,要成功启动mysql并非易事,需要设置mysql目录的各种权限。
  • 为omeka创建一个库和用户

然后,去omeka.org下载来omeka解压后放在apache的htdocs目录下,在浏览器地址栏输入http://localhost/omeka,如果一切配置(tomcat、php、mysql)正常,就会出现提示安装omeka的页面,点install连接,竟然出现apache 的rewrite_module没有enabled,ft! 我安装apache的时候明明带有–enable-rewrite的参数。下面是我apache的configure:

.configure –prefix=/usr/local/apache –enable-so –enable-rewrite –with-ldap-inlude=/usr/local/openldap/include/ –with-ldap-lib=/usr/local/openldap/lib –with-ldap –enable-ldap –enable-authnz-ldap

(后面跟LDAP相关的参数是为了让apache支持LDAP认证)

于是,我根据http://www.jb51.net/os/RedHat/10332.html的方法直接在apache上增加rewrite模块,之后在apache/modules下出现了mod_rewrite.so文件,在httpd.conf里增加LoadModule rewrite_module modules/mod_rewrite.so,再重启apache时竟然报出“…is built in and can’t be loaded”的错误,意思是rewrite_module已经内置不能load,我用httpd -l的命令查看内置的module,没有rewrite的影子,纠结啊!气愤啊!!!有点觉得是omeka的问题,到omeka的论坛上去查,看到有篇帖子的发帖人遇到了和我一样的问题,omeka的发言人却认为这不是omeka的bug, 不过他出了一个馊主意,在install/Installer.php的一个函数checkModRewriteEnabled()开头加上return;跳出该函数,不让Omeka的安装程序check rewrite是否enabled,搞啊!最后我也不得不用了这个可能会遗患的方法疑似成功地安装了omeka。

PS: 为omeka配置mysql数据库的方法:在/usr/local/apache/htdocs/omeka目录下找到db.ini文件,编辑它:

[database]

host = “localhost” ;mysql服务器的ip

username = “root” ;mysql的用户名

password = “*******” ;上面的用户的密码

name = “omekadb” ;数据库名称

prefix = “omeka_” ;omeka默认的,不知道干什么用的

port = “3066″ ;mysql服务器所占用的端口