Всего материалов: 133, мнений: 243, авторов: 4.

Установка Perl и ImageMagick в режиме non-root

4:03 | 2 декабря 2008 г. | Arty

О том, что с ImageMagick у меня будут проблемы, я и не догадывался, когда писал свой первый перловый движок под Windows ещё на первой версии Денвера.
Кто ж мог предположить, что в будущем пойдут звонки от админов-линуксоидов с вопросами о том, как сиё чудо установить, чтоб работало. А я и понятия не имел что им ответить, кроме как посетовать на их компетентность. Сейчас вопрос с серверами, где нет ImageMagick и не могут поставить, решается просто - "ребята, либо ставите сами, либо платите 200 у.е. и я переписываю админку под другие модули, либо платите 200 у.е., даёте рутовый SSH и наш админ вам всё настроит". Как ни странно, после такой постановки вопроса, на любого админа находит прозрение.

Так всё это и происходило, до тех пор, пока не попросили как-то протестировать буржуйскую хост-площадку на предмет профпригодности. Доступ по SSH был, но естественно пользовательский. Прав для установки того же ImageMagick (PerlMagick) не хватало. Можно было написать в техподдержку, но можно было и не писать. Дело было вечером, делать было есть чего, но... решил пойти мимо техподдержки и установить-таки хост собственноручно.

Итак, если кто не в курсе или заблуждается, напомню, что ImageMagick, это вовсе не модуль для Perl, который можно установить стандартными способами, скачав дистрибутив с CPAN. ImageMagick - это серверное ПО, позволяющее работать с изображениями. Модуль же для Perl, который зовётся PerlMagick - это только интерфейс для вызова методов ImageMagick. Отсюда понятно, почему нельзя без root-а установить весь компект.

Приступим. Первое, что понадобится - это сам Perl. Выбираем нужный дистрибутив по адресу http://perl.com/CPAN/src/. Я остановил свой выбор на perl-5.8.8.tar.gz. Далее, либо скачиваем и распаковываем архив на сервере вручную (тогда пропускаем первые 2-3 команды), либо используем wget и tar:

wget http://perl.com/CPAN/src/perl-5.8.8.tar.gz

tar zvxf perl-5.8.8.tar.gz

cd perl-5.8.8

sh Configure -de -Dprefix=/path/to/where/i/want/my/perl

make

make test

make install

Здесь и далее, нужно заменить "/path/to/where/i/want/my/perl" на путь к папке, где будет установлен Perl. "make test" может подвиснуть, ничего страшного, можно просто прервать. Вся процедура может занять несколько минут, после чего мы имеем рабочую версию Perl и можем её использовать. Для этого в своих скриптах нужно указывать путь к перл как "#!/path/to/where/i/want/my/perl/bin/perl" вместо классического "#!/usr/bin/perl".

Теперь настало время установить ImageMagick. Стоить отметить немаловажный факт - установка некоторых комбинаций версий Perl и ImageMagick заканчивается неудачей. Дело тут скорее в ImageMagick. Советую не устанавливать последнюю версию.

По аналогии с установкой Perl, выбираем страну/дистрибутив по адресу http://www.imagemagick.org/script/download.php. Распаковываем и устанавливаем, указав при этом путь для ImageMagick и путь к Perl:

wget ftp://ftp.fu-berlin.de/unix/X11/graphics/ImageMagick/ImageMagick-6.4.2-6.tar.gz

tar zvxf ImageMagick-6.4.2-6.tar.gz

cd ImageMagick-6.4.2-6

./configure --prefix=/path/to/where/i/want/my/ImageMagick --with-perl=/path/to/where/i/want/my/perl/bin/perl

make

make install

Всё. Осталось найти, куда установился модуль. У меня он установился по адресу /path/to/where/i/want/my/perl/lib/site_perl/5.8.8/i686-linux/. Теперь, чтобы использовать "свои" Perl и ImageMagick, первые строки скрипта будут выглядеть так:

#!/path/to/where/i/want/my/perl/bin/perl

use lib ("/path/to/where/i/want/my/perl/lib/site_perl/5.8.8/i686-linux/");

use Image::Magick;

Выглядит всё это немного громоздко, зато работает.
Конечно, помимо ImageMagick понадобится устанавливать ещё модули. Есть 2 варианта.

Первый - находим, скачиваем и устанавливаем вручную:

wget url_of_repository/module.tar.gz

tar zvxf module.tar.gz

cd module

perl Makefile.PL PREFIX=/path/to/where/i/want/my/perl/lib/5.8.8

make

make install

Второй - поручаем весь процесс CPAN.

Для начала CPAN надо сконфигурировать. Конфигарутор запускается автоматически при первом запуске:

/path/to/where/i/want/my/perl/bin/perl -MCPAN -e 'shell'
...
Are you ready for manual configuration? [yes]

Подтверждаем "yes" и дальше отвечаем на несложные вопросы. Главное, не пропустить следующее:

Parameters for the 'perl Makefile.PL' command?
Typical frequently used settings:

    PREFIX=~/perl       non-root users (please see manual for more hints)

Your choice:  []

"Non-root users" - это как раз про нас. Здесь просят указать путь к библиотекам недавно установленного Perl:

PREFIX=/path/to/where/i/want/my/perl/lib/5.8.8

Всё остальное настраиваем в соответствии с личными предпочтениями. После того, как установка завершена, рекомендую обновить CPAN:

cpan> install Bundle::CPAN

 


Perl | Постоянный адрес этого документа: http://paparazzo.kz/2/106/
RSS-каналы по интересам: Perl
Для чтения RSS-лент, рекомендуем скачать удобный бесплатный RSS Feed Reader с русским интерфейсом.
Знаете что-то интересное? Поделитесь с нами.

С помощью этой формы Вы можете прислать нам материал, который по Вашему мнению будет интересен:
  • Обязательно представьтесь.
  • Обязательно укажите источник информации (если это не Ваша собственность).
  • То, что вы пришлёте, не обязательно будет опубликовано, но всё равно спасибо.
  • Если с помощью этой формы нельзя прислать то, что Вы хотели бы, то пишите на info@paparazzo.kz.
Меня зовут:
(Ф.И.О., псевдоним)
Вот что интересно:


...попросили как то протестировать буржуйскую хост площадку на предмет профпригодности. Доступ по SSH был, но естественно пользовательский.




Если у Вас есть желание высказаться по поводу представленного выше материала, пожалуйста:
Меня зовут:
(Ф.И.О., псевдоним)
Я думаю, что:








наверх

© InfoPub  |  Powered by LeeSa™ Blog