середу, 13 лютого 2013 р.

Установка Интернет радио на Ubuntu Server 12.04

Техническое задание:
1)Собрать Интернет радио на основе IceCast2 и Ices0.4
2)Научить все это дело воспроизводить mp3

Итак прежде чем устанавливать IceCast2, нам нужны некоторые библиотеки:
libshout-dev
libmp3lame-dev
libxml2-dev
К счастью они есть в репозитории и их можно установить одной командой
sudo apt-get install libshout-dev libmp3lame-dev libxml2-dev
sudo apt-get build-dep libpcre3 
После установки всех нужных библиотек нужно приступать к установке Ices0.4. К сожалению его нет в репозитории, поэтому будем его собирать вручную.
wget http://www.centova.com/clientdist/ices/ices-cc-0.4.2.tar.gz 
tar -zxvf ices-cc-0.4.2.tar.gz 
cd ices-cc-0.4.2 
./configure 
make 
make install

Далее установим IceCast2 Server, он есть в репозитории, поэтому просто напишем команду
apt-get install icecast2
Теперь у нас все что надо установлено, осталось только настроить.

1) Настройка IceCast2
Конфиг его храниться тут /etc/icecast2/icecast.xml
Содержание его такое(я убрал их комментарии и вставил свои)
<icecast>
<limits>
<clients>100</clients><!-- Количество клиентов -->
<sources>2</sources><!-- Количество одновременных каналов вещания -->
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
<authentication><!-- В этой секции настраиваются пароли админа, ведущих и релай -->
  <source-password>hackme</source-password> <!-- Пароль для ведущих -->
  <relay-password>hackme</relay-password> <!-- Пароль для релая -->
<admin-user>admin</admin-user> <!-- Логин админа -->
  <admin-password>hackme</admin-password> <!-- Пароль админа -->
</authentication>
<hostname>localhost</hostname> <!-- Настройка адреса сервера IP или домен -->
<listen-socket>
<port>8000</port>
</listen-socket>
<fileserve>1</fileserve>
<mount>
<mount-name>/live</mount-name>
<fallback-mount>/nonstop</fallback-mount>
<charset>utf-8</charset>
<fallback-override>1</fallback-override>
</mount> 
<paths>
<basedir>/usr/share/icecast2</basedir>
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<alias source="/" dest="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel>
<logsize>10000</logsize>
</logging>
<security>
<chroot>0</chroot>
</security>
</icecast>

Теперь можно попробовать запустить наш сервер, делается это командой
service icecast2 start
Если у вас возникла ошибка:
Icecast2 daemon disabled – read /etc/default/icecast2
то надо просто в файле /etc/default/icecast2
исправить параметр enable=true
И потом попробовать заново запустить.
Если все сделано правильно, то можно попробовать зайти на localhost(или ip адрес):8000

2) Настройка Ices
Конфиг его лежит тут /usr/local/etc/ices.conf.dist, но его надо либо скопировать либо переименовать в ices.conf
Вот его содержание с моими комментариями
<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
<Playlist>
<File>/mnt/playlist.txt</File>
<Randomize>1</Randomize> <!-- Настройка перемешивания треков, 1 – перемешивать 0 – играть по порядку -->
<Type>builtin</Type>
<Module>ices</Module>
</Playlist>
<Execution>
<Background>1</Background> <!-- 1-запуск как демон -->
<Verbose>0</Verbose>
<BaseDirectory>/tmp</BaseDirectory>
</Execution>
<Stream>
<Server> <!-- Настройки подключения к серверу -->
<Hostname>localhost</Hostname>
<Port>8000</Port>
  <Password>hackme</Password>
<Protocol>http</Protocol>
</Server>
<Mountpoint>/nonstop</Mountpoint>
<Name>MyFirstStream</Name> <!-- Название канала -->
<Genre>Unknow</Genre> <!-- Жарн -->
<Description>This is my first channel</Description> <!-- Описание -->
<URL>http://localhost/</URL>
<Public>1</Public>
<Bitrate>128</Bitrate> <!-- Настройка битрейта -->
<Reencode>0</Reencode>
<Channels>2</Channels>
</Stream>
</ices:Configuration>
Теперь осталось только создать плей-лист
 Предположим у вас есть каталог с mp3, например тут /mnt/sound
find /mnt/sound/ -name '*.mp3' -exec echo '{}' \; > /mnt/playlist.txt
Теперь запускаем Ices
ices -c /usr/local/etc/ices.conf
Если не запускается, то можно использовать
ices
Если вы оставили конфиг как в примере, то чтобы услышать музыку нужно зайти http://localhost(либо IP или домен):8000/first.m3u

Осталось только автозапуск ices замутить, я сделал это так
в /etc/rc.local добавил строку перед exit 0
/usr/local/bin/ices
перезагрузил и все заработало!!!

вівторок, 12 лютого 2013 р.

Как установить webmin на Ubuntu Server 12.04

Webmin — веб-интерфейс для системного администрирования Unix. Используя любой современный веб-браузер, вы можете настраивать пользовательские аккаунты, Apache, DNS, обмен файлами и многое другое. Webmin избавляет нас от необходимости вручную редактировать конфигурационные файлы Unix, например /etc/passwd, и позволяет вам управлять системой удалённо

Подготовка системы

Откройте терминал и выполните следующую команду:

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Теперь вам нужно загрузить deb-пакет webmin, используя следующую команду:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.580_all.deb

Установите этот пакет, используя следующую команду:
sudo dpkg --install webmin_1.580_all.deb
 Это установит webmin, теперь нам нужно перейти на https://ip-адрес-сервера:10000

суботу, 5 січня 2013 р.

MDI - интерфейс зависящий от передающей среды

Существует 3 типа порта MDI, MDIX, Auto-MDIX. Отличаются они лишь тем, что у разных типов портов, разные контакты используются для приема и передачи сигнала.
MDI

Как правило MDI это порт абонентского устройства (например сетевой карты компьютера). Для того что бы соединить MDI порт с MDIX портом требуется прямой кабель, если же вам потребуется соединить два MDI порта (например 2 компьютера), то вам потребуется перекрестный (crossover) кабель. В MDI портах 1 и 2 контакты используются для передачи сигнала, 3 и 6 контакты для приема сигнала.


MDIX порты как правило используются в хабах и свитчах. Что бы соединить два MDIX порта (например соединить два хаба), потребуется перекрестный (crossover) кабель. В MDIX портах 1 и 2 контакты используются для приема сигнала, 3 и 6 контакты для передачи сигнала.

 Auto-MDIX

Ethernet интерфейс Auto-MDIX способен автоматически определять какой вид порта требуется, при использовании Auto-MDIX тип используемого кабеля не имеет значения. Можно использовать как прямой, так и перекрестный кабель.

Схемы обжима витой пары

Обжим прямого кабеля

Прямой кабель служит для соединения типа компьютер-свитч/хаб, свитч/хаб-маршрутизатор. Выражаясь более научно, прямым кабелем соединяют порты типа MDI с MDIX.
Для для того, что бы обжать витую пару, вам потребуется коннекторы RJ45 (являются одноразовыми) и обжимные клещи (если нет обжимных клещей, можно обойтись обычной отверткой).
Схема обжима прямого кабеля по стандарту EIA/TIA-568B (самый распространенный стандарт)

Схема обжима прямого кабеля по стандарту EIA/TIA-568A

Обжим перекрестного кабеля (Crossover)

Перекрестный кабель служит для соединения типа компьютер-компьютер, свитч/хаб-свитч/хаб, маршрутизатор-маршрутизатор, то есть портов одинакового типа MDI-MDI, MDIX-MDIX.
Схема обжима перекрестного кабеля Crossover Fast Ethernet (для соединения на скорости 100 мегабит/с)


Схема обжима перекрестного кабеля Crossover Gigabit Ethernet (для соединения на скорости 1000 мегабит/с, 1 гигабит/с)