サーバを準備して利用すると便利なアプリケーションには様々な種類がありますが、
howmを使う
第25回で紹介した通り、
複数のマシンを利用した環境でhowmを利用する場合、
sshを使う
一つの方法は、
Emacsはターミナル上でも起動できますから、
client$ ssh 192.168.200.10 192.168.200.10$ emacs
ターミナル上でEmacsを使うことになりますので、
![図1 ssh越しにEmacsを使う 図1 ssh越しにEmacsを使う](/assets/images/admin/serial/01/ubuntu-recipe/0041/thumb/TH800_0041-01.png)
ターミナル経由では使いにくい、
client$ ssh -X 192.168.200.10 192.168.200.10$ emacs
この操作で通常のEmacsの画面を手元に引き寄せることができますので、
![図2 X転送を用いてEmacsを使う 図2 X転送を用いてEmacsを使う](/assets/images/admin/serial/01/ubuntu-recipe/0041/thumb/TH800_0041-02.png)
いずれの場合も、
NFSを使う
前回のレシピで紹介したNFSサーバを利用している環境の場合、
データのあるマシンが分からなくなるのが問題なのですから、
$ ln -s /nfs/192.168.200.10/home/howm ~/howm
この状態でローカルのEmacsを起動し、
Tracを使う
howmは使い始めると非常に便利なツールなのですが、
Tracはバグ管理
Tracのインストール
TracはHTTPサーバを起動させ、
ここでは10月末にリリースされるUbuntu 8.
$ sudo apt-get install trac apache2 libapache2-mod-python libapache2-svn
Tracパッケージのインストールが終了したら、
$ sudo mkdir -p /srv/svn $ sudo mkdir -p /srv/gihyo $ sudo svnadmin create /srv/svn/gihyo $ sudo trac-admin /srv/trac/gihyo initenv
/etc/
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /srv/trac
PythonOption TracUriRoot /trac
PythonOption PYTHON_EGG_CACHE /tmp
</Location>
サイトの有効化を行います。
$ sudo a2ensite default trac $ sudo /etc/init.d/apache2 reload
Tracの初期設定を行います。ここではプロジェクト名を
$ sudo trac-admin /srv/trac/ initenv Creating a new Trac environment at /srv/trac Trac will first ask a few questions about your environment in order to initalize and prepare the project database. Please enter the name of your project. This name will be used in page titles and descriptions. Project Name [My Project]> gihyo.jp Demo (..省略..) Database connection string [sqlite:db/trac.db]> (そのままENTERを押す) Please specify the type of version control system, By default, it will be svn. If you don't want to use Trac with version control integration, choose the default here and don't specify a repository directory. in the next question. Repository type [svn]> (そのままENTERを押す) Please specify the absolute path to the version control repository, or leave it blank to use Trac without a repository. You can also set the repository location later. Path to repository [/path/to/repos]> /srv/svn/gihyo Creating and Initializing Project Installing default wiki pages (..省略..) --------------------------------------------------------------------- Project environment for 'gihyo.jp Demo' created. You may now configure the environment by editing the file: /srv/trac/gihyo/conf/trac.ini (..省略..) Congratulations!
Trac環境をApacheから利用できるように変更します。
$ sudo chown -R www-data /srv/trac/gihyo/
この状態でFirefoxでhttp://
![図3 /tracのトップページ 図3 /tracのトップページ](/assets/images/admin/serial/01/ubuntu-recipe/0041/thumb/TH800_0041-03.png)
![図4 Tracの画面 図4 Tracの画面](/assets/images/admin/serial/01/ubuntu-recipe/0041/thumb/TH800_0041-04.png)
ちょっとした利用だけであれば、
※本文にもある通り、この手順では誰でも書き込めるようになります。それでも問題ない場合のみ利用してください。通常は本文の先にある、HTTPS+BASIC認証による認証を行うようにします。 $ sudo trac-admin /srv/trac/gihyo Trac [/srv/trac/gihyo]> permission add anonymous TICKET_CREATE TICKET_MODIFY WIKI_CREATE WIKI_MODIFY
そこで、
$ sudo make-ssl-cert generate-default-snakeoil $ sudo a2ensite default-ssl $ sudo /etc/init.d/apache2 reload
さらに、
$ openssl x509 -in /etc/ssl/certs/ssl-cert-snakeoil.pem -fingerprint -sha1 -noout $ openssl x509 -in /etc/ssl/certs/ssl-cert-snakeoil.pem -fingerprint -md5 -noou
この状態でhttps://
![図5 Firefoxでアクセスした際に表示される警告 図5 Firefoxでアクセスした際に表示される警告](/assets/images/admin/serial/01/ubuntu-recipe/0041/thumb/TH800_0041-05.png)
ここでは証明書のフィンガープリントを用いてサイトが正しいことを確認できますので
証明書のフィンガープリントを確認できますので、
ここまでの準備ができたら、
$ sudo htpasswd -c /etc/apache2/.htpasswd fyoshida New password: (Tracへのアクセスに使いたいパスワードをセット) Re-type new password: (Tracへのアクセスに使いたいパスワードを再入力) Adding password for user fyoshida
さらに、
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /srv/trac
PythonOption TracUriRoot /trac
PythonOption PYTHON_EGG_CACHE /tmp
AuthType Basic
AuthName "Trac User Auth"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
変更を反映するためにApache2をリロードします。
$ sudo /etc/init.d/apache2 reload
この状態でhttps://