2014年12月アーカイブ

レーザープリンタ MultiWriter 5750C

レーザープリンターといえば、綺麗、早い。だけど、高い高値の華。と言いたいところなんですが、こんなのがあります。なんだその90%値引きっていうのわ?!一時的な投売りかと思ったけど、少なくとも半年くらいは似たような値段で出続けてる。

てきとーにWebで検索しても、致命的な問題はでてこないんですよねぇ。ちうわけで、買ってみた!

DSCN4385.JPG

DSCN4387.JPG

で・・・・でかい。トナーカートリッジはけっこう小さいんだけど、1000枚くらい印刷できるとか。

印刷も比べてみましょう。

絵師100人展の図録をスキャンしたものをプリントアウトしてみる。まずは、図録のページ

DSCN4393.JPGのサムネイル画像そして、これを1600dpiでスキャンしてから印刷したもの

DSCN4392.JPG当たり前ですが、発色は及びませんね。専用の光沢紙に、おそらく昇華印刷したものと、普通紙にカラーレーザーで印刷したものなんだから、かなうわけがありません。

が、これだけ印刷できたら、お手軽印刷には十分じゃね?

atMail も試してみる

RoundCube以外にも、atMailとかいうWebメールパッケージもあったりする。これもPHPで実装されてて、実行環境はRoundCubeと似たようなもの・・・・だと思う。オープンソースのWebメーラをまとめてくれてるページがあるので、まずは一覧をっという方はこちらを。

なお、RoundCubeは、データベースにPostgreSQLと、MySQLが両方使えるんだけど、atMailはMySQLしか使えないらしい。

ちうわけで、構築してみる。RoundCubeを入れたのでPHPとかはすでに動く状態

MySQLをPorts インストール
database/mysql56-server をインストールして、

/usr/local/etc/rc.d/mysql-server start

とするだけ。

Apache に Alias を設定する

Alias /atmail /usr/local/www/atmail
<Directory "/usr/local/www/atmail">
        Options FollowSymLinks
        AllowOverride AuthConfig Limit
        Require all granted
</Directory>

httpでアクセスすれば、ウィザードが立ち上がるので、ぽちぽちとデータベースの設定を実行する。

ウィザードが完了すると、ログイン画面が立ち上がってきます。ただ、このログイン画面、ログイン時にドメイン名をつけないとログイン処理が走らない。IMAPサーバの設定によっては、それでもいいらしいのですが、うちのIMAPサーバはドメイン名があると、ログインできないので、ドメイン名なしでもログイン処理が走るように改造

対象ファイルは /usr/local/www/atmail/libs/IMAP_Client.php

function login($user, $pass)
{
   list($user, $crap) = split("@", $user, 2);
   $this->user = $user;

list($user ・・・・・ という行を追加する。

ただ、こうやって動くようにしたatMailですが、うーん、正直使い物にならないかなぁ。

GUIの見た目は面白いんだけど、なぜか読めないメールがあったり、メールフォルダーを分けた場合、このフォルダーがツリー表示されない。あと、全体にもっそりと重い。

RoundCube のが良いと思います。

patchの作り方

すーぐに忘れてしまうので、自分用の防忘録として

patch コマンドで読むためのパッチファイルを、diff コマンドで作る方法

diff -u <変更前ファイル> <変更後ファイル>

RoundCubeをJIS対応にする

先日、RoundCubeを動かしたのですが、その中でメールをJISで送信するように設定するという変更をおこないました。ところが、この変更だけでメールを出したところ、「文字化けしてるよー」という指摘が来てしまいました。

なんでぢゃ・・・・?と自分で出したメールをみてみたところ、

Content-Type: text/plain; charset=US-ASCII;

なんで・・・・?

ちうわけで、もうちょっとスクリプトをいじってみた。

roundcube-jis.patch

なんでか知らんけど、charset は US-ASCII に固定されておった・・・・

なお、このパッチは Ver.1.0.3 対応。だけど、せいぜい3行変えるだけだから、バージョン違いの場合は、手動パッチでいけるでしょう。

DDR3と、DDR3L

メモリーの規格DDR3には、従来のDDR3と、新たに制定された省電力対応のDDR3Lというのがあるらしい。駆動電圧がDDR3では1.5Vだったのが、DDR3Lでは1.35Vに変更されたものなんだけど、DIMMとしてのコネクターは同じ。つまり、物理的には刺さる。

0.15V程度の差なので、動くこともあるらしいのだけど、約1割の電圧差があるわけで、メモリーモジュールから出力される信号電圧が低いから、パソコン本体側をラッチできないんじゃないかしら?

今回やらかしたのは、東芝 Dynabook T350/34AR に Crucial の 4GB DDR3 1600 (1.35V) を刺してしまったのです。BIOSでは正しいメモリサイズを認識するのに、Windowsを起動すると、ブルースクリーンを吐いて、

DRIVER_IRQL_NOT_LESS_OR_EQUAL

とか言われてしまう。

メモリからの読み出しデータが化けて、OSとしてのエラーに入ったんだろうなぁ

RoundCubeを動かす

RoundCubeという、Webメールサーバがあるのです。IMAPと、SMTPに対応したMUAでWebブラウザからメールにアクセスできる。

なんでそんなもんを?というと、自宅サーバにこれを立ち上げて、ブラウザでアクセスできるようにすれば、タブレットとかからメールにアクセスできるかなぁと。タブレットだとGmailのメールしか使えないから、gmail.comじゃない、普段使いのアドレスからのメールが出せなかったのね。

ちうわけで、RoundCube を立てる。このソフトの構成は、実態がPHPスクリプトの集まり、バックエンドにMySQLか、PostgreSQLをデータベースとして使い、フロントエンドはPHPが使えるWebサーバ、まぁ普通はApacheですわな。

私が立ち上げるんだから、とーぜんOSはFreeBSD、データベースはPostgreSQLになるわけです。

さてさて、インストール手順、行って見ましょう

  1. OSをインストールする
  2. Portsから必要なものをインストールする
    mail/roundcube
    www/apache24
    www/mod_php5
    postgresql92-server
    lang/php5-extensions
  3. PostgreSQLデータベースの初期化、起動
  4. Apacheの設定
  5. PHPの設定
  6. roundcubeの設定ウィザードを実行

こんな流れです。

まず、OSのインストール、最新ということで、FreeBSD10.0です。

つぎにPorts。これは順番に入れていけばいいんですが、注意すべきはphp5-extensionsのオプション。デフォルトに FILEINFO / MCRYPT / EXIF の3つを追加する。

さらに次は、データベースの初期化。

% initdb -D /usr/local/pgsql/data/

% createdb -U pgsql -O roundcube -E UNICODE roundcubemail

不本意だが、Unicodeでデータベースを作らないといけないらしい。あとは rc.conf を書き換えて、PostgreSQL を起動

お次は、何度やっても、なかなか覚えないApacheの設定をします。httpd.conf を何箇所か書き換える

RoundCube のインストールディレクトリをWebに公開する設定。Apache2.6 から Require all granted こういう項目が増えたらしい

Alias /roundcube /usr/local/www/roundcube/
<Directory "/usr/local/www/roundcube">
   Options FollowSymLinks
   AllowOverride AuthConfig Limit
   Require all granted
</Directory>

拡張子 .php を PHP スクリプトとして動かす設定

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

ファイル名を省略してアクセスしたときの Index ファイル名に、index.phpを追加する設定

DirectoryIndex index.html index.php

最後、PHPの設定。php.ini に Timezone を設定する。

さぁ、コンソールを離れて、GUIの世界へ。ブラウザから http://SERVER/roundcube/installer/ にアクセス。あとはGUIに沿って設定するだけ!(たぶん)

全部できたら、最後にこのページを参考に、メールの文字コードをJISに変えておこう。メールでUTF-8なんて使うんじゃねぇ!

FreeBSD Ports で PHP環境を構築する

FreeBSDで、ApacheとPHPを使えるようにする方法。

以前は、Apache をコンパイルしたあと、php5 をコンパイルするときにApacheオプションを有効にすればよかったんだけど、いつの間にか(PHP5.6あたりから?)変更になったらしい。

インストールすべきPortsは、

  • www/apache24
  • www/mod_php5
  • lang/php5-extensions

この三つ

インストールしたあと、/usr/local/etc/apache24/httpd.confを確認して

LoadModule php5_module        libexec/apache24/libphp5.so

の行が追加されていればOK

Proxy経由でJIRAにアクセスする

JIRAというツールがあります。アジャイル型開発をするためのツールなんですが、まぁ、アンプつくりだとか、サーバに新機能とか追加するときのToDoリストとして使えるわけです。

以前はPersonalライセンスというのがあって、10ユーザまでならライセンス買い切り1000円というのがあったんですが、今はなくなっちゃってますね。Personalライセンスはあるんですが、年間1000円になっちゃってます。

で、このJIRAというツール、Tomcatを抱え込んでいて http://SERVER:8080/ でアクセスできるよう、サーバポートを開いてくれます。

さて、問題はこのJIRAサーバをPrivate Networkに設置し、Global側からProxy経由でアクセスするとき。Globalからアクセスできる URL http://PROXY/jira からApacheのReverseProxyでアクセスしようとすると、JIRAが絶対Pathでアクセスしようとするため、http://PROXY/hogehoge にアクセスしようとして目的どおりのアクセスができなくなってしまう。

というわけで、http://PROXY/jira でのアクセスを諦めて、http://PROXY:8080/ を http://SERVER:8080/ に Proxy することにします。

設定は Proxy サーバの httpd.conf に、Listen、VirtualHost、ProxyPassを設定することで実現する

具体的にはこんな感じ

Listen 8080

<VirtualHost *:8080>
ProxyPass / http://JIRA-SERVER:8080/
ProxyPassReverse / http://JIRA-SERVER:8080/
</VirtualHost>

これで http://PROXY:8080/ でJIRAにアクセスできる。

なお、JIRAの設定を弄ってProxyに対応させる方法があるみたいなんですが、これはうまくいきませんでした。どうやらこれは、JIRAを構築した直後にやらないとダメみたい・・・・

CentOS7 で AIPO を動かす・・・・・断念

AIPO というソフトのがあるのです。いわゆるグループウェアっていうものなんですが、これで何か面白いことできないかなぁ・・・・?と思ってインストールしてみました。

以前にいちど、FreeBSD で動かそうとしたんですが、どーにもうまく起動しない。う・・・・ん?ポリシーに反するけど、Linux でやるしかないかなぁ。というわけで、CentOS に入れてみることにしました。

現在の CentOS は Ver.7 です。init.d の構造がちがったり、init じゃなくて、systemd だったり、そのうち ifconfig コマンドがなくなるんじゃない?って気がする CentOS 7 です。

そんな CentOS 7 に AIPO をいれてみよう!と挑戦してみたんですが・・・・・・まぁ、断念しました!

なお、インストールの方法は、本家にあります。丁寧に書いてあるので、本来はこの通りに実行すればいいだけ。

問題は2つあります

  • Ether インターフェースのアドレスが正しくとれない

CentOS 7 では、Ether インターフェースの名前が変わっています。今まで eth0 だったのが、eno160 とかいうわけ分からん名前になってしまってます。このため ifconfig で自IPアドレスを取得するときに失敗してしまう。

AIPO のスクリプトには、何箇所か eth0 と直書きしてあるところがあって、ここがエラーになります。

とはいえ、これは表示だけの問題っぽく、じつはどーでもいい。

  • PostgreSQLが動かせない

問題はこっちで、インストーラを実行すると、こんな Log が記録されて、起動時に PostgreSQL が開始されません。

fixing permissions on existing directory /usr/local/aipo/./postgres/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /usr/local/aipo/./postgres/data/base/1 ... ok
initializing pg_authid ... FATAL:  wrong number of index expressions
STATEMENT:  CREATE TRIGGER pg_sync_pg_database   AFTER INSERT OR UPDATE OR DELETE ON pg_database   FOR EACH STATEMENT EXECUTE PROCED
URE flatfile_update_trigger();

child process exited with exit code 1
initdb: removing contents of data directory "/usr/local/aipo/./postgres/data"
grep: /usr/local/aipo/./postgres/data/postgresql.conf: No such file or directory

なにやら、pg_authid とかいうのが失敗するらしい。

無理やり起動して、ブラウザでアクセスすると、

${alias}

セッションがタイムアウトしました。

ブラウザが切り替わらない場合は、再読み込みをお願いいたします。
timeout

こんな表示が出ます。

こりゃいったい、なんじゃろなー?と調べてみたところ・・・・・PostgreSQL は新しいgccでコンパイルすると動かないらしい。

なんじゃそら・・・・なんですが、じゃあ、gcc-4.7 をインストールしてみようか・・・・とおもったら、

# yum install gcc47
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
No package gcc-47 available.

なんかの嫌がらせか?

gcc の自前コンパイルまではもう・・・・面倒すぎるからいや!

というわけで、AIPO はおとなしく CentOS 6 で使いましょうorz

MediaWikiを動かす

Wikiサーバは一杯ありますが、WikiPediaで使うために作られたのがMediaWikiというパッケージ

本体はPHPで書かれていて、データベースにPostgreSQLか、MySQLを要求します。最近のVersionでは、MySQLだけになってるのかも?

以前、自宅サーバにMediaWikiをインストールだけして、「おぉー動いた動いたーぁ」ってやったままほったらかしてたんですが、久々にアクセスしてみたら、接続できなくなってる!どーして??ということで調べてみた。

なお、MediaWikiのバージョンは1.19.2

結果、問題は2つ発生しておりました。

  • Apache の設定に誤り

Apacheを動かしているサーバは、/home/wwwdoc ディレクトリでホームを公開しており、MediaWiki のスクリプト郡は /usr/local/www/mediawiki/ に配置していた。つまり、httpd.conf で Alias をつかってサイト構造を作るひつようがあったわけですが、

Alias / /home/wwwdoc/php/
<Directory "/home/wwwdoc">
    <略>
</Directory>

Alias /mediawiki /usr/local/www/mediawiki/
<Directory "/usr/local/www/mediawiki">
    <略>
</Directory>

こんな書き方をしちゃってたわけです。
この設定で http://SERVER/mediawiki にアクセスすると、/home/wwwdoc/php/mediawiki にアクセスしちゃうんですね。
正しくはこう

Alias /mediawiki /usr/local/www/mediawiki/
Alias / /home/wwwdoc/php/

さきに /mediawiki に対する Alias を解釈させてあげないといけないのでした。

  • MediaWikiのSettingの誤り

Wiki スクリプト郡ファイルのルートに LocalSettings.php というファイルがあり、これがデータベースへの接続などの動作設定が入っているわけですが、この中にベース URL の設定があります。

$wgServer = "http://SERVER";

という変数があるのですが、サーバのIPアドレスを変えたときに、ここを変え忘れていたらしい。

今のサーバの IP アドレスに変更することでちゃんと動作しました。

このアーカイブについて

このページには、2014年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2014年11月です。

次のアーカイブは2015年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。