CentOS ImageMagick

Много раз я брался инсталлить на своем серваке ImageMagick. Делал это через yum и погружался в долгие чтения репортов о вылетающих ошибках. Пока наконец не наткнулся на волшебную заметку.

Installing ImageMagick on a centos vps

Unfortunately installing imagemagick can cause some issues

If you get the message «Error: Missing Dependency: udev >= 089-1 is needed by package hal»

DO NOT INSTALL UDEV, udev is known to cause problems with deleting entries in /dev, instead you can install from source yum install make

wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.4.0-9.tar.gz
tar xvfz ImageMagick-6.4.0-9.tar.gz
cd ImageMagick-6.4.0-9/
./configure && make && make install

М-да, сказал я себе, самый стабильный дистрибутив говоришь…. Хм. И заправив рубашку в трусы сел и проинсталли за 6 минут то, что не мог проинсталлить почти год.

Попутно при тесте выскочила ошибка

convert: error while loading shared libraries: libMagickCore.so.2: cannot open shared object file: No such file or directory

решил проблему добавив в /etc/profile

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

CentOS — SFTP доступ

Некоторым пользователям предпочтительней дать не полный доступ, а только права на перенос файлов. FTP…? Несекьюрное решение. С точки зрения поставленной задачи и безопасности оптимальным было бы решение на базе SFTP. Оригинальное решение тут

Для реализации воспользуемся rssh — оболочкой работающей на базе OpenSSH.
Качаем свежий пакет отсюда. Инсталлируем
rpm -ivh rssh-2.3.2-1.2.el5.rf.i386.rpm

Открываем файл конфигурации
vim /etc/rssh.conf

раскомментируем строку
allowsftp

Создадим пользователя с оболочкой rssh

useradd -m -d /home/test -s /usr/bin/rssh test
passwd test

Заходим через доступный нам клиент по sftp и радуемся жизни.

CentOS PHPUnit

Не захотел сразу становиться PHPUnit

[root@xxx ~]# pear install phpunit/PHPUnit
phpunit/PHPUnit requires PHP extension «dom»
phpunit/PHPUnit can optionally use PHP extension «json»
phpunit/PHPUnit can optionally use PHP extension «xdebug» (version >= 2.0.0)

Собственно для решения вполне достаточно победить первую зависимость

Под CentOS вводим

yum -y install php-xml

Таким образом, мы установили расширение dom.

Memcached on Cent OS

Установка memcached тоже прошла не без приключений. Оригинал решения здесь.

Итак скачали и установили libevent
Скачали и устанавливаем memcached
Скорее всего конфигурационный скрипт не нашел libevent и нам приходится указывать дополнительным параметром его нахождение

./configure —with-libevent=/usr/local/lib/

Пытаемся запустить
memcached

Получаем ошибку
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

По каким-то соображениям новый libevent не зарегистрировал себя в системе. Исправляем этот косяк.

Создаем следующий файл
# vi /etc/ld.so.conf.d/libevent-i386.conf

В нем прописываем путь находения файла libevent-1.4.so.2
В моем случае
/usr/local/lib
файл сохраняем и закрываем.

Для обновления информации вводим
ldconfig

И запускаем memcached!

Беды на CentOS продолжаются

При попытке установки ez_setup.py вылетел exception

zipimport.ZipImportError: can’t decompress data; zlib not available stemming from python ez_setup.py.

Помогло следующее решение установил zlib-devel.

Перекомпилил python. Заработало!

update kernel-headers на CentOS

Цитирую полезную статью, оказался в точно такой же ситуации при покупке VPS на Agawa

Установка GCC

Сразу после регистрации сервера вам может потребоваться установить GNU C++ Compiler. Когда я первый раз настраивал аккаунт на Агаве, он был уже установлен, однако на новом аккаунте он почему-то отсутствовал. Поэтому его потребовалось установить:

yum install gcc-c++

При установке может возникнуть ошибка

Error: Missing Dependency: kernel-headers >= 2.2.1 is needed by package.

В этом случае необходимо обновить пакет kernel-headers. Я его ставил отсюда:

wget ftp://ftp.pbone.net/mirror/ftp.centos.org/5.2/os/i386/CentOS/kernel-headers-2.6.18-92.el5.i386.rpm
rpm -i kernel-headers-2.6.18-92.el5.i386.rpm

После этого все должно ставиться нормально.