你在网络上看起来棒极了!

作者:Marcel Gagné

是的,弗朗索瓦,我认为在餐厅的网站上添加我们常客的画廊会很棒,但我确实有一些顾虑。首先也是最重要的,我真的不认为你应该称之为“流氓画廊”。其次,你到底为什么要手写 HTML 代码?那会花费很长时间,而且我们的客人马上就要到了。幸运的是,今晚的菜单上有一些很棒的免费软件,可以用于你的 Linux 系统,这将使创建画廊变得轻而易举——不过稍后吧。我可以看到我们的客人正陆续到达。

大家晚上好,欢迎来到Chez Marcel!你们的餐桌已经准备好了,我们也准备好为您服务了。我忠实的侍者弗朗索瓦会去取酒,而我来介绍今晚的特色 Linux 软件。弗朗索瓦,去酒窖。快点!在南翼,你会找到一箱 2003 年保加利亚的萨里扎葡萄酒。萨里扎是一种很棒的中等酒体的红葡萄酒,我相信你们会喜欢的。

我必须告诉你们,弗朗索瓦有一个绝妙的主意,就是创建一个网络照片画廊。在我向你们展示创建这样一个画廊有多么容易之前,我应该告诉你们一个你们需要在系统上安装的软件包——一个可以让你用图像做各种神奇事情的软件包。不,我不是在说 GIMP。这个软件包是 ImageMagick,如果你还没有安装它,你应该现在就安装,因为我们稍后会用到它的工具。什么工具?嗯,例如,你可以使用 identify 命令找到一些关于媒体文件的有趣信息

$ identify myphoto.jpg
myphoto.jpg JPEG 800x1161 DirectClass 271kb

正如你所看到的,这张照片的宽度是 800 像素,高度是 1,161 像素,它是一张 JPG 图像。如果我想从这张图像创建一个 150 像素宽的小缩略图呢?ImageMagick 也有一个工具可以做到这一点。它叫做 mogrify

mogrify -geometry 150 myphoto.jpg

就这样,我们就得到了一张 150 像素宽的照片。当然,你可能想要备份原始照片。

虽然不是网络相册,但你可以使用 montage 命令创建一个蒙太奇,很像照片联系表

montage -geometry +5+5 -size 150 -frame 20 lugnuts/*.jpg lugnuts.png

生成的图像(图 1),带有一个漂亮的斜面框架,可以打印出来并存储在实体相册中。很酷,不是吗

You Look Marvelous on the Web!

图 1. ImageMagick montage 命令可以轻松快捷地创建联系表。

为了将这些图像放到网上,我们还有其他工具。有些工具需要你拥有服务器端的访问权限,而且这些工具可能非常复杂且功能丰富。我稍后会向你展示其中一个。与此同时,我们假设你没有 shell 访问你的网站,或者你不被允许安装程序或运行脚本。如果你想把这些照片放到你自己的网站上,你可能会陷入困境。别担心。这就是 iGal 和我们的朋友 ImageMagick 工具组发挥作用的地方。iGal 是一个简单的 Perl 脚本,最初由 Eric Pop(在斯坦福大学)编写。如今,iGal 由 Wolfgang Trexler 维护和更新。这是一个很棒的工具,可以让你快速创建图像演示,无论是为了你的网站、你的家人还是你的公司。你可以从 Wolfgang 的网站 trexler.at/igal 获取最新的 iGal。

安装这个非常简单,因为 iGal(代表 Image GALlery 生成器)是一个 Perl 脚本,已经是源代码了。访问该网站并下载最新的 tar.gz 压缩包。然后,解压该软件包并安装它

tar -xzvf igal-1.4.7-wt.tar.gz
cd igal-1.4.7-wt
sudo make install

为了制作即时幻灯片,将目录更改到你已经收集图像的位置,并键入以下命令

igal -xy 150 --bigy 800

就这些了。你不需要我添加的 -xy 150 或 --bigy 800 选项。第一个选项创建一个 HTML 幻灯片,标题页由缩略图组成,缩略图的最大尺寸缩放到 150 像素。如果你有非常大的图像,bigy 选项很有用。它会获取你的大照片并创建选定 y 尺寸(在本例中为 800 像素)的图像。要查看全尺寸图像,你的访问者只需点击 800 像素的图像即可。整个过程可能需要一两分钟,具体取决于你的图像大小和数量。在该目录中,你还会找到一个 index.html 页面、你的原始图像、这些图像的缩略图版本(前缀为 .thumb_)以及每个图像的交叉链接 HTML 页面。它应该看起来像你在图 2 中看到的那样。

You Look Marvelous on the Web!

图 2. 由 iGal 提供的网络画廊

我最终做的唯一真正的编辑是更改 index.html 文件的标题。默认情况下,该页面的标题是“图片索引”,而我倾向于更喜欢更具描述性的标题。当你运行 iGal 时,每个图像的默认标题是图像名称本身。你可以通过使用 -c 选项运行 iGal 来更改它,而无需编辑所有图像。这将生成一个名为 .captions 的文件。文件中的行看起来像这样

img_0261.jpg ----
img_1400.jpg ----

要为你的图像创建标题,请将你想要的文本附加到图像

img_0261.jpg ---- A picture of me with Tux

保存文件,再次使用 -c 选项重新运行 iGal,你的所有图像都将带有你选择的标题。如果你选择 -C 选项(大写 C),你将获得你的标题,但图像名称将保留。请注意,你应该首先删除 .captions 文件。记住,所有这些都发生在你的本地 PC 上。完成所有操作后,你需要做的就是将目录(包括 HTML 文件、图像和缩略图)传输到你的托管服务提供商。不需要服务器端代码。

当然,Perl 很酷。但是一个好的老式 bash 脚本也同样酷,而这正是 Eduardo Sztokbant 的 Shalbum 的核心。你可以从 shalbum.blogspot.com 获取 Shalbum。与 iGal 一样,Shalbum 使用 ImageMagick 来实现其魔力。除了相似之处,Shalbum 还有一些有趣的附加功能使其与众不同,包括带有主图像视图的前进和后退缩略图、内置幻灯片功能等等。要安装 Shalbum,请解压 tar.gz 压缩包,然后运行make install:

tar -xzvf shalbum-1.12.tar.gz
cd shalbum-1.12
sudo make install

要创建你的网络相册,请将你想要的图像复制到一个文件夹中。完成该部分后,运行 shalbum 命令就可以像这样简单

shalbum -t "Proud members of the WFTL-LUG" -T 200 -C 4

此命令的结果如图 3 所示。我使用上述命令所做的是传递相册的标题(-t 选项),选择了一个 200 像素的缩略图(-T 选项),并指定主页应显示四列缩略图。生成的相册位于名为 album 的子文件夹中。你可以将整个文件夹传输到你的网站,就可以使用了。Shalbum 的演示效果很好。

You Look Marvelous on the Web!

图 3. 快速、简单且时尚——Shalbum 使用 bash 生成网络相册。

每张照片不仅显示用于浏览画廊的前进和后退链接,还在每页底部显示上一个和下一个缩略图。在画廊的顶部,你会看到一个标记为“播放”的链接。这将启动幻灯片。你可以使用 -S 选项指定每张照片之间的秒数。

今晚菜单上的最后一项要复杂得多,并且确实需要服务器端访问权限,以及带有 PHP 和 MySQL 的 Apache 服务器。结果非常出色,而且非常易于使用。它被称为 ZenPhoto,它可能是我见过的最好、最简单的网络照片画廊程序。尽管它易于使用,但功能列表却令人印象深刻。内置了 EXIF 和 IPTC 支持,以及对视频(Flash、QuickTime 和 3GP)的支持。图像通过 Web 界面上传,但如果你愿意,也可以使用 FTP 或 SCP。该界面使你可以轻松地随时编辑、发表评论、标记照片、评价单个相册或照片以及从搜索生成相册。你可以为图像添加水印、密码保护画廊或单个相册、设置 RSS 源、允许用户评论等等。可以有多个画廊甚至子画廊。我有没有提到 ZenPhoto 也是可主题化的?

要开始使用,请访问 ZenPhoto 网站 www.zenphoto.org,并下载最新的源代码。将压缩包解压到你的 Web 服务器层次结构中。当然,只有你自己知道确切的位置,但你几乎可以将其放置在这些约束下的任何位置。ZenPhoto 不需要位于 Web 根目录。也就是说,你确实需要具有对系统的管理访问权限,或者至少是 MySQL。使用以下命令将软件包解压到你选择的位置

tar -xzvf zenphoto-1.1.5.tar.gz

生成的目录将被称为 zenphoto,这很好,但你可以选择将文件夹重命名为对你来说更有意义的名称,例如 myphotos 或 myalbums。

安装非常简单。只需将你的浏览器指向 ZenPhoto 安装地址——例如 http://mywebsite.dom/zenphoto。如果你是第一次访问 ZenPhoto,它会立即将你带到设置屏幕(图 4)。

You Look Marvelous on the Web!

图 4. 安装过程有指针引导,帮助你设置数据库。

设置屏幕检查以确保你安装了正确的软件,包括 PHP 支持和模块。在我的示例中,我尚未创建我的数据库。使用你熟悉的任何工具(例如,Webmin、PHPMyAdmin 或命令行)来创建一个数据库和一个有权更新该数据库的用户

mysqladmin -u root -p create zenphoto
mysql> grant all on zenphoto.* to 'zpadmin'@'localhost'
 ↪identified by 's3cr3tp4sswd';
mysql> flush privileges;

单击“保存”按钮以验证你的数据库设置,现在你应该看到一个屏幕,其中包含一系列友好的绿色复选标记和一个大的蓝色“开始!”链接在底部。如果存在任何问题,它们将被突出显示给你(可能是密码错误)。假设一切顺利,单击“开始!”。ZenPhoto 创建必要的表,然后为你提供一个屏幕来设置你的管理员用户名和密码。剩下的唯一要做的就是登录。

You Look Marvelous on the Web!

图 5. 两步之后,你就可以登录并开始上传照片了。

当你登录到管理界面时,你会看到几个选项卡,让你定义安全性、编辑现有画廊和评论、调整布局和主题,以及更多功能。此时你最想做的可能是创建一个相册并上传一些照片。要创建你的第一个相册,请单击“上传”选项卡。如果你尚未这样做,请通过提供名称来创建一个新相册。然后,你可以逐个浏览你的照片并将它们添加到列表中(图 6)。默认设置允许上传五张单独的照片,你可以一次上传五张,但如果你愿意,可以单击底部的“添加更多上传框”链接。完成后,单击“上传”按钮。

You Look Marvelous on the Web!

图 6. 创建相册和上传照片只需点击几下。

你的最终画廊在照片上传后很快就可以准备好。缩略图会自动生成。默认情况下,画廊是公开的,到目前为止唯一的密码是保护管理界面,你目前正在其中工作。要离开管理屏幕并查看你的画廊,请单击右上角的“查看画廊”链接,你将立即被传送到画廊的公共界面(图 7)。假设你以管理员身份登录,你将在右上角看到一个“管理员工具箱”链接,让你跳回管理员模式。

You Look Marvelous on the Web!

图 7. 基于默认主题构建的 ZenPhoto 画廊

现在,我隐约记得提到过 ZenPhoto 是可主题化的。实际上,该软件包附带了多个主题,例如图 8 中显示的 Stopdesign 主题。大多数主题都有可以在管理界面中调整的其他选项。这些选项让你定义显示的缩略图数量、它们出现的顺序、照片下载选项、评论功能等等。你还可以从 ZenPhoto 网站浏览和下载其他主题。

You Look Marvelous on the Web!

图 8. 不同的主题为你的相册提供了一种反映你个人品味的风格。

再一次,我的朋友们,我们的时间到了,虽然我必须承认,弗朗索瓦的画廊看起来非常棒,你们微笑的面孔从我们的网站上探出来。如果你还没有机会这样做,我希望你尽快将你的照片发送给我们。与此同时,时间真的不早了,我们必须很快上路了。当然,弗朗索瓦会在我们互相道别之前最后一次为你们续杯。举起你们的酒杯,我的朋友们,让我们共同祝愿彼此身体健康。祝您健康!祝您好胃口!

资源

iGal: trexler.at/igal

ImageMagick: www.imagemagick.org

Shalbum: shalbum.blogspot.com

ZenPhoto: www.zenphoto.org

Marcel 的网站: www.marcelgagne.com

WFTL-LUG,Marcel 的在线 Linux 用户组: www.wftl-lug.org

Marcel Gagné 是一位获奖作家,居住在安大略省滑铁卢。他是 Addison-Wesley 出版的Moving to Linux系列丛书的作者。Marcel 还是一位飞行员,一位前 40 强唱片骑师,创作科幻小说和奇幻小说,并且擅长折叠霸王龙纸 origami。可以通过电子邮件 marcel@marcelgagne.com 与他联系。你可以从他的网站 www.marcelgagne.com 发现许多其他的东西(包括很棒的 Wine 链接)。

加载 Disqus 评论