全体の流れ

開発用、ファイル共有でCentOSのサーバを利用しています。
このサーバにCUPSをインストールし、Wifiで接続しているiPhone・iPadのAirPrintから利用できるようにします。
プリンタはブラザーの複合機MFC-9420CNです。

1. CentOSにCUPS、プリンタドライバをインストールし、プリンタを設定。
2. Bonjourが利用できるようCentOSにAvahiをインストール。
3. Avahiにプリンタの設定ファイルを作成

以上で、AirPrintが利用できるようになります。

1. CUPSとプリンタドライバのインストール

CentOSですので、CUPSとghostscriptをyumでインストール、プリンタドライバはブラザーのサイトからrpmを取得しインストールしました。
その後、https://サーバのIPアドレス:631/ でプリンタを設定し印刷できるところまで確認しておいてください。
なお、キュー名はMFC-9420CNとしました。

起動時にCUPSを起動させるには

chkconfig cups on

としてください。

2. Avahiのインストール

yumでインストールします。

yum install avahi avahi-compat-libdns_sd

3. Avahiにプリンタの設定ファイルを作成

ここが一番のポイントになりますが、設定ファイルを作成するPythonスクリプトがGitHubで公開されています。
https://github.com/tjfontaine/airprint-generate

airprint-generate.pyをダウンロードの上、PythonのCUPSモジュールをインストールします。

yum install system-config-printer-libs

インストールできましたら、avahi-daemonを起動します。

service avahi-daemon start

起動時にavahi-daemonを起動させるには

chkconfig avahi-daemon on

としてください。

先ほどダウンロードしたairprint-generate.pyのあるディレクトリで

python airprint-generate.py

とすると、同じディレクトリに

AirPrint-プリンタキューネーム.service

で設定ファイルが作成されます。
今回の場合 AirPrint-MFC-9420CN.service というファイルが作成されました。
このファイルを

/etc/avahi/services/

にコピーします。
続いて、/etc/cups/cupsd.confの最後に

ServerAlias *

を追加します。
ここまで出来ましたら、AvahiとCUPSを再起動します。

service avahi-daemon restart
service cups restart

iPhoneからAirPrintを利用する

これで、Wifiで接続しているiPad、IphoneからAirPrintが使えるようになります。
iPhine AirPrint