Попытка_№_1_ Домашний
сервер IP телефонии на UBUNTU
(попытка
начинающего набить собственные шишки.. сразу скажу – попытка удалась J)
Статья-учебник:
Корпоративный VOIP-сервер на базе Asterisk,
http://ithouse.spb.ru/?p=14
Наша задача:
поднять домашний сервер IP телефонии на
UBUNTU с несколькими SIP провайдерами, несколькими софт-телефонами и одним
аппаратным (BW-210).
Оборудование:
Asterisk-сервер
на старом ПК (500 Мгц, 512 Мб, 10 Гб)
2 современные Windows-машины (моя и жены)
Виртуальные машины Linux по необходимости
SIP-телефон
BW-210
Сначала попробуем
установить Ubuntu 8.04 LTS Server Edition как виртуальную машину под
VirtualBox:
В VirtualBox для созданной машины выбираем Сеть-Тип
подключения-Сетевой мост. Тогда машина будет видна в локальной сети (надеюсь, у
Вас она есть…).
Итак, ставим Ubuntu:
(ядро 2.6.24.16)
задаем статический IP-адрес 192.168.0.14 (в моей сети стат.
адреса)
шлюз для выхода в И-нет: 192.168.0.201 (адрес ADSL-модема)
отмечаем LAMP (Linux Apache MySQL PHP)
OpenSSH server (для удаленного доступа к серверу)
Samba File
server (для архивирования информации на другие машины)
Входим в систему как user и задаем
пароль для root:
sudo passwd
root
Выходим из системы и входим как root (далее будем работать
как root, для домашней экспериментальной сети, думаю, это не криминально…).
Проверяем доступ по
ssh:
На Windows-машине запускаем PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html), вводим 192.168.0.14 и
подключаемся! PuTTY, кроме прочего, удобен тем, что имеет полосы прокрутки и
позволяет видеть всю информацию, выводимую на экран.
На Windows-машине запускаем WinSCP (http://winscp.net/)
– удобный клиент для просмотра, редактирования и копирования файлов.
(1-я ошибка: смешение дистрибутивов!)
Чтобы избежать лишнего скачивания с И-нета, добавляем в
репозитарий 4 DVD Debian 4.0:
apt-cdrom
add
Смотрим /etc/apt/sources.list (в WinSCP находим этот файл и
нажимаем F4-редактировать) – DVD-источники стоят перед
интернет-источниками (надеемся, что информация сначала будет браться с
них…).
- дистрибутив Ubuntu почему-то помечен restricted
Устанавливаем необходимые пакеты:
# aptitude install make gcc cpp g++
- нет – обновление пошло из интернета – отключаем
интернет любым способом и повторяем
# aptitude install make gcc cpp g++
-лезет в интернет, а DVD брать не хочет!
Удаляем (предварительно сделав копию!) из /etc/apt/sources.list все
интернет-адреса и делаем
# aptitude install make gcc cpp g++
# aptitude install linux-headers-`uname -r` bison
ncurses-dev mysql-client libmysqlclient-dev libnewt-dev php5-gd libxml2
libxml2-dev libopenh323-dev mc htop
Получили ошибки:
dpkg - warning: downgrading mysql-server-5.0 from
5.0.51a-3ubuntu5 to 5.0.32-7etch6.
dpkg - warning: downgrading mysql-client-5.0 from
5.0.51a-3ubuntu5 to 5.0.32-7etch6.
dpkg - warning: downgrading libnewt0.52 from
0.52.2-11.2ubuntu1 to 0.52.2-10.
dpkg - warning: downgrading libsasl2-2 from
2.1.22.dfsg1-18ubuntu2 to 2.1.22.dfsg1-8.
dpkg - warning: downgrading libsasl2-modules from
2.1.22.dfsg1-18ubuntu2 to 2.1.22.dfsg1-8.
dpkg - warning: downgrading libxml2 from
2.6.31.dfsg-2ubuntu1 to 2.6.27.dfsg-2.
dpkg - warning: downgrading libapache2-mod-php5 from
5.2.4-2ubuntu5 to 5.2.0-8+etch11.
dpkg - warning: downgrading php5-common from 5.2.4-2ubuntu5
to 5.2.0-8+etch11.
(т.е. произошла замена на более
старые версии и из другого дистрибутива)
* /etc/init.d/mysql:
ERROR: Using expire_logs_days without log_bin crashes the server. See
README.Debian.gz
invoke-rc.d: initscript mysql, action "start"
failed.
dpkg: error processing mysql-server-5.0 (--configure):
subprocess
post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.0
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.
Trying to recover:
Setting up mysql-server-5.0 (5.0.32-7etch6) ...
* Stopping MySQL
database server mysqld [ OK ]
* /etc/init.d/mysql:
ERROR: Using expire_logs_days without log_bin crashes the server. See
README.Debian.gz
invoke-rc.d: initscript mysql, action "start"
failed.
dpkg: error processing mysql-server-5.0 (--configure):
subprocess
post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.0
(что-то нехорошее случилось с
MySQL-сервером)
Пытаемся переустановить mysql-server – не получается
Устанавливаем Asterisk
Я скачал asterisk-1.6.2.0.tar.gz
Вы можете скачать на Windows-машину любым способом или сразу
на Ubuntu-машину с сервера Digium:
# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.6.2.0.tar.gz
Копируем пакет в
/usr/src
и распаковываем:
tar zvxf
asterisk-1.6.2.0.tar.gz
Переходим в полученную
папку:
cd
/usr/src/asterisk-1.6.2.0
И ставим сам Астериск:
# ./configure
error: C compiler cannot create executables (нет библиотеки libc6-dev)
-разкавычиваем
в sourses.list дистрибутив Ubuntu (он был restricted!?)
aptitude install libc6-dev
./configure
error: C++ preprocessor "/lib/cpp" fails sanity
check (нет g++)
aptitude install g++
./configure
error: ***
termcap support not found
-could not
find... (libtermcap-devel package is not installed)
Восстанавливаем оригинальный /etc/apt/sources.list
aptitude update (восстанавливает перечень файлов из
интернет-серверов)
aptitude install libtermcap-devel
-не
найден
aptitude install libtermcap
-не найден
В интернете нашел только .rpm-пакет для libtermcap-devel
(знаю, как .rpm преобразовать в .deb-пакет)
На этом Попытка №1 закончилась … неудачей.