воскресенье, 24 мая 2009 г.

CentOS - SFTP доступ

Некоторым пользователям предпочтительней дать не полный доступ, а только права на перенос файлов. FTP...? Несекьюрное решение. С точки зрения поставленной задачи и безопасности оптимальным было бы решение на базе SFTP. Оригинальное решение тут Для реализации воспользуемся rssh - оболочкой работающей на базе OpenSSH. Качаем свежий пакет отсюда. Инсталлируем rpm -ivh rssh-2.3.2-1.2.el5.rf.i386.rpm Открываем файл конфигурации  /etc/rssh.conf раскомментируем строку allowsftp Создадим пользователя с оболочкой rssh useradd -m -d /home/test -s /usr/bin/rssh test passwd test Заходим через доступный нам клиент по sftp и радуемся жизни.

пятница, 22 мая 2009 г.

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!

mysql - изменить пароль

Итак, продолжаем гид по работе с свежекупленным серваком.
Первое что я заметил при запуске top, что mysqld уже запущен. Стандартный пустой пароль не подошел. Для смены пароля пришлось малец похимичить. Оригинал метода путем отшелушивания зерен от плевел можно найти здесь.

1. Останавливаем сервис
/sbin/service mysqld stop

2. Запускаем без проверки таблиц прав:
/usr/bin/mysqld_safe --skip-grant-tables &
3. Заходим без пароля под root-ом
mysql -u root
4. Меняем пароль SQL коммандой
UPDATE mysql.user SET Password=PASSWORD('новый пароль') WHERE User='root';

5. Рестартуем сервис
/sbin/service mysqld restart

четверг, 21 мая 2009 г.

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

При попытке установки 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

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

Linux: генерация рандомной строки для пароля

 cat /dev/urandom | tr -dc '[:alnum:]' | fold -w ${1:-20} | head -n 1