开源图片建站软件Gallery

xtykc 03月 24th, 2009

Gallery是一款流行的开源图片建站软件,相比之前试过的Omeka要成熟得多,安装时也没有那么多BT的要求,更重要的是,插件众多,功能齐全,且高度可配置,虽然不如Drupal那样强大到有变态之嫌,但作为专业的图片管理软件,已经很让人惊喜了,目前的最新版是3.0 Alpha 2,还存在着bug,还是2.X的可用性比较好,2.x的最新版是2.3。

安装了Gallery2.3 Full版的gallery包括72个插件,有如下主要功能:

1.基于LAMPP,开源,采用GPL协议

2.支持功能模块和外观主题(theme)的即插即用

3.支持评论、标签、评等、RSS订阅等2.0功能

4.支持多层次的相册管理和操作(添加、删除、移动),幻灯片放映、显示照片的 EXIF/IPTC信息,发送eCard,自定义水印等又酷又炫的功能

5.支持Google Map

6.支持ZIP打包批量上传、从 Picasa导入、从指定服务器导入、网络摄像头等多种方式

7.多种用户注册激活方式和基于相册的用户管理与权限控制

8.空间配额可分配

9.基于Web的管理和维护(如数据库备份)

10.支持多语言,已汉化

总而言之,无论如何,虽然尽管2.0已经被大家嚼烂了,谈腻了,偶仍然不得不说,Gallery是一款很2的图片建站工具,WordPress和Drupal都有支持它的插件/模块,其影响力可见一斑。以Gallery2.3建站的图书馆图片网站不久将现身图林,愿各位图林老鸟们都能积极地与之亲密接触。

Drupal & Library (一) :Drupal的前世今生

xtykc 03月 4th, 2009

2009年,整个互联网上存在着数不清的Drupal powered 站点,遍布世界各地的、成千上万的人为Drupal的发展贡献了自己的代码,Drupal的官网上有着近万个可以即插即用的Drupal模块(插件),它们的数量仍在以惊人的速度不断增长;Drupal的应用已经铺展到互联网上的方方面面,渗透到各个角落;RSS、博客、论坛、维基、标签、评论、评级、投票,不过是它的几碟小菜,它给你一个平台,任何人,都可以根据自己的需要,用自己的原料,烹调出自己的大餐;而所有的这一切,不论男女老少、富贵贫贱,都可以自由享用。

然而,谁又能想到,这个让全世界为之痴迷为之颠倒的Content Management Platform,曾经只是大学宿舍里微型局域网上的一个简单的“Message Board”,它最初的目的,也不过是一群年轻人为了给彼此留个便条,讨论一下去哪里吃饭,或者分享一些好玩的事。

Drupal的创始人,Dries Buytaert ,出生于1978年11月19日, 2008年7月在比利时根特大学取得计算机科学的博士学位,在1998和1999年之间,由于偶然的机会,开始开发Drupal,作为他的同龄人,我不知是该感到自豪呢,还是该感到羞愧。不过,想来Dries本人当初也未必会料到,Drupal会有今天的成就和规模吧。

Drupal的发展,大致经历了以下几个阶段:

  • 名园筑何处,仙境别红尘——“Message Board” (~2000)

当Dries还是一个大学本科生的时候,他和朋友门组建了一个局域网,为了方便彼此的交流和分享,他开发了一个“Message Board”,目的非常单纯,看不出丝毫野心。

  • 借得山川秀,添来景物新——“Drop.org”(2000~2001)

转眼,大学里青涩的少年毕业了,离开了学校,分散到了各处,但他们仍然想保持着联系,在必要的时候。于是,“Message Board”上了互联网,起初,Dries想以”Dropje”作为它的域名,这是一个德语单词,英文意思是”little village”,但小伙子也许是太兴奋,错写成了”Drop”,恰巧这个词还没有被使用,于是将错就错,Drop.org作为第一个Drupal powered的在线网站,悄然面世。

在之后的一年间,Dires听取了很多人关于如何改善这个网站的新观点,本人也对RSS Feeds等互联网新技术有了更广泛的探索和研究,为Drop.org加入了许多新功能,营造更好的用户体验环境。

  • 山水横拖千里外,楼台高起五云中——“Drupal” (2001~)

随着新的需求不断提出,Dries作了一个很明智的决定,开放Drop.org的源代码,经过许多人的关爱和呵护,出落成一个成熟的开源社区, 而不再仅仅是一个软件,一个网站。2001年1月,Dries决定把drop.org上的软件发布并命名为“Drupal”,作为供其他人使用并扩展新功能的实验性平台,便于更多人能够发现新的开发方向。Drupal发音为“droo-puhl”,中文发音类似老外说”猪婆“,德语是由英文发音派生的单词“druppel”,意思就是“drop”,即水滴,Drupal的Logo就是一个有表情的卡通可爱型水滴模样。到2008年8月,Drupal.org已有注册用户350000余,数百万的应用片段可供下载。企业、政府、个人,都纷纷以Drupal建站为时髦,如果你曾经留心关注过,或许你还记得马英九的竞选网站就是Drupal powered,刚刚上任的美国总统奥巴马的白宫新网站也是基于Drupal。图书馆也不甘寂寞,2005年7月5日美国密歇根州安阿伯市地区图书馆(Ann Arbor District LibrariesAADL)Drupal官网上发布了基于Drupal新网站开通的消息,标志着图书馆应用Drupal的开端。在Drupal的官方网站上,有一个“Libraries”群组(http://groups.drupal.org/libraries),在这里,集中了包括应用Drupal的图书馆名单,和已经发布的与图书馆有关的Drupal模块、以及各种Drupal与图书馆的资源、信息、新闻等。据该群组中的图书馆数量已经达到六十余个,涵盖了公共图书馆、高校图书馆、中学图书馆和专门图书馆。

大千世界,充满了无数的偶然,而这一切的一切,只不过是孤独者排遣孤独的游戏,

天下难有不散的宴席,人心恨别离,

草地与星光,痴心和梦想,都随光阴逝去,知音难再觅!

滚滚红尘,茫茫人海,几度相逢不相识!

寻寻觅觅,乐此不彼,到底是什么让你我如此痴迷?

锦绣繁华,千变万化,只为一个简单的目的,

让你认识我,让我了解你,

如此而已!

http://api.drupal.org/api/file/CHANGELOG.txt/6/source
http://drupal.org/node/297669

声明:本系列博文的某些段落已投稿,引用请联系本人。

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安装杂记(二):ImageMagick+imagick+PHP安装

xtykc 02月 20th, 2009

ImageMagick 是一款很强大的图片处理软件,可以创建、编辑、压缩图片,转换图片的格式,支持的格式多达100种以上,包括 DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, 和 TIFF. 可以调整大小、颜色、分辨率,添加各种动态效果,或者在图片上添加文字、线条、标记等。它可以作为一种单独的软件使用,在Linux终端直接用命令操作,也为PHP等应用提供接口,提高和丰富应用的图片处理能力,imagick则为PHP应用支持ImageMagick提供一个必需的容器(wrapper)。

ImageMagick是Omeka必需的,没有它,在omeka powered sites上上传图片时会报错:ImageMagick is not properly configured.Please check your settings and then try again.

安装ImageMagick很简单,直接参照ImageMagick上的instructions就可以,难点是安装imagick。

这句话会引起误解, Omeka报错的原因不是因为没有安装imagick, 其实很简单,是因为没有正确配置ImageMagick的convert函数在服务器上的绝对路径,eg:我的ImageMagick安装路径是:/usr/local/ImageMagick,那么convert的绝对路径是:/usr/local/ImageMagick/bin/convert. 这就是在Omeka的settings->general settings->Path To Convert项中所填的值.

虽然Omeka是基于LAMPP架构的, 但它却并未倚赖于LAMPP本身对ImageMagick的支持,即用PHP的imagick模块来联接PHP和ImageMagick,而是直接定位到ImageMagick的命令. 可惜的是Omeka的安装说明简单得可怜,只是说需要Omeka的支持,却没有详细地说明ImageMagick是怎么支持Omeka的. 会让我这种入门者误入歧途, 好在我从apache的error_log中获得了一些信息,推测出了原因之所在.但还是免不了走了许多的弯路.

然而,仅仅只是按照ImageMagick官网上的安装方法还是远远不够的,还需要很多其它的支持库,才能使ImageMagick正常运作,这一点也是我从apache的error_log中的报错信息:no decode delegate for this image format 中得知的, 也是Omeka的官网上没有说明的. ImageMagick for Omeka的安装将会写在以后的博文中, 下面,还是关于ImageMagick+imagick+PHP的安装:

我开始时参照了以下安装方法:

http://info.52z.com/html/20419.html

http://bbs.unixtech.cn/read.php?tid=1229

http://doc.linuxpk.com/1864.html

http://hi.baidu.com/billdkj/blog/item/998373b336b477a0d8335a0d.html

这些安装方法都需要重新编译PHP,而且其中的过程很混乱(或者是作者懒得把详细的过程准确无误地写出来),试过多次,花了3个小时也没装好,让人极度郁闷。ImageMagick和PHP的官网上,俺能找得到的Manual都超级简单,没有可操作性。

刚刚发现了某位老兄的一篇帖子,不得不佩服这个老外的语言能力,上面的4个链接全部是中文的,我却看得脑子里面拧成了天津麻花,仅凭我这菜鸟的经验试了又试无论如何也不成功,看了这位老兄的E文帖子,我觉得脑子里的天津麻花瞬时变成了清水挂面,真想立马就杀到单位,扑在服务器上试验一番!直觉应该会成功。

这里提到的方法,不是把imagick编译成静态module,不用重新编译PHP,而是直接把imagick编译成imagick.so文件,再在php.ini里用动态加载的方法。写得简单明了,但凡涉及到一些实际操作细节该提到的一定说得清楚明白。

这里还有一位老兄的帖子,思路和上面的老外一样,下面是他的代码,我整理了下:

tar xvf imagick-2.2.0.tgz
cd imagick-2.2.0
/usr/local/php5/bin/phpize

./configure –with-php-config=/usr/local/php5/bin/php-config

make
make install

编辑php.ini,加上下面两行:
extension_dir = “/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/”
extension = “imagick.so”

庆祝apache+LDAP认证成功!!!!!!!

xtykc 02月 20th, 2009


费了将近2天时间,历尽艰辛,终于在今天下午1点45分左右,成功地实现了apache的LDAP认证,同时解决了昨天安装Omeka之前遇到的rewrite_module不能启用的问题,成功地安装了Omeka,心里感觉很美,特发帖庆祝!!!

————————————————————————————————

敬请期待下篇博文:《apache的LDAP认证详解》

————————————————————————————————

鸣谢:

http://www.opensourcehowto.org/how-to/apache/setup-apache2-with-openldap-authentication.html

http://bbs.chinaunix.net/archiver/fid-49.html

http://bbs.chinaunix.net/archiver/tid-1362520.html

http://cat.xiexiao.com/when_htaccess_not_work/

http://blog.nlhs.tyc.edu.tw/post/3/344

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

在Linux上架构LDAP

xtykc 01月 16th, 2009

——

Linux+OpenLDAP2.3.28+BerkeleyDB4.6

+Apache2.2.11+PHP5.2.8+PHPLDAPAdmin0.9.8.3

第一次在Linux上弄这么复杂的架构,累,不过很有成就感!

OpenLDAP是以BerkeleyDB为数据库驱动的,这里注意有的Linux系统可能会自带BerkeleyDB,如果再自行安装BerkeleyDB的话,可能导致OpenLDAP无法启动,总之一个Linux系统里尽量避免安装多个版本的BerkeleyDB;

phpLDAPAdmin是一款开源的、基于WEB的LDAP管理工具,apache和php是phpLDAPAdmin的运行环境;其它常用的LDAP工具还有LDAPBrowser/Editor,是纯java的,C/S结构,必需安装JDK才能运行,后者的功能不如前者全面,所以虽然我两者都安装了,但还是选择前者;

——————–安装的分割线——————————————————-

用Linux系统上源码安装的三部曲的方式安装bdb, openLDAP, 配置好并确认可以启动后,再以同样的步骤安装apache和 php, phpLDAPAdmin解包后放在 /usr/local/apache/htddocs中;

Linux系统上源码安装的三部曲:

# ./configure –prefix=安装目录 –with-config-file-path=配置文件目录 (进入安装文件所在目录后)

# make

# make install

——————-配置文档的分割线—————————————————–

凡是开放代码的工具和软件,配置文件是很重要的,能清楚明白地找到并修改其配置文件,是掌握它们的最首要也是最必要的一步,配置文件的位置可以在configure的时候指定,我是把它们都安装在/usr/local目录下的,其配置文件的位置和名称分别是:

  • OpenLDAP /usr/local/etc/openldap/slapd.conf (服务器)

/usr/local/etc/openldap/lapd.conf (客户端)

  • apache /usr/local/apache/conf/httpd.conf
  • php /usr/local/lib/php.ini
  • phpLDAPAdmin /usr/local/apache/htddocs/phpadmin/confg/config.php

对这些配置文档的修改可以用vi编辑器,例如,在终端中输入vi /usr/local/lib/php.ini就可以编辑php的配置文件了,这里可以查询vi编辑器各种命令的用法。

———————–启动的分割线—————————————————-

启动OpenLDAP服务:/usr/local/libexec/slapd

停止OpenLDAP服务:先用 # find /usr -name slapd.pid查一下slapd.pid文件的位置,我查出来 的结果是、usr/local/var/run/slapd.pid, 因此可用kill -INT `cat /usr/local/var/run/slapd.pid`停止服务。(注意,`不是单引号,键盘上在~符号下面,本人找了好一会儿才找到)

重新启动OpenLDAP服务:su root -c /usr/local/libexec/slapd

启动apache:/usr/local/apache/bin/apachectl start

停止apache: /usr/local/apache/bin/apachectl stop

————————教训的分割线————————————————–

遇到最大的挫折是,成功安装配置好apache之后,安装php时,到了make这一步,出现了一大堆error, 于是卸了装,装了卸,翻遍了互联网上能找的到的所有资料包括E文的(不是我夸张,实在是这方面的资料有限),无论如何也不成功,费了我将近一天时间,到临近下班后,才发现,其实原因很三八,不提也罢。

————————-结束的分割线————————————————–

附:

linux as 4+BDB+openldap+phpldapadmin最新版安装方法

OpenLDAP使用心得

什么是LAMP?

xtykc 09月 17th, 2008

LAMP =

Linux 操作系统 +

Apache 服务器 +

MySql 数据库 +

PHP 脚本语言

“LAMP所代表的不仅仅是自由和开放,LAMP构成了一个强大的、高性能Web应用平台,具有易于开发、更新速度快、安全性高、成本低的特点,因此被许多开发者视为“黄金组合”。”——http://bbs.yesky.com/bbs.php?url=http://bbs.yesky.com/archiver/?tid-15599109.html