Я не согласен с тем что CUPS раздут.Вот не далее как месяц назад я его впервые настраивал, на уровне перечитать все маны и вписать в конфиги все параметрами с манов с их объяснениями.
По факту там два конфига есть, в одном сосредоточено всё про файлы, в другом системное про сеть, очереди и доступ.
Есть ещё borrowed - туда спихнули какое то легаси, читать не стал и запускать эту службу тоже.
Моё впечатление от CUPS в том, что в документации параметры нужно было распологать не по алфавиту а группировать по смыслу, это помогло бы читающему составить полную картину затратив меньше усилий.
Сейчас же там как в с++ - пока всё не прочитешь 3 раза и не запомнишь - как то не очень понятно.
Реального функционала и настроек там мало.
Можно условно сгруппировать так:
- системное (юзер, пид и тп)
- сетевое (что слушаем, длина очереди листен и пр)
- логирование
- очередь печати
- всякие правила (и лимиты частично сюда же)
Тут даже выкидывать то особо нечего.
Если начать делать что то подобное самостоятельно - всё равно примерно к этому и придёте.
Ну да, в случае с perl/php у вас сетевая часть ляжет на нгинх/лайти, очередь на лпр и может что то ещё найдётся готовое. И как бы документации будет меньше, но по факту оно размажется на документации по компонентам.
Если интересно, вот мои конфиги, я для себя как раз всё сгруппировал:
http://www.netlab.linkpc.net/download/software/os_cfg/FBSD/1.../
(только это для рабочей станции, оно не слушает за пределами локалхоста и авторизации нет)