ローカルの仮想マシンにTeX Live (LaTeX) をインストール (2)

Apache2 が動いているローカルの仮想マシンに LaTeX と mathTeX をインストールしてみます。

LaTeX のインストール

まず、「ローカルの仮想マシンにTeX Live (LaTeX) をインストール (1)」を参考にしながら LaTeX を入れます。多少条件を変えました。

適当なディレクトリで、

wget  http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar  zxvf  install-tl-unx.tar.gz
./install-tl  -portable

で TeX Live のインストーラを USB などで持ち歩くためのモードで起動します。

メインメニューで、

<S> installation scheme

から、詳細メニュー Select scheme: で

a [ ] basic scheme (plain and LaTeX)

を選択します。メインメニューに戻って、

<C> standard collections

の詳細メニュー Select collections: では

a [X] Essential programs and files
o [X] Basic LaTeX packages

の二つが [X] で選択状態なので、 dvipng が含まれる c を追加します。

c [X] TeX auxiliary programs

メインメニューに戻り、

<D> directories:

詳細メニュー Directories setup: の

<1> TEXDIR:       /usr/local/texlive

以下を書き換えます。<1> を入力すると、<2>~<4> は自動的に書き換わります。<5>~<7>は -portable ではパス指定がないので、デフォルトのままです。仮に /home/makisima/texlive/2010 にインストールするなら、

<1> TEXDIR:       /home/makisima/texlive/2010
<2> TEXMFLOCAL:     /home/makisima/texlive/texmf-local
<3> TEXMFSYSVAR:    /home/makisima/texlive/2010/texmf-var
<4> TEXMFSYSCONFIG: /home/makisima/texlive/2010/texmf-config

<5> TEXMFVAR:       $TEXMFSYSVAR
<6> TEXMFCONFIG:    $TEXMFSYSCONFIG
<7> TEXMFHOME:      $TEXMFLOCAL

これでインストールオプションの設定が終わったので、メインメニューの I でインストールを開始します。

Actions:
<I> start installation to hard disk

ダウンロードしながらインストールが行われます。

インストールが終わっても、./install-tl -portable のときは、環境変数をどう設定するかという指示は表示されません。

LaTeX や dvipng が動くかどうか確認するため、フルパスまたは相対パスを指定して実行します。

find / -name latex
find / -name dvipng

でフルパスがわかります。

ちなみに、 dvipng は TeX Live のインストールオプションとしてインストールしなくても、実行ファイル単体ひとつだけを latex と同じディレクトリにコピーすれば動きます。

mathTeX のコンパイル

LaTeX のインストールが終わったら、mathTeX にとりかかります。LaTeX を web から利用する方法は様々にあると思いますが、 mimeTeX との互換性から mathTeX を選びました。mimeTeX が動いている環境なら、mimetex.cgi へのパスを mathtex.cgi に書き換えるだけで、プラグインも同じプラグインで動きます。
まず、

download mathTeX リンクから、仮想マシンの適当なフォルダにダウンロードします。今回は Ubuntu 10.10 desktop です。

mathTeX のページの指示に従い、コンパイルします。latex と dvipng へのパスは、実行ファイル名まで必要です(複数の LaTeX 処理系のどれかを任意に選べる)。また、それぞれの二重引用符の前には\が必要です(忘れるとコンパイルエラーになる)。上に述べてきたような設定で、デフォルトのオプションでコンパイルするときは次のようになります。デフォルトでは GIF 画像が生成されるようになります。

cc -DLATEX=\”/home/makisima/texlive/2010/bin/i386-linux/latex\” -DDVIPNG=\”/home/makisima/texlive/2010/bin/i386-linux/dvipng\” mathtex.c -o mathtex.cgi

mathTeX で LaTeX を動かすときに環境変数はどうするのだろうかと疑問だったのですが、コンパイル時に cgi に組み込んでしまうんですね。したがって、配布用の実行ファイルも存在しないということになります。

できた mathtex.cgi をターミナルで実行できるかどうか確認します。たとえば、

./mathtex.cgi “x^2+y^2” -o equation1

生成された equation1.gif が予想どおりの画像なら mathtex.cgi は正常です。ファイル・ブラウザですぐに確認できます。

Apache の設定

できた mathtex.cgi を apache2 で動かす設定です。

Ubuntu 10.04 desktop に apache2 を入れると、デフォルトでは、ウェブのルートは /var/www です。今回は http://localhost/mathtex/mathtex.cgi に置くことにしたので、/var/www/mathtex/ に mathtex.cgi をコピーしました。なお、apache の設定次第で、どのディレクトリに置いても //localhost/mathtex に見せることは可能です。

Apache2 mod_rewrite と AllowOverride

のときの設定を流用して、/etc/apache2/sites-available/default を

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews +ExecCGI
#Options Indexes FollowSymLinks MultiViews
# AllowOverride None
AllowOverride All
Order allow,deny
allow from all
</Directory>

と書き換えました。公開するわけではないので、とりあえず動けばいいという設定です。apache2 を再起動します。

$ sudo /etc/init.d/apache2 restart

ブラウザで、

http://localhost/mathtex/mathtex.cgi

を開いて

No expression supplied

などと表示すれば動いています。

http://localhost/mathtex/mathtex.cgi?y=x^2

のように ? の後に LaTeX の式を入れて数式画像が表示されれば正常です。

赤字でエラーメッセージが表示されたら

http://www.forkosh.com/mathtex.html の Run-time error messages… の項を参照して対処します。

たとえば、cache ディレクトリ mathtex が作れないと言ってきたら、mathtex ディレクトリのパーミッションを

sudo chmod 777 /var/www/mathtex

といった具合です。

デフォルトのコンパイル オプションでは、 mathtex.cgi のあるディレクトリに mathtex というサブディレクトリを作って、一度生成した画像をキャッシュとして置いておくようになっています。

プラグインの設定

ここまでの設定で、HTML の <img > タグに mathtex.cgi を指定すれば LaTeX 画像を表示できます。たとえば、

<img src=”http://localhost/mathtex/mathtex.cgi?y=x^2″ alt=”y=x^2″ />

WordPress などではプラグインを使うと便利です。mathTeX は mimeTeX と入替えて使えるので、プラグインの mimeTeX への http パスを mathTeX のものに書き換えるだけです。

ちなみに、 mathTeX の配布先に公開サーバがあるので、http のパスをそちらに接続すれば品質確認できます。

mimeTeX から mathTeX に切り替えたとき、そのままでは数式画像が表示されず、WordPress でページを編集→更新すると表示されるという現象が発生しました。このあたりの動作についてはどうなっているのかよくわかりません。

(2010.11.17)

ローカルの仮想マシンにTeX Live (LaTeX) をインストール (1)

ローカルの仮想マシン (Ubuntu 10.04) で LaTeX を動かそうという試みです。あわよくば WordPress で数式を表示するのに使おうという思惑ですが、とりあえず、LaTeX を動かせるかどうか確認です。

日本語の文章や日本語フォントは考慮せず、一般的な数式さえ書ければいいという前提なので、英語版で十分です。また、今回はローカルの仮想マシンですが、ホスティング サーバでは root 権限がないので、ユーザ権限で環境構築できなければなりません。

定番の奥村先生のサイトで Linux 版のインストールについてみると( Make – TeX Wiki )、「ptexlive がお薦め」とのことで、その FrontPage – ptexlive Wiki を見ると、 TeX Live を日本語化するのが ptexlive です。ならば、今回は英語版 TeX Live だけで十分です。そのサイトは、

ですが、サイトの作りがよくわかりません。そこでまず DVD イメージを

から torrent で落としました。2 GB くらいです。その中身を読んで、なんとなくわかってきました。

DVD イメージ作成後も更新されているようですし、今回は最小限の LaTeX だけ必要で、フルセットの 2 GB もいりません。ネット越しにインストールするのがよさそうです。

で Linux 用の install-tl-unx.tar.gz (2.5mb) を持ってきて解凍すればよいことがわかりました。ただし、この URL は最寄りのミラーサーバにリダイレクトされるようになっているのですが、うまくリダイレクトされないことがあります。その場合は list of CTAN mirrors から日本のサーバの URL を探します。各サーバはたいてい /CTAN で終わっていますが、そこから CTAN → systems → texlive → tlnet とたどっていきます。たとえば、 jaist.ac.jp (北陸先端科学技術大学院大学)ならば、

  • http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/

に install-tl-unix.tar.gz やその他のインストーラ類が置いてあります。

Windows でダウンロードして解凍、サーバに転送でもよいですし、直接、サーバで落として解凍でもかまいません。今回は仮想マシンの Ubuntu 10.04 の端末 (terminal) で実行しました。適当なディレクトリに移って、

wget http://ftp.sample.com/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz (URLは適宜読み替え)

tar  zxvf  install-tl-unx.tar.gz

インストール方法は

に詳しく書かれています。Linux ではテキストモードでインストールできて、root 権限も不要です。

Perl で書かれた install-tl を実行すると、最下行で一文字(大文字・小文字の区別あり)または文字列を入力して設定をカスタマイズするようになっています。入力するごとにメニューの案内画面が書き換わって最下行でコマンドを打つようになっているので、たぶん telnet や SSH でも実行可能です。

./install-tl

今回はインストールするディレクトリをユーザのホームディレクトリの下にまとめるようにパスを設定しました。(USB メモリなどで持ち運びできるようなインストール方法もあり、./install-tl -portable 、環境に合わせてパスを自動検出するようです。)

<S> installation scheme

の項目を変更するので、S キー。詳細メニューになります。

a [ ] basic scheme (plain and LaTeX)

最低限を目標にするので、a キーで TeX と LaTeX のみ選択すると、

a [X] basic scheme (plain and LaTeX)

に変わります。選択している項目が [X] で示されます。

メインメニューに戻るので R キー。

<D> directories:

の設定で、D キー。今回は、インストールディレクトリを

~/texlive/2010

にすることにして、予めディレクトリを作成しておきます(または、別のターミナルで作成)。インストーラの設定では、’~’ がユーザのホームディレクトリを示すことになっています。

<1> TEXDIR:       /home/makisima/texlive/2010

のように、1 キーで選択、次の行でディレクトリを ~/texlive/2010 と指定すると、1~4 のパスが書き換わります。同様に 5~6 も順に書き換えました。

<1> TEXDIR:       /home/makisima/texlive/2010
<2> TEXMFLOCAL:     /home/makisima/texlive/texmf-local
<3> TEXMFSYSVAR:    /home/makisima/texlive/2010/texmf-var
<4> TEXMFSYSCONFIG: /home/makisima/texlive/2010/texmf-config

<5> TEXMFVAR:       ~/texlive/makisima/texmf-var
<6> TEXMFCONFIG:    ~/texlive/makisima/texmf-config
<7> TEXMFHOME:      ~/texlive/makisima/texmf

パスを書き換えて、 R キーでメインメニューに戻り、他のオプションを確認します。今回はその他の設定項目はデフォルトのままです。

<I> start installation to hard disk

の I でインストールが開始されます。

しばらく待つと、環境変数を設定するようにというメッセージとともに、そのパスと変数が示され、インストールが終了します。インストールの詳しいログは install-tl.log に書き込まれています。

環境変数の設定方法は、別項のとおりです。

ターミナルで TeX が動くかどうか確認します。

$ tex -version
TeX 3.1415926 (TeX Live 2010)
kpathsea version 6.0.0
Copyright 2010 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.

PATH の設定も成功して、動いているようです。

LaTeX が動くかどうか確かめるため、適当なファイルを作ります。たとえば、sample.tex に次のように書き込みます。

\documentclass{article}
\begin{document}
\LaTeX

Using latex article style.

\[
y=x^2 + \int_0^\infty \sin x dx
\]

\end{document}

コマンドラインで、

latex sample.tex

で sample.dvi が生成されます。

X window が動いているなら、

xdvi sample.dvi

で表示できます。

どうやら、最低限は動いていたようです。

容量はどれくらいになったのか確認すると、

$ du -sm texlive
179    texlive

なので、容量はおよそ 180 MB でした。どれくらい必要かはインストーラのオプションを変更すると随時表示されるのでわかります。

(2010.11.15) (2010.11.17)

仮想マシンに LAMP を入れる tasksel

ローカルな仮想マシンに LAMP を入れます。LAMP は Linux、Apache、MySQL、PHP ですね。

ホストは Windows 7 Ultimate、VirtualBox で Linux は Ubuntu 10.04 desktop です。個人でローカルに動かして試すだけなら、Ubuntu server よりも desktop にサーバを入れたほうが日本語等の扱いが楽だと思います。試しに Ubuntu server を入れるなら、まずは英語にしておくのが無難です。

なお、以下、セキュリティは考慮していません。

tasksel で一括インストール

Apache、PHP、MySQL については順に一つずつインストールしてもかまいませんが、tasksel コマンドを使えば、一括で入れることができます。ターミナルで、

sudo tasksel

で、ソフトウェアの選択画面が出るので、上下の矢印で項目を移動し、

[*] LAMP server

にスペースキーでチェック [*] を入れます。[tab] キーで <了解> に移り、[Enter] 。

MySQL の root のパスワードを求められるので入力します。

あとは放っておくとインストールされます。

cf.

動作確認

Apache

Apache (httpd) は Firefox を立ち上げて、http://localhost/ にすると 「It works!」と表示されます。

その index.html は /var/www/ にあります。

ユーザ名が USERNAME なら、

cd /var/
sudo chown USERNAME -hR www

などとしておくとよいかもしれません。

PHP

taskset でインストールした場合(個別にインストールした場合も)、直後はまだ apache が PHP を認識していないので、再起動します。

sudo /etc/init.d/ apache2  restart

適当につくった PHP ファイルを実行させてみます。たとえば、

<?php

print(“hello\n”);

?>

を /var/www/hello.php と名前をつけて保存、ブラウザで URL に http://localhost/hello.php を指定すると、hello と表示されます。(上の例をコピー&ペーストするときは、二重引用符「”」のコードが書き換わっているかもしれないので、半角英数の通常の二重引用符で上書きすること)

環境設定一式を眺めるなら、次のような PHP が実用的です。ただし、セキュリティ上あぶないので、外部には公開しないことが前提です。

<?php

phpinfo();

?>

cf.

phpMyAdmin

MySQL を管理するのに phpMyAdmin をインストールします。

sudo apt-get  install  phpmyadmin

しばらくすると設定をきかれるので、

自動再設定をする web サーバ: [*] apache2

を選択。

phpmyadmin のデータベースを dbconfig-common で設定しますか? <はい>

<はい>を選択。

データベースの管理権限を持つユーザのパスワード:

パスワードを(複数回)入力。

apache を再起動します。

sudo /etc/init.d/ apache2  restart

ブラウザの URL に

http://localhost/phpmyadmin/

と入力すると、phpMyAdmin のログイン画面になります。上述の root のパスワードで入れます。ちなみに、information_schema、mysql、phpmyadmin の3つのデータベースが作られた状態でした。

cf.

(2010.11.10 – 2010.11.11)

このメモは Ubuntu 10.04 desktop の環境ですが、Ubuntu desktop 11.04 日本語版でもほぼ同じでした。(2011.8.9)

(2011.8.9) (一部修正・追記)