エックスサーバーでWebP画像に変換する方法

大量のPNG や JPEG を WebP に変換するのには、時間がかかります。
例えば、HP やブログの画像、これまでに WordPress に登録した画像など、大量の画像を一気に変換したい場合があります。

変換は、レンタルサーバー側で行うと、画像をダウンロード・アップロードする必要もなく、ローカルの PC の CPU やメモリーを使うこともなく変換できます。

WebP を作成するには、cwebp というコマンドを使用します。
しかし、エックスサーバーには cwebp コマンドはインストールされていません。
そこでまずは、cwebp をインストールします。

エックスサーバーに cwebp をインストールする手順

レンタルサーバーでは管理者権限がないため、apt などのパッケージ管理ツールではインストールできません。
そこで、ソースコードからビルドして cwebp を作成します。

cwebp をビルドするには、PNG を扱うためのライブラリ libpng が必要です。
まずは、libpng をビルドします。

エックスサーバーに libpng をインストールする手順

エックスサーバーに ssh でログインし、以下のコマンドを順に実行します。

$ wget http://jaist.dl.sourceforge.net/sourceforge/libpng/libpng-1.6.36.tar.xz
$ tar Jxfp libpng-1.6.36.tar.xz
$ cd libpng-1.6.36
$ mkdir -p $HOME/usr/local/
$ ./configure --prefix=$HOME/usr/local/ CFLAGS="-I$HOME/usr/local/include" LDFLAGS="-L$HOME/usr/local/lib" CPPFLAGS="-I$HOME/usr/local/include"
$ make
$ make install

以上で、libpng が ~/usr/local/ にインストールされました。

エックスサーバーで cwebp をビルドする手順

次に、作成した libpng を使って cwebp をビルドします。

$ wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.1.tar.gz
$ tar zxfp libwebp-1.0.1.tar.gz
$ cd libwebp-1.0.1
$ ./configure --with-pngincludedir=$HOME/usr/local/include --with-pnglibdir=$HOME/usr/local/lib --prefix=$HOME/usr/local
$ make
$ make install

以上で、~/usr/local/bin/ に cwebp がインストールされました。

エックスサーバーで画像を WebP に変換する手順

あとは cwebp を使って PNG を WebP に変換します。

$ usr/local/bin/cwebp <PNGファイル名> -o <WebPファイル名>