More from: CUPS

ちょっとだけ前進か?

RISOのカラープリンタ(「ORPHIS X7250A」)へLinux機からの印刷が出来なくて悩んでいる。
最初はlpdを使ったサーバから印刷させようとして/etc/printcapをいろいろ弄っていたが、どうやってもプリンタ側へのデータの送信が出来なかった。
「もしかしてlprに対応していないのか?」とも思ったが、仕様上は対応していることになっている。
それでも上手くいかないので次にcupsで運用しているサーバでRAWポート(9100番ポート)にデータを送ってみたが、データは送られたように見えるが印刷が出ない(これはプリンタ側に無いユーザーで送ったためと思われる)。

数時間の格闘の末lpdで運用しているサーバからのデータ送信に成功した(と思われる)。
/etc/printcapにはリモートホスト名とリモートホスト上のプリンタ名を記述するが、そのプリンタ名が違っていることが判明。
「ORPHIS X7250A」上のプリンタ名は単なる「lp」らしく、/etc/printcapのrpにlpを指定したところ、それまでスプールに溜まっていたデータが無くなった(プリンタに送られたと思われる)。
それまで「lpt1」やら「pr1」やらのプリンタ名を試していたけど、まさかこんな単純な名前だっとわ(汗)。
気付いたきっかけはWindowsXP上の「Standard TCP/IPポート」の詳細設定で、プロトコルをRAWからLPRに変えてLPR設定のキュー名を「lp」にしたら印刷が出来たこと。
このことで「ORPHIS X7250A」が持つプリンタ名は「lp」だろうと見当がついた。

これでサーバからプリンタへのデータ送信に関しては解決したと思われるが、サーバ上に定義したプリンタに対してクライアントであるWindowsPCから印刷データを送ることが出来ない・・・・・・
現在の接続方法はLPTポート(LPT1とかLPT2)に対してnet useコマンドでLinuxサーバ上のプリンタを接続していて、プリンタの使用するポートとしてLPT1等を指定している。
同じサーバ上の他のプリンタに対してはこの方法で問題無く印刷データを送ることが出来ている(印刷できている)。
ところがサーバ上に定義したRISOのカラープリンタ(「ORPHIS X7250A」)を接続したポートにはデータを送ることが出来ない。
テストページの印刷を試すと印刷開始から即座に
「このドキュメントの印刷に失敗しました。」
のメッセージが出てスプールに残ったままになってしまう。
サーバ上のスプールディレクトリのアクセス権とかもチェックしたが他のプリンタとの違いは無い。
PCからサーバにデータを送ることが出来なければ印刷されるかどうかも解らないままだ。
この問題に間しては昨夕から一歩も進んでいないなぁ・・・・・・・
明日もまたこの問題で悩むことになりそうだけど、多少思いついたことがあるので、明日はそれらを試して見ることにしよう。

←クリックしてくれると嬉しいです。

CUPSの設定が?

職場でプリンタサーバにしているサーバが挙動不審になってきた(Windows機からプリンタへ接続出来なくなってきた)ので、別のサーバにプリンタを追加してプリンタサーバとしても使うことにした。
プリンタを追加するにはCUPSの設定を変更して(というか全くの未設定状態なので)、まずは外部のPCからブラウザ経由で設定できるようにしなくてはならない。
デフォルトでは外部から設定画面へのアクセスを拒否するようになっているので、「サーバのIPアドレス:631/」でアクセスしても「403 Forbidden」となってしまうが、2009/10/31の記事「CUPSの設定」のように設定ファイルを修正すればアクセスが許可される。
実は最初
Order deny,allow
の行を反対の順番
Order allow,deny
と書いてしまっていて、いくら試しても拒否されてしまった。
あとはsambaの設定にプリンタの公開を追加したところ、なんとかWindowsのクライアント機からの印刷が可能になったが、少々エラーが出るので、さらに調査中。

←クリックしてくれると嬉しいです。

CUPSの設定

外部からCUPSの設定が出来ないのは初期状態ではlocalhostからのアクセスしか許可していないため。
/etc/cups/cupsd.confファイルを修正すれば他のホストから631番ポートにアクセスできるようになる。
(もちろんファイヤーウォール等で631番ポートを閉じていれば開けなくてはならないが)
修正するのは
<Location /admin>
    :
</Location>
の間にアクセスを規制している箇所があるので、そこにアクセスを許可したいホストのIPアドレスを追加すれば良い。
具体的には
Order Deny,Allow
Deny From All
Allow From 127.0.0.1 (注:localhostのこと)
となっているので、
Allow From 192.168.0.100
のように許可したいホストのIPアドレスを記述した行を追加する。
また、ポートの監視の設定が
Listen 127.0.0.1:631
と設定されている(このため他のホストからは接続できない)ので、ここを
port 631
とするか、もしくは
Listen 自ホストのIPアドレス:631
とすれば良い。

←クリックしてくれると嬉しいです。

サーバ構築の続き

昨日Linuxをインストールしたサーバ(というか普通のPCなんだけど)。
目的がファイルサーバとプリンタサーバなので、基本的なネットワークの設定を除けば、sambaとCUPSの設定をするくらい。
で、プリンタの設定は昨日の内にやっておいたので、今日はsambaの設定をした。
今のディストリビューションはX上で動く設定ツールがあるので、それを使ってやるんだろうけど(実際プリンタの設定はそうした)、普段はターミナルで設定をしている。
今回は試しにX上の設定ツールでsambaの設定をしてみたが、クライアントからなかなかつながらない。
sambaユーザーのパスワードが上手く設定されないようで、何回パスワードを設定し直しても
「ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。」
のメッセージが出て接続できない。
ターミナル上からsmbpasswdで設定しても変化が無い。
試しに別のユーザーをsambaユーザーに追加しても同じだったが、一度設定ツールを終了させたら新しいユーザーでは接続できるようになった。
どうも一度終了させないと設定が反映されないようだ。
#今まで手動で/etc/samba/smb.confファイルを書き換えた後はsmbdのリスタートをかけているが、設定ツールを使った場合は設定を保存すれば勝手にやってくれるものだと思っていた。
ところが最初に設定してあるユーザーではやはり接続できず、仕方が無いので一度sambaユーザーから削除して再度追加したらあっさり接続出来た。
sambaに関しては解決したが、今度はCUPSの設定画面に他のPCから接続出来なくなっているのを解決しなくてはならない。
調べてみると多少の設定が必要そうなので、これからPEPSI Azukiを飲みながら試してみるつもり。

←クリックしてくれると嬉しいです。

プリンタ

昨日は東京で設置してきたプリンタのうち1台が印刷できないと連絡があって、結局出勤してしまった。
同時に設置した他の2台には同じ設定で問題なくデータを送ることができるので、設定の問題とは思い難い。
それでもいろいろ調べてCUPSの設定をいろいろ変更してみるが一向にプリンタにデータが送られない。
RAW,HTTP.IPPの3つのプロトコルで試すが、解決できない。
リモートでプリンタの設定画面で見てみても他の2台との設定の違いはIPアドレス以外見当たらない。
いろいろやっているうちにtelnetでも9100番ポートに接続できないことを発見。nmapで見ると開いているのだが、接続に行くとrejectされてしまう。他のプリンタにはtelnetでも接続できるので、これが原因か?
ネットで検索しても同様な症状の話が見つからない。
そこで駄目元でプリンタメーカーのサポートに電話してみると、なかなか話が通じない。それでもなんとかこちらのやりたいことを伝えて返事を待つことしばし。
ようやく返事が来たが、プリンタ側の設定に問題は無いとのこと。そこで一度プリンタのネットワーク設定を全て初期化して、再度設定し直して見てほしいとのこと。
設定し直しをするにはプリンタ本体の操作が必要なのだが、プリンタ本体は1000Kmの彼方にある。
結局現地にいるスタッフに最小限のネットワークの設定(IPアドレス、ネットマスク、ゲートウェイアドレス)をやってもらい、telnetで接続を試すとつながるようになった。
クライアントPCからの印刷を試してもらうと無事に印刷できた。そこでシステムからの印刷もチェックするためにサーバ側のCUPSの設定を変更すると、溜まっていたジョブが送られて印刷された。
初期化の前も後も他のプリンタとの設定の違いはIPアドレスだけなのだが何故解決したのかが不明ですっきりしない。

←クリックしてくれると嬉しいです。