середу, 16 січня 2008 р.

Добавление репозитария в yum

Хорошая штука всё-таки yum, позволяет устанавливать и обновлять пакеты и всё НАШАРУ
Но в стандартных репозитариях есть не всё что меня интересует, для такого случая есть хороший репозитарий DAG, как его устанавливать конечно-же есть в хелпе на сайте DAG. Но я всё-же напишу, чтобы потом самому не искать.


Я надеюсь что-вы не успели снести yum, если не успели - смотрим дальше.
1. Качаем пакет rpmforge под свою платформу. У меня стоит CentOS 5.1 поэтому я выбирал RedHat EL5-i386.
Я лично качал wget'ом сразу на систему.
Устанавливаем ключ
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Проверяем скачаный пакет rpmforge
rpm -K rpmforge*

Должно написать, что всё ОК
Теперь устанавливаем:
rpm -i rpmforge*

Тут вроде бы всё но у меня был один лаг связаный с настройкой сети лично у меня. Доступ в инет у меня через прокси с авторизацией, а так как я не знаю как указать прокси и логин/пароль для всей системы то ставил их отдельно для yum'a и для wget'a.
Для yum'a прописываем их так:

proxy=http://server_name:port_number/
proxy_name=user_name
proxy_password=your_password

Главное в этих строчках не поставить кавычки.
Для wget'а раскоментируем строчку и записываем в таком формате

http_proxy=http://proxy_user:proxy_password@server_name:port_number/


вівторок, 15 січня 2008 р.

Запись разговоров в Asterisk

Так как по работе часто приходится звонить на телефоны разнообразных техподдержек, то часто слышишь, что ведется запись разговора. Захотелось и мне такую штуку сделать, чтобы потом можно было доказать, что ты не слон и говорил именно то, что говорил, а не то что подумали на той стороне телефонной трубки.


Путем сложных поисков в гугле нашел несколько способов записи разговоров, но всё они записывали в wav и размер был соответствующим, а это меня не устраивало, как говорится в одном анекдоте: появился анлимный инет, осталось найти анлимный винт. Была у меня сначала идея регулярно переобжимать в mp3. Но потом нашёл параметры чтобы сразу после разговора обжималось с wav в mp3.

exten => 3,n, Set(CALLFILENAME=${STRFTIME(${EPOCH},,%y-%m-%d__%H-%M)}_${CALLERID(name)});
exten =>; 3,n, Set(monopt=nice -n 19 /usr/bin/lame -b 16 --noshort --silent "/var/spool/asterisk/monitor/${CALLFILENAME}.wav" "/var/spool/asterisk/monitor/${CALLFILENAME}.mp3" && rm -f "/var/spool/asterisk/monitor/${CALLFILENAME}.wav")
exten => 3,n, MixMonitor(${CALLFILENAME}.wav|b|${monopt});
exten => 3,n, Dial(SIP/7002&SIP/7003,20,tTm)
exten => 3,n, GotoIfTime(10:00-19:00|mon-fri|*|*?mobiln-admin,1)
exten => 3,n, StopMonitor;

По поводу параметров lame, эти были подобраны опытным путем, вроде как самый малый размер чтобы нормально послушать.
Да, кстати, разговор пишется только если на второй стороне взяли трубку, то есть файл не пустой.

понеділок, 14 січня 2008 р.

Маленькая настройка ssh

Не забываем что я ламер в линухе и поэтому пишу в основном для себя, вот здесь опишу хотя бы минимальные изменения в ssh для безопасной работы.

В принципе можно работать и со стандартной настройкой ssh, но лучше немного зачистить для безопасности.
1. И самое главное - изменить порт для ssh, его можно поменять в файле /etc/ssh/sshd_config просто раскоментируем строчку и меняем циферку:

Port 1936

2. Запрещаем root'у подключатся к серверу напрямую (мы же умные мы себе права судо дали). Для этого находим и раскоментируем в том же файле строчку:
PermitRootLogin no


Не забываем для поиска инфы пользоваться дядюшкой гуглом и таким суперским ресурсом как OpenNet. В частности эту инфу я выцепил со странички там же на ОпенНет'е

Упаковка/распаковка командой "tar" и монтирование cdrom

Так я только постигаю азы Линуха, то приходится шарится в поисках базовых знаний, так чтобы этого не делать, решил выложить из ссылок себе в блог архивирование tar и монтирование cdrom

Как запаковать/распаковать файлы/каталоги на сервере
1. запаковать файлы и каталоги

    tar czf имя_архива список_файлов - например: tar czf arch.tar.gz file.txt~/scripts

распаковать такой архив:
    tar xzf arch.tar.gz

2. запаковать один файл
    gzip file.gz file.txt

распаковать:
    gunzip arch.tar.gz

3. распаковать zip
    unzip arch.zip

4. распаковать tar
    tar xf arch.tar

5. распаковать bz2
    bunzip arch.bz2



Как правильно смонтировать CD-ROM?
В /dev можно сделать ссылку c названием cdrom на /dev/hdx, где x - IDE-устройство. Для scsi-устройств, или ide, работающих в режиме
эмуляции scsi это может быть scdX.

    /etc/fstab:
    /dev/cdrom /mnt/cdrom iso9660 user,unhide,noauto,owner,ro,users,iocharset=koi8-r 0 0

После этого cdrom можно монтировать командой mount /dev/cdrom.

Если используемая locale utf8, а не koi8-r, то iocharset=utf8.


Установка Asterisk



Когда я захотел установить Asterisk на CentOS пришлось перелопатить кучу инфы чтобы найти всё что мне надо.
Asterisk 1.4.17 on CentOS 5.1
Для начала скачиваем Asterisk c
http://downloads.digium.com/pub/asterisk/


И так приступаем к сборке Asterisk 1.4
Посмотрим на релиз ядра:
# uname -r
2.6.18-53.1.4.e15


Сперва устанавливаем пакеты необходимые для работы.
yum -y install kernel-devel gcc ncurses-devel openssl-devel gcc-c++ gnutls-devel make
ln -s /usr/src/kernels/2.6.18.-53.1.4.e15-i686/ /usr/src/linux
yum -y install iftop
yum -y install libtool-ltdl libtool-ltdl-devel
yum -y install iksemel
yum -y install curl curl-devel newt newt-devel net-snmp net-snmp-libs
yum -y install glibc-devel kernel-header db-devel gcc cpp binutils bison expat-devel ncurses openssl openssl-devel


ВНИМАНИЕ: у Вас может быть другой путь к исходникам ядра

Устанавливаем Zaptel
cd /usr/src/zaptel-1.4.7.1/
make clean
make
make install
make install-udev
make config

Во время зборки может произойти ошибка пофиксить ее просто заменив в файле /usr/src/zaptel-1.4.7.1/xpp/xbus-core.c следущющую строку

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) на
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)

Запускаем zaptel

/etс/init.d/zaptel start


Устанавливаем LibPRI

cd /usr/src/libpri-1.4.1/
make clean
make
make install


Устанавливаем Asterisk

cd /usr/src/asterisk-1.4.11/
make clean
./configure
make
make install
make samples
make progdocs
make config


Устанавливаем Perl Модуль
скачиваем с сайта http://asterisk.gnuinter.net/files/ последнюю версию asterisk-perl-0.10

cd /usr/src/asterisk-perl-0.10
perl Makefile.PL
make all
make install


Далее собираем дополнения
cd /usr/src/asterisk-addons-1.4.5
./configure
make
make install


Всё готово, просматриваем всё-ли стартует при старте системы, команда "setup"

Мой блог

Наконец-то и я поддался всеобщей манечке создания блогов. Правда это для меня вынужденный ход. Я в последнее время заметил, что ссылки из моего избранного становятся недоступными, а там бывали и интересные статьи и ссылки, поэтому сюда я буду копировать статьи которые интересны мне или нужны мне для работы. Иногда, наверное, буду постить и собственные заметки, меня тоже иногда посещают умные мысли. Может этот блог будет интересен ещё кому-то.