なぜUbuntuをプリントサーバーとして使うのか?
オフィスでUSBケーブルを持ってプリンターまで走り回る光景はお馴染みかもしれませんが、非常に面倒なものです。3〜5万円もする新しいネットワークプリンター(Network Printer)を購入する代わりに、古いMini PCやUbuntuを搭載したRaspberry Piをプリントサーバーとして活用できます。
私はこのシステムを、古いHP LaserJet 1020を使用して15人規模のオフィスに導入しました。6ヶ月以上経過しても、システムは再起動なしでスムーズに動作しています。Mini PCの消費電力はわずか10〜15W程度で、プリンターを共有するためだけにWindows PCを24時間稼働させる(通常100W以上消費)よりもはるかに経済的です。Ubuntu Serverは非常に軽量で、集中管理が可能であり、Windows、macOS、Linuxとの互換性も抜群です。
UbuntuへのCUPSのインストール
以下の手順は、Ubuntu 22.04および24.04の両方で適用可能です。まず、プリンターをサーバーのUSBポートに接続し、デバイスが認識されていることを確認してください。
ソフトウェアリポジトリを更新し、CUPS(Common Unix Printing System)パッケージをインストールします:
sudo apt update
sudo apt install cups -y
以下のコマンドでサービスのステータスを確認します:
sudo systemctl status cups
緑色の文字で active (running) と表示されていれば、サービスは準備完了です。管理を容易にするために、現在のユーザーを lpadmin グループに追加することをお勧めします。これにより、root権限を使わずにプリンター設定を変更できるようになります:
sudo usermod -aG lpadmin $USER
Web UI経由のリモート管理権限の解放
デフォルトでは、CUPSはインストールされたマシン自体(localhost)からのみ管理インターフェースへのアクセスを許可しています。ディスプレイのないUbuntu Serverの場合、ローカルネットワーク内の他のPCのブラウザからアクセスできるようにリモート管理権限を解放する必要があります。
メインの設定ファイルを編集します:
sudo nano /etc/cups/cupsd.conf
CUPSがすべてのIPアドレスでリスンし、LAN内の子機からのアクセスを許可するように、以下のパラメータを探して変更してください:
# Listen localhost:631 を以下に変更:
Listen 0.0.0.0:631
# <Location /> および <Location /admin> セクションに Allow @LOCAL 行を追加:
<Location />
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin>
Order allow,deny
Allow @LOCAL
</Location>
Ctrl + Oで保存し、Ctrl + Xで終了します。サービスを再起動して変更を適用します:
sudo systemctl restart cups
UFWファイアウォールを有効にしている場合は、ポート631を開放するのを忘れないでください:
sudo ufw allow 631/tcp
Webインターフェース経由でのプリンター追加
ネットワーク内の別のPCを使用し、ブラウザで https://[<a href="https://itfromzero.com/ja/linux/ubuntu-ja-linux/ubuntu%e3%81%a7netplan%e3%82%92%e3%83%9e%e3%82%b9%e3%82%bf%e3%83%bc%e3%81%99%e3%82%8b%ef%bc%9a%e5%9b%ba%e5%ae%9aip%e8%a8%ad%e5%ae%9a%e3%81%8b%e3%82%89%e3%83%97%e3%83%ad%e3%83%95%e3%82%a7%e3%83%83.html">UbuntuサーバーのIP</a>]:631 にアクセスします。セキュリティ証明書に関する警告が表示されますが、「詳細設定」を選択してアクセスを続行してください。
- Administration タブにアクセスし、Add Printer をクリックします。
- 求められたら、Ubuntuマシンのユーザー名とパスワードを入力します。
- リストからUSBポートに接続されている正しいプリンター名を選択し、Continue をクリックします。
- 分かりやすい名前(例:
Ke_Toan_HP)を付けます。スペースや記号は避けてください。Share This Printer のチェックボックスをオンにします。 - 適切なドライバーを選択します。正確なモデルが見つからない場合は、以下の一般的なドライバーパッケージを追加でインストールしてください:
sudo apt install hplip printer-driver-all -y
個人用PCからの接続
Windowsの場合
WindowsはCUPSのIPPプロトコルを非常に良くサポートしています。サーバー側が正しく設定されていれば、通常、各クライアントPCに個別のドライバーをインストールする必要はありません。
- 設定 > Bluetooth とデバイス > プリンターとスキャナー を開きます。
- デバイスの追加 を選択し、プリンターが一覧にない場合 をクリックします。
- 共有プリンターを名前で選択する を選びます。
- パスを入力します:
http://[UbuntuサーバーのIP]:631/printers/[プリンター名]
LinuxおよびmacOSの場合
システムがローカルネットワーク内のプリンターを自動的に検出します。プリンター設定画面に移動し、「追加」を押してUbuntuから共有されているプリンターを選択するだけで完了です。
システムを安定して運用するための注意点
実際の経験から、プリントサーバーをしばらく運用すると、以下のような小さなトラブルが発生することがあります:
- 用紙詰まりエラー(Paused): 用紙切れや紙詰まりが発生すると、CUPSは印刷キューを一時停止(Pause)することがよくあります。ハードウェアの問題を解決した後、Web UIにアクセスし、プリンターを選択して「Resume Printer」をクリックして再開する必要があります。
- IPアドレスの固定: Ubuntu Serverには静的IPを設定してください。IPが変わると、すべてのクライアントPCからの接続が即座に切断されます。
- ログの確認: 印刷できない場合は、ログファイルを読み取って正確な原因を特定してください:
tail -f /var/log/cups/error_log
自前でプリントサーバーを構築することは、予算の節約になるだけでなく、柔軟な管理も可能にします。古いPCと数分の設定だけで、オフィス全体の印刷課題を根本的に解決できます。

