개요
무선인쇄를 지원하는 프린터라 하더라도 airPrint를 지원하지 않는 모델들이 종종있다. 현재 사용중인 brother의 HL-1210W가 가성비가 훌륭하지만 아쉽게도 airPrint를 지원하지 않고, 별도 제조사에서 제공하는 iPrint를 사용해야 하지만, 아이폰/아이패드에서 직접 인쇄하는 방식이 아니라 앱을 켜서 인쇄를 해야하므로 불편하다.
이미 무선으로 프린터를 잘 세팅하여 사용하고 있지만, 아이패드에서 프린트를 못해 에어드랍으로 PC로 넘겨 인쇄해야만 했는데, 문득 이걸 왜 해결하지 않고 있었나 하여 정리를 해보고자 한다.
요구사항
- 로컬네트워크에 연결된 리눅스 서버
- CUPS를 지원하는 프린터 : 여기서는 brother의 HL-1210W를 예로 든다.
- 테스트할 iOS장비
CUPS 설치 및 설정
- 현재 사용중인 서버는 우분투 18.04이지만, 다른 배포판도 크게 다르지 않다. 설정은 우분투를 기준으로 한다.
CUPS 설치
$ sudo apt install cups
사용자 추가
USERID 는 사용자 계정의 이름으로 대치한다.
$ sudo usermod -a -G lpadmin _USERID_
$ sudo usermod -a -G sys _USERID_
CUPS 설정파일 수정
CUPS는 웹 인터페이스에서 설정할 수 있는데 이를 허락해준다. 특히 localhost가 아닌, 다른 클라이언트에서 접속할 수 있도록 cups 설정파일을 수정한다.
$ sudo vi /etc/cups/cupsd.conf
아래 라인들을 수정한다
15 # Only listen for connections from the local machine.
16 # Listen localhost:631 # -> comment out
17 Port 631 # -> add
18 Listen /var/run/cups/cups.sock
...
30 # Restrict access to the server...
31 <Location />
32 Order allow,deny
33 Allow all # -> add
34 </Location>
35
36 # Restrict access to the admin pages...
37 <Location /admin>
38 # Order allow,deny # -> comment out
39 </Location>
방화벽에서 631포트 오픈하기
기본적으로 포트가 막혀있으므로, 해당 포트를 오픈해둔다.
$ sudo iptables -A INPUT -p tcp --dport 631 -j ACCEPT
CUPS 서비스 재시작
$ sudo service cups restart
프린터 드라이버 설치하기
brother 공식페이지에서 리눅스용 드라이버 설치스크립트를 다운받는다. 공식페이지에서는 rpm과 deb 패키지를 제공하며, 드라이버를 검색해서 받을 수 있는 스크립트를 제공한다.

다운받은 파일의 압축을 풀고, 실행권한을 준 뒤, 드라이버이름을 검색하고 설치한다.
$ gunzip -c linux-brprinter-installer-2.2.2-1.gz > printer-installer
$ chmod +x printer-installer
$ sudo ./printer-installer
Input model name ->hl-1210w
You are going to install following packages.
hl1210wlpr-3.0.1-1.i386.deb
hl1210wcupswrapper-3.0.1-1.i386.deb
OK? [y/N] ->y
| 참고로, 아치 리눅스라면 (AUR) brother-hl1210w을 통해 손쉽게 드라이버를 설치할 수 있다. |
CUPS 웹 인터페이스에서 프린터 추가 및 설정
서버의 아이피를 사용하여 웹 인터페이스에 접속한다. 서버의 아이피가 192.168.0.54이라면, 접속할 주소는 http://192.168.0.54:631로 접속하면 된다.
접속하면 아래와 같은 화면이 보일것이다. 위 메뉴중 Administrator를 누른다.

Printers의 Add Printers버튼을 클릭한다.

추가를 위한 페이지인지라, https로 접속해야한다고 한다.

다시 페이지가 로딩되는데 자세히 보면 https로 접속이 되어있다. Add Printer를 클릭하면, 로그인창이 뜰것이다. 서버상의 계정아이디와 비밀번호를 입력한다.

몇초간의 로딩이 끝나면 감지된 로컬 및 네트워크 프린터가 뜰 것이다. 내 경우 이미 무선으로 프린터가 세팅되어있으므로, HL-1210W 프린터가 감지되어있다. 프린터를 선택한 뒤 Continue를 누른다.

네트워크에 보여질 프린터의 이름, 설명, 위치(Location)등을 설정할 수 있다. 여기서 반드시 Share This Printer를 클릭해둔다. 이렇게 해야 iPad 및 iPhone에서 프린터가 감지된다. 설정을 마치면 Continue를 누른다,

추가한 프린터의 드라이버를 지정해주는 화면으로 넘어간다. 앞서 이미 터미널틀 통해 드라이버를 설치해두었으므로, Brother HL-1210W for CUPS (en)을 찾아 클릭해둔다. 이상하게 두개가 보이는데 아무거나 선택하면 된다. Add Printer를 누른다.

프린터의 기본 옵션을 지정하는 화면이다. A4로 선택하고 Set Default Options를 클릭한다.

설정이 완료되었다.

상단의 Printers 메뉴를 누르면 프린터가 정상적으로 설치되었음을 확인할 수 있다.

iOS에서 테스트
아이패드에서 잘 감지되는지 확인하고 프린트해본다.

