Serveur d'impression CUPS – Hacking WD MyBook World Ed – Serveur d’impression
Avec ce guide, nous allons configurer un MyBook World pour qu'il serve de serveur d'impression pour une imprimante USB connectée. Après avoir installé CUPS, nous allons montrer l'interface Web d'administration, ajouter une imprimante et montrer comment imprimer à partir de clients Mac ou Windows.
Pour un guide alternatif, voir MyBook World Edition White Light Print Server (travaillé pour moi).
Sommaire
Conditions préalables
Voir d'autres guides sur ce site pour plus de détails:
- Activer les référentiels de packages Optware
- compilateur Recover-GCC si vous avez un firmware plus récent.
- Désactiver Mionet (recommandé, vous pouvez mieux utiliser cette mémoire)
- Vérifiez que l'imprimante USB est détectée
[root@nas ~]# lsusb
Bus 001 Périphérique 003: ID 04e8: 3268 Samsung Electronics Co., Ltd
Bus 001 Périphérique 001: ID 0000: 0000
Installation
Installez le tasses et cups-doc paquets au minimum. Vous voulez probablement aussi cups-pdf package pour le support pdf, et cups-driver-gutenprint qui contient une vaste gamme de pilotes d'impression pour différents modèles. Vérifiez par rapport à la liste prise en charge sur gutenprint.
Attention: Il est crucial d'installer le cups-doc package, il contient l'intégralité de l'interface web! Si vous omettez ce package, vous ne voyez que les pages «Erreur 404» lorsque vous essayez de suivre le reste des instructions.
[root@nas ~]# / opt / bin / ipkg install cups
Installation de gobelets (1.3.5-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/cups_1.3.5-1_arm.ipk
Installation de libjpeg (6b-2) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/libjpeg_6b-2_arm.ipk
Installation de libpng (1.2.24-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/libpng_1.2.24-1_arm.ipk
Installation de zlib (1.2.3-2) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/zlib_1.2.3-2_arm.ipk
Installation de libtiff (3.8.2-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/libtiff_3.8.2-1_arm.ipk
Installation de libstdc ++ (6.0.3-6) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/libstdc++_6.0.3-6_arm.ipk
Installer openssl (0.9.7m-3) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/openssl_0.9.7m-3_arm.ipk
Installation de openldap-libs (2.3.38-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/openldap-libs_2.3.38-1_arm.ipk
Installation de libdb (4.2.52-3) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/libdb_4.2.52-3_arm.ipk
Installation de gdbm (1.8.3-2) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/gdbm_1.8.3-2_arm.ipk
Installation de cyrus-sasl-libs (2.1.22-2) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/cyrus-sasl-libs_2.1.22-2_arm.ipk
Configuration des tasses
Configuration de cyrus-sasl-libs
Configuration de gdbm
Configuration de libdb
Configuration de libjpeg
Configuration de libpng
Configuration de libstdc ++
Configurer libtiff
Configurer openldap-libs
Configurer openssl
Configuration de zlib
Terminé avec succès.
[root@nas ~]# / opt / bin / ipkg install cups-pdf
Installation de cups-pdf (2.4.6-2) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/cups-pdf_2.4.6-2_arm.ipk
Installation de ghostscript (8.61-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/ghostscript_8.61-1_arm.ipk
Installation de fontconfig (2.5.0-0) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/fontconfig_2.5.0-0_arm.ipk
Installer expat (2.0.1-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/expat_2.0.1-1_arm.ipk
Installation de freetype (2.1.10-4) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/freetype_2.1.10-4_arm.ipk
Installer les modules gconv (2.2.5-7) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/gconv-modules_2.2.5-7_arm.ipk
Configuration de cups-pdf
Configurer l'expat
Configuration de fontconfig
Configuration de freetype
Configurer les modules gconv
Configuration de ghostscript
Terminé avec succès.
[root@nas ~]# / opt / bin / ipkg install cups-doc
Installation de cups-doc (1.3.5-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/cups-doc_1.3.5-1_arm.ipk
Configuration de cups-doc
Terminé avec succès.
[root@nas ~]# / opt / bin / ipkg install cups-driver-gutenprint
Installation de cups-driver-gutenprint (5.1.3-1) dans / opt / ...
Téléchargement http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable/cups-driver-gutenprint_5.1.3-1_arm.ipk
Configuration de cups-driver-gutenprint
Terminé avec succès.
À ce stade, si vous lancez cupsd, vous aurez l'erreur suivante
/ opt / sbin / cupsd: impossible de résoudre le symbole '__guard'
C'est pourquoi il est nécessaire de recompiler les tasses:
Créez un dossier temporaire pour CUPS:
mkdir / partages / interne / PUBLIC / Mybook
mkdir / actions / interne / PUBLIC / Mybook / cups
Téléchargez CUPS 1.3.7:
cd / partages / interne / PUBLIC / Mybook / cups
wget http://www.cups.org/software.php?VERSION=1.3.7&FILE=cups/1.3.7/cups-1.3.7-source.tar.gz / share / internal / PUBLIC / Mybook / cups
tar xf cups-1.4svn-r7679-source.tar.gz
Recompilez et installez Cups:
cd /shares/internal/PUBLIC/Mybook/cups/cups-1.3.7
./configure
faire
faire installer
ldconfig
Configurer le fichier cupsd.conf
Copiez /opt/etc/cups/cupsd.conf dans /etc/cups/cupsd.conf
cp /opt/etc/cups/cupsd.conf /etc/cups/cupsd.conf
Apportez les modifications de configuration suivantes à /etc/cups/cupsd.conf
Ligne | Ancienne valeur | Nouvelle valeur | Raison |
219 | # MaxJobs 500 | MaxJobs 50 | Réduisez les frais généraux sur un système embarqué! |
?? | # Utilisateur lp | User sys | Échangez l'utilisateur et le groupe, puis décommentez les lignes (nous n'avons pas d'utilisateur 'lp') |
# System sys | Groupe lp | ||
456 | # MaxClients 100 | MaxClients 10 | Comme ci-dessus |
838 | AuthType Basic | Exiger un utilisateur valide | Valeurs de configuration obsolètes |
839 | Système AuthClass | ||
844 | Autoriser à partir de 192.168.1.0/24 | Autoriser à partir de 192.168.0.0/16 | Correction pour une plus large gamme de réseaux domestiques |
846 | # Cryptage requis | Chiffrement jamais | Correction temporaire d'un problème SSL (voir ci-dessus) |
Remplacer "Refuser tout" par "Refuser aucun"
Créer des certificats SSL
Avant d'autoriser les actions «administratives», la configuration CUPS par défaut nécessite que la session Web entre l'utilisateur et CUPS soit chiffrée (HTTPS). Il s'agit de sécuriser le mot de passe root, que nous devons présenter à CUPS.
Normalement, les scripts init.d de la plateforme créeraient la clé SSL si elle est manquante, mais pour garder les scripts init simples, nous le ferons manuellement. Vous obtiendrez l'étrange avertissement de sécurité car ce certificat n'a été signé par aucun hôte racine, mais vous pouvez limiter les avertissements au minimum en vous assurant que le «nom commun» correspond au nom d'hôte de votre appareil.
[root@nas ~]# openssl req -new -x509 -keyout /etc/cups/ssl/server.key -out /etc/cups/ssl/server.crt -days 365 -nodes -config /opt/share/openssl/openssl.cnf
Génération d'une clé privée RSA 1024 bits
......................... ++++++
.................... ++++++
écriture d'une nouvelle clé privée dans '/etc/cups/ssl/server.key'
On vous demande de saisir des informations qui seront intégrées
dans votre demande de certificat.
Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom distinctif ou un DN.
Il y a pas mal de champs mais vous pouvez en laisser un vide
Pour certains champs, il y aura une valeur par défaut,
Si vous entrez «.», Le champ sera laissé vide.
Nom du pays (code à 2 lettres) [AU]:ROYAUME-UNI
Nom de l'État ou de la province (nom complet) [Some-State]:Londres
Nom de localité (par exemple, ville) []:
Nom de l'organisation (p. Ex. Entreprise) [Internet Widgits Pty Ltd]: MyBook World
Nom de l'unité organisationnelle (p. Ex. Section) []:
Nom commun (par exemple, VOTRE nom) []: nas
Adresse électronique []:
[root@nas cups]#
Ouvrez le serveur et vérifiez les journaux
[root@nas ~]# ldconfig
[root@nas ~]# / sbin / cupsd
[root@nas ~]# tail -n 100 / var / log / cups / error_log
Ensuite, visitez la page Web CUPS dans votre navigateur Web habituel. L'adresse est la même que votre MyBook, mais utilisez le port 631 et HTTPS, par ex.
https: // nas: 631
Ajout d'une imprimante
Nous pouvons maintenant aller à 'Administration«->»Trouver de nouvelles imprimantes". Cette page interroge tous les fournisseurs «backend» dans des gobelets pour les nouveaux appareils et est assez fiable pour les imprimantes USB. Je vous recommande d'accepter le nom par défaut de l'imprimante, puis cliquez sur Suivant.
Cliquez sur Ajouter cette imprimante,
Un utilisateur peut vous être demandé: une fenêtre contextuelle s'affiche:
Je suis entré utilisateur: root
Mot de passe: root
Si vous avez utilisé le hack de Martin Hinner, le mot de passe root est vide…
Choisissez l'option brute
Ensuite, dans les propriétés des imprimantes, la plupart des options doivent être laissées par défaut. Il est important pour les utilisateurs européens de définir le format de papier sur A4 ici!
Sur votre ordinateur XP,
Sous Windows XP, utilisez "Ajouter une imprimante" pour ajouter une nouvelle imprimante réseau, en sélectionnant "Se connecter à une imprimante sur Internet",
et en utilisant une URL de https://192.168.1.4:631/printers/Canon_iP3000_USB_1.
sélectionnez le pilote d'imprimante pour cette imprimante comme vous le feriez pour une imprimante connectée localement.
L'adresse IP 192.168.1.4 doit être remplacée par celle de votre Mo et le "Canon_iP3000_USB_1" est le nom de file d'attente défini dans l'interface Web de cups:
Scripts d'initialisation
Lien symbolique de /etc/init.d vers / opt / doc / cups / Sxxxxxx et corrigez le chemin / opt / sbin / cupsd vers / usr / sbin / cupsd dans les scripts.
Dépannage
Si la génération du certificat SSL a échoué, vous aurez des problèmes avec le transport SSL pour le site Web CUPS sur le My Book, faites attention à ces messages dans les journaux:
je [05/Feb/2008:23:31:50 +0000] Génération de la clé et du certificat du serveur SSL…
E [05/Feb/2008:23:31:50 +0000] Impossible de créer la clé de serveur SSL et le certificat - la commande openssl s'est arrêtée avec le statut 1!
je [05/Feb/2008:23:31:50 +0000] Génération de la clé et du certificat du serveur SSL…
E [05/Feb/2008:23:31:50 +0000] Impossible de créer la clé de serveur SSL et le certificat - la commande openssl s'est arrêtée avec le statut 1!
Des bugs dans le pilote USB ox-nas?
$ dmeg
<6>usb 1-1: nouveau périphérique USB pleine vitesse utilisant oxnas-ehci et l'adresse 3
<3>usb 1-1: descripteur de périphérique lu / 64, erreur -110
<3>usb 1-1: descripteur de périphérique lu / 64, erreur -110
<6>usb 1-1: nouveau périphérique USB pleine vitesse utilisant oxnas-ehci et l'adresse 4
<3>usb 1-1: descripteur de périphérique lu / 64, erreur -110
<3>usb 1-1: descripteur de périphérique lu / 64, erreur -110
<6>usb 1-1: nouveau périphérique USB pleine vitesse utilisant oxnas-ehci et l'adresse 5
<3>USB 1-1: le périphérique n'accepte pas l'adresse 5, erreur -110
<6>usb 1-1: nouveau périphérique USB pleine vitesse utilisant oxnas-ehci et l'adresse 6
<3>usb 1-1: le périphérique n'accepte pas l'adresse 6, erreur -110
Commentaires
Laisser un commentaire