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服务器所占用的端口