さくらのレンタルサーバにJREとYUI Compressorを入れたよ

さくらのレンタルサーバJREYUI Compressorを入れたときのメモです。

JREのダウンロードとインストール

まず、さくらのレンタルサーバのOS関連の情報を。

$ uname -mrs # uname -a で見た方が楽かな?
FreeBSD 7.1-RELEASE-p16 i386


FreeBSD7.1のi386なのでhttp://www.freebsdfoundation.org/downloads/java.shtmlからdiablo-latte-freebsd7-i386-1.6.0_07-b02.tar.bz2をダウンロード。続いて展開。

$ mkdir -p ~/app/tmp/java
$ mv ~/diablo-latte-freebsd7-i386-1.6.0_07-b02.tar.bz2 ~/app/tmp/java
$ cd ~/app/tmp/java
$ tar xvfj ./diablo-latte-freebsd7-i386-1.6.0_07-b02.tar.bz2
$ mv diablo-latte-freebsd7-i386-1.6.0_07-b02.tar.bz2 ../
$ cd ../
$ mv -f ./java ~/app/usr


.cshrcに環境変数を追加。

$ vi ~/.cshrc
setenv JRE_HOME $HOME/app/usr/java/diablo-jre-1.6.0


~/app/binにjavaへのシンボリックリンクを作る。(既に~/app/binにパスが通っている状態)

$ ln -s ~/app/usr/java/diablo-jre-1.6.0/bin/java ~/app/bin/java


javaを動かしてみる。

$ java -version
java version "1.6.0_07"
Diablo Java(TM) SE Runtime Environment (build 1.6.0_07-b02)
Diablo Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode)

動いた!書庫のファイル名にもあったけどDiabloってなんなんだろ?

YUI Compressorのダウンロードとインストール

何故JREを入れたのかというとこれが使いたかったからで…… これでCSSも小さくできるわけです。JavaScriptも小さくできるけど、それはClosureCompilerにおまかせ。


http://yuilibrary.com/downloads/#yuicompressorからyuicompressor-2.4.2.zipをダウンロード、展開する。

$ mv ~/yuicompressor-2.4.2.zip ~/app/usr
$ cd ~/app/usr
$ unzip yuicompressor-2.4.2.zip


展開できたので実行してみる。

$ java -jar yuicompressor-2.4.2/build/yuicompressor-2.4.2.jar

Usage: java -jar yuicompressor-x.y.z.jar [options] [input file]

Global Options
  -h, --help                Displays this information
  --type <js|css>           Specifies the type of the input file
  --charset <charset>       Read the input file using <charset>
  --line-break <column>     Insert a line break after the specified column number
  -v, --verbose             Display informational messages and warnings
  -o <file>                 Place the output into <file>. Defaults to stdout.

JavaScript Options
  --nomunge                 Minify only, do not obfuscate
  --preserve-semi           Preserve all semicolons
  --disable-optimizations   Disable all micro optimizations

If no input file is specified, it defaults to stdin. In this case, the 'type'
option is required. Otherwise, the 'type' option is required only if the input
file extension is neither 'js' nor 'css'.

動いた。普通の使い方なら以下でいいみたい。

$ java -jar yuicompressor.jar -v -o "出力ファイル名" --charset utf-8 "入力ファイル名"

入力ファイルの拡張子がcssかjsだったら--typeの指定は要らない、て書いてある(ように読める気がする)ので普通は指定が要らないはず。
……入力ファイルが無い場合は標準入力から受け取るから、その場合は--typeを指定してね、って書いてあるのかなあ?


これでgzip圧縮もするようになったから、以前よりは転送量が大分減ったんじゃないかな。
そもそもそんなに転送量が多いサイトでもないけど。