2015年2月7日土曜日

Vagrant(CentOS7)で CUPS

セットアップにやたら手こずったので、メモ。

事の始まりは MacOS 10.10.2 で、Canon のプリンタ
BJF-850 が使えなかったので、Linux 経由で印刷する
事にしたので。

もともとは Raspberry Pi を使っていたけど、
Linux で印刷できるなら、Vagrant でもよくね?
って思った。すんなり出来ると思いきや、
CentOS 7 が意外と強敵。

1. Box の追加(CentOS7.0 x86_64 minimal)

minimal って言うくらいだから、ダウンロードに時間
かからないだろう、っていう安直な発想でこの Box に
決定。
$ vagrant box add https://f0fff3908f081cb6461b407be80daf97f07ac418.googledrive.com/host/0BwtuV7VyVTSkUG1PM3pCeDJ4dVE/centos7.box

2. Box の初期化

すでに httpd 用の Box を作っていたので、同じところで
init する。Vagrantfile がすでにあるぞー、ってエラーが出るので
名前を変えておく。
$ mv Vagrantfile Vagrantfile.old 
$ vagrant init  centos7

3. Vagrantfile の統合

ついでに一つの Vagrantfile を Box 名で切り替えられるようにしておく。
IP は 192.168.33.11 とする。
$ vi Vagrantfile

4. CentOS 7 の起動

$ vagrant up centos7

5. ssh でログイン

$ vagrant ssh centos7

6. パッケージマネージャのアップデートと CUPS サーバ、プリンタドライバのインストール

$ sudo yum update
$ sudo yum -y install cups gutenprint

7. cups の設定

 $ sudo vi /etc/cups/cupsd.conf
Listen 631
<Location />, <Location /admin>, <Location /admin/config>に
Allow all
$ sudo systemctl enable cups
$ sudo systemctl start cups
これでブラウザから 192.168.33.11:631 にアクセスすると、
「Forbidden」の一点張り。なんで?

8. firewalld の停止

ここでハマった。ファイアウォールの管理を iptables から
firewalld に変更されていることを知らなかった。
どうせローカルでしか動かないのでファイアウォールを
停止したけど、良い子は本番環境で真似をしないように(笑)
$ sudo systemctl disable firewalld
$ sudo systemctl stop firewalld

9. vagrant ユーザを lp グループ、sys グループに追加

vagrant ユーザにアクセス権がないので、CUPS の管理画面が
出ても設定できない。
というわけで、vagrant ユーザを既存のグループに追加する。
$ sudo usermod -a -G lp, sys vagrant

10. ブラウザから CUPS を設定

あとは、画面の指示通りに。
BJF-850 は日本での型番なので一覧に名前がない。
BJC-8200 のドライバを使うと印刷できる。

11. Mac のシステム環境設定からプリンタを追加

おしまい。



追記:この記事書いている間に、Mac から BJF-850 を
直接使える方法にたどり着いてしまった。
詳しくは以下のリンクからどうぞ。



0 件のコメント:

コメントを投稿