[TEBIKI]dcphoto.pl を使った写真集ウェブページ作成

ここでは itpass サーバで写真集ウェブページを作成する方法を説明する. 写真集ウェブページを作成するには dcphoto.pl (/home/itpass/bin/dcphoto.pl) を用いる.

以下では, itpass サーバ (と電脳サーバ) でよくやるディレクトリ構成を含めて説明する.

前提

ここでは, 写真集のファイルを

/home/epalab/dc-arch/photo/2021-03-22_happyoukai

以下に置く場合について説明する.

写真集ページ (ファイル) の作成手順

グループとパーミッションに気を付けて, 写真の画像ファイルを

/home/epalab/dc-arch/photo/2021-03-22_happyoukai/src

以下に置く.

$ sg epalab    # 以後, epalab グループとしてファイルを作成する (自分が置くディレクトリに合わせてグループを指定すること)
$ umask 002    # 以後, 作成するファイル・ディレクトリをグループ書き込み可能にする

$ cd 2021-03-22_happyoukai

ディレクトリを作成.

$ mkdir -p 2021-03-22_happyoukai/src

itpass サーバ (電脳サーバ) では, 作成したディレクトリの内容を説明したファイル (SIGEN ファイル) を作成する. 以下では, 既に存在する SIGEN ファイルをコピーして編集している.

$ cp  2020-02-21_gasshuku.SIGEN  2021-03-22_happyoukai.SIGEN
$ emacs  2021-03-22_happyoukai.SIGEN               # ファイルの説明を編集

2021-03-22_happyoukai/src 以下に写真の画像ファイルを置く. グループとパーミッションに気を付けること. 例えば, 下のように jpg ファイルを置く.

yot@ika-itpass:/home/epalab/dc-arch/photo/2021-03-22_happyoukai$ tree
.
└── src
    ├── 0399BCB9.jpg
    ├── 0C93A6C7.jpg
    ├── 0FBE8201.jpg
    ├── 2050E700.jpg
    ├── 4500A28B.jpg
    ├── 52E38398.jpg
    ├── 66378080.jpg
    ├── 73BC8A94.jpg
    ├── 7B1BBDAB.jpg
    ├── 7CBD070E.jpg
    ├── 8E1FF93F.jpg
    ├── B211B940.jpg
    ├── B777EA11.jpg
    ├── BF46239A.jpg
    ├── C36DB69A.jpg
    ├── C5C118AD.jpg
    ├── D1D1DC29.jpg
    ├── E64FB663.jpg
    └── FBE6B3A1.jpg

写真集ページを作成するには, dcphoto.pl を用いる. (dcphoto.pl は以前の学生が作成した写真集作成のための perl スクリプト.)

$ perl ~itpass/bin/dcphoto.pl
タイトルを記入して下さい.
 title> workshop                               # 適当なタイトルを入力する
workshopb001.jpg convert ... done
m001.jpg convert ... done
b002.jpg convert ... done
m002.jpg convert ... done
b003.jpg convert ... done
m003.jpg convert ... done
(中略)
b019.jpg convert ... done
m019.jpg convert ... done
$

完了すると, 下のようなファイルができるだろう.

$ ls
comment.txt  html        pub               src
dcphoto.css  index.html  title.txt

ここで作られた index.html が写真集のページであり, pub の下に公開される画像ファイルが置かれている.

写真の順番を入れ替える方法

写真集を作った後で写真の順番を入れ替えたい場合は, comment.txt を書き換えて, もう一度 dcphoto.pl を実行すればよい.

例えば, comment.txt には下のように書かれているだろう.

$ cat comment.txt
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:

各行の左端の数字は, pub の下の画像ファイルの番号と対応している.

したがって, 例えば 3 番目の写真と 6 番目の写真を入れ替えたい場合には,

003:

の行と

006:

の行を入れ替えれば良い. つまり comment.txt の内容を下のようにすればよい.

001:
002:
006:
004:
005:
003:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:

その上で dcphoto.pl を実行する.

$ perl ~itpass/bin/dcphoto.pl

これで写真の順番が入れ替わっているはずである.

公開のためのリンクの作成

上では,

/home/epalab/dc-arch/photo/2021-03-22_happyoukai

以下に写真集のファイルを置いたが, このままでは http アクセスできない. そのため, http アクセスできるディレクトリから二段階でリンクを貼る.

リンク作成 1

上で作成した

/home/epalab/dc-arch/photo/2021-03-22_happyoukai

以下の*個々のファイルへのリンク*を

/home/epalab/ftp/photo/2021-03-22_happyoukai

から貼る. リンクの作成には dcreal-lndir-modified-for-itpass.rb を用いると便利. (これは以前の学生が作成した ruby スクリプト.)

$ cd /home/epalab/ftp/photo
$ ~itpass/bin/dcreal-lndir-modified-for-itpass.rb ../../dc-arch/photo/2021-03-22_happyoukai

SIGEN ファイルへのリンクも作成する.

$ ln -s ../../dc-arch/photo/2021-03-22_happyoukai.SIGEN .

リンク作成 2

ここでは作業は必要ない. 説明のみ.

/home/epalab/ftp/photo

のディレクトリはまだ http アクセスできない. http アクセスできるのは

/home/epalab/public_html

ディレクトリ以下である. そこで,

/home/epalab/ftp/photo

/home/epalab/public_html/photo

からリンクを貼る.

$ cd /home/epalab/public_html
$ ln -s ../ftp/photo  .

(この例では既にリンクが貼られているので実行しないが.)

[補足] ファイルの置き方

itpass サーバ (と電脳サーバ) では,

  • xxx/dc-arch ディレクトリ以下に元となるファイルを置く
  • それらの*個々のファイルへ* xxx/ftp ディレクトリ以下からリンクを貼る
  • xxx/ftp ディレクトリ以下のディレクトリへ xxx/public_html 以下からリンクを貼る

ことにしています.

注意することは, 二つ目の * にあるリンクを, ここのファイルへ貼ることです.

Last modified:2021/08/13 15:11:09
Keyword(s):
References:[計算機とネットワークの手引集]