」というタグがついている記事一覧

Subversion(svn)で最初の空のレイアウトを作成

Subversionでバージョン管理をする際に、trunkだとかbrunchesだとかを作成して管理することが多い。その時のレイアウトはだいたい決まっているので、そのレイアウトの作成方法をメモ。
svn bookのCreating the Layout, and Importing Initial Dataを参考、というよりもほぼそのまま。

$ mkdir tmpdir
$ cd tmpdir
$ mkdir projectA
$ mkdir projectA/trunk
$ mkdir projectA/branches
$ mkdir projectA/tags
$ mkdir projectB
$ mkdir projectB/trunk
$ mkdir projectB/branches
$ mkdir projectB/tags
…
$ svn import . file:///path/to/repos --message 'Initial repository layout'
Adding         projectA
Adding         projectA/trunk
Adding         projectA/branches
Adding         projectA/tags
Adding         projectB
Adding         projectB/trunk
Adding         projectB/branches
Adding         projectB/tags
…
Committed revision 1.
$ cd ..
$ rm -rf tmpdir
$

レイアウトは状況に応じて、あるいは好みで変えればいいと思いますがこのように最初にレイアウトを作っておくと便利。

このあと、実際にコミットしたいディレクトリで、例えば
svn://SERVERNAME:3690/path/to/repos/projectA/trunk/
をいったんチェックアウトすれば、以降はsvn commitでそのディレクトリをprojectAのtrunkとしてコミットできるようになる。

タグ
コメントはありません。 »

htmlファイルからPDFの作成 [CentOS]

htmlファイルからPDFを作成する方法はいろいろあるが、無料で実現できて、cssを駆使したページでもかなりきれいに表示させる方法としては、mozilla2ps + XULRunner + ps2pdfがベストだと思います。

この方法だとXが必要になりますが、ここでは仮想フレームバッファを使用することで回避しています。
必要な作業は

  • XULRunnerのインストール
  • mozilla2psのインストール
  • Xvfb(仮想フレームバッファ)の自動起動設定
  • (ps2pdfでpdfに変換)

です。

XULRunnerのインストール

XULRunner 1.8.0.4 Release Notes - MDCからダウンロードします。

wget http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/linux-i686/en-US/xulrunner-1.8.0.4.en-US.linux-i686.tar.gz
tar xvzf xulrunner-1.8.0.4.en-US.linux-i686.tar.gz
su
mkdir -p /opt/xulrunner/1.8.0.4/
mv xulrunner /opt/xulrunner/1.8.0.4/
cd /opt/xulrunner/1.8.0.4/xulrunner/
./xulrunner --register-global

mozilla2psのインストール

Michele Baldessari - Homepageよりダウンロードします。

wget http://michele.pupazzo.org/mozilla2ps/download/mozilla2ps-0.6.xulapp
/opt/xulrunner/1.8.0.4/xulrunner/xulrunner --install-app mozilla2ps-0.4.xulapp /tmp

これで/tmpディレクトリにインストールされる。/tmpはインストールしたいディレクトリを指定します。
指定しなかった場合は、/usr/lib/foo bar inc./にインストールされます。

Xvfbの自動起動設定

XULRunnerを実行するにはXが起動している必要があります。ただ、今回サーバでXは起動したくないので、Xvfb(仮想フレームバッファ)を利用します。

/usr/X11R6/bin/Xvfb :1 -screen 0 1024x768x8 &

のようにすることで起動は可能なのですが、xvfb-runというのを使用すれば、コマンドの実行中だけ自動的に起動させておくことができます。ただし、これのCentOS用のが見つからなかったのですが、xvfb-run.shというのをたまたま見つけたのでこれを使用します。

wget http://svn.exactcode.de/t2/trunk/package/xorg/xorg-server/xvfb-run.sh

これで

xvfb-run.sh /opt/xulrunner/1.8.0.4/xulrunner/xulrunner /tmp/mozilla2ps/application.ini http://www.yahoo.co.jp /tmp/foo.ps

とすることで、/tmp/foo.psというポストスクリプトファイルが出来上がります。
もし、ローカルにあるファイルを変換する場合は

xvfb-run.sh /opt/xulrunner/1.8.0.4/xulrunner/xulrunner /tmp/mozilla2ps/application.ini file:///tmp/temp.html /tmp/foo.ps

のようにします。
これを元にPDFを作成します。

ps2pdfでpdfに変換

ps2pdfはデフォルトで入っていることが多いです。

ps2pdf /tmp/foo.ps /tmp/foo.pdf

これでpdfが作成できます。
あるいは、ImageMagickのconvertを使用しても作成できます。

convert /tmp/foo.ps /tmp/foo.pdf

以上の流れをシェルスクリプト等にしておけば、htmlから自動でpdfが作成できるようになります。

参考サイト

Xvfb - 仮想フレームバッファ - MOYO Laboratory

タグ
コメントはありません。 »

CentOSにyumでtracのインストール

バグトラッキングにtracを使用することが多いが今回別サーバにインストールする必要があったので、メモ。

インストール

できるだけ簡単に入れたい、ということでyumでインストール。

そのままではインストールできないのでリポジトリの追加。
/etc/yum.repos.d/Dag.repo
として下記の内容を保存

[dag]
name=Dag RPM Repository for Redhat EL4
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

下記のコマンドをrootで実行。

yum install trac

Subversionのインストール

せっかくなのでSubversionのバージョン管理と連携させたい。
もしインストールされてなければ下記コマンドでインストール。

yum install subversion

SVNリポジトリの作成

リポジトリを作成したい場所で

svnadmin create projectname

リポジトリの設定は、出来上がったディレクトリのconfディレクトリにあるファイルで行う。

passwdファイルの内容は下記のとおり

[users]
username = password
username2 = password2

username は実際のユーザー名(linuxのユーザーである必要はない)
password はパスワード。
平文で書くのでセキュリティ的にあまり良くないが、sshとの連携を行うようにすればこのようにしなくてもよい。
しかしそうすると、かなりの頻度でパスワードの入力の必要がでるので今回はこのやり方でやる。

svnserver.confの内容は下記のとおり

[general]
anon-access = none
auth-access = write
password-db = passwd

プロジェクトの作成

trac-admin /path/to/create/project initenv

/path/to/create/projectはプロジェクトを作成したい任意の場所

Project Name [My Project]>  任意のプロジェクト名を入れる
Database connection string [sqlite:db/trac.db]> そのままエンター
Repository type [svn]> そのままエンター
Path to repository [/path/to/repos]>  svnリポジトリの場所
Templates directory [/usr/share/trac/templates]> そのままエンター

以上で作成される。

作成されたディレクトリをapacheの所有にする。

chown -R apache:apache /path/to/create/projcet

設定は/path/to/create/project/conf/trac.iniで行う。
ここではとりあえず文字コードだけ変更しておく。

default_charset = utf-8

apacheの設定

/etc/httpd/conf.d/trac.conf
として下記の内容で作成。

<virtualhost>
     DocumentRoot /path/to/create/projcet
     ServerName some.domain.com

     <location />
          SetHandler mod_python
          PythonHandler trac.web.modpython_frontend
          PythonOption TracEnv /path/to/create/projcet
          PythonOption TracUriRoot /
     </location>
</virtualhost>

なお、ディレクトリごとに分ける場合(例. some.domain.com/project/でアクセスしたい)は
下記のようにする。

<virtualhost>
     DocumentRoot /path/to/create
     ServerName some.domain.com

     <location /project>
          SetHandler mod_python
          PythonHandler trac.web.modpython_frontend
          PythonOption TracEnv /path/to/create/projcet
          PythonOption TracUriRoot /project
     </location>
     <location /projec/logint>
        AuthType Basic
        AuthName "trac"
        AuthUserFile /somewhere/.htpasswd
        Require valid-user
     </location>

</virtualhost>

apacheの再起動。

なお、/somewhere/.htpasswdにパスワードファイルを作っておく。このファイルは分かりやすいように/path/to/create/projectと同じディレクトリにあってもいいかもしれない。

htpasswd -c /somewhere/.htpasswd username

以上で設定完了。

参考

CentOSでyumからTracをインストール

タグ
コメント数:3 »