Создание и настройка локального веб-сервера (Часть 1)

Локальный веб-сервер — крайне необходимая утилита для любого веб-разработчика. Для платформы windows существую готовые пакеты, типа LAMP или Denwer, которые полностью избавляют пользователя от необходимости настройки чего-либо вручную.

Изначально веб-серверная платформа была именно на базе *nix систем, а уже затем все нужные приложения были портированы на Windows и другие платформы. Таким образом, *nix системы имеют все необходимое программное обеспечение для веб-разработки и не только.

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

Монитор системных ресурсов Munin

В связи с переездом на VDS возникла большая необходимость получать оперативную информацию о текущем состоянии всей системы. Конечно, можно обойтись доступом по SSH и в нужное время лазить на сервер, запускать htop и смотреть, что к чему.

Мониторим системные ресурсы htop'ом

Мониторим системные ресурсы htop'ом

Аниме: Манга про Ubuntu. Том 2

Совсем забыл, что вышел уже второй том (а здесь можно скачать первый) замечательной манги, посвященный самому популярному дистрибутиву Linux — Ubuntu.

Ubunchu!

Linux: Установка Windows на виртуальную машину

Поработав как с Windows, так и с Linux начинаешь прекрасно понимать, что у каждого инструмента свое применение. UNIX-подобные системы прекрасно подходят для стабильных веб-приложений, в то время как Windows системы намного удобнее для рядового пользователя, которому намного интереснее перекладывать карты в косынке, чем прочитать одну нструкцию, в которой расписано четко и понятно все то, что он делал и так каждый день.

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

Как и везде рекомендуют, стоит начать с Wine, скачать, установить и попробовать что-нибудь запустить из привычных приложений.

[sourcecode]

$ sudo apt-get install wine

[/sourcecode]

Вещаем музыку в сеть: Icecast

В давние-давние времена, когда пользователей в нашей сети было не так много и сервера большую часть времени простаивали, руки страшно чесались их чем-нибудь нагрузить. Время от времени на них пережималось видео, время от времени я md5 хэши на них подбирал (хорошо, начальство не знает, наверное).

Основная цель была, тем не менее, не обеспечение непрерывной нагрузки серверов, а обеспечение пользователей дополнительными сервисами в рамках сети. Одним из первых сервисов стало он-лайн радио, которое постепенно выросло из папки с музыкой на внутреннем FTP-сервере.

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

Простые опыты по трансляции музыки в сеть начались в домашней сети и были намечены два программных продукта, на мой взгляд 100% удовлетворявшим всем моим требованиям. Это сервер потокового вещания аудио Icecast и утилита для отсылки аудиопотока на сервер для вещания Ices. Эти две программы позволяют создать 100% функциональный сервер потокового аудио.

Установка этих приложений из приложений предельна проста (но может быть различие в названии пакета в зависимости от дистрибутива):

sudo apt-get install icecast

sudo apt-get install ices

После установки пакетов создаются необходимые конфиги и аудио сервер, в целом, готов к использованию.  Я устанавливал эти приложения из исходников, поэтому конфиги создавал и правил в ручную, Вам, я надеюсь, этого не потребуется. Хотя, хочу отметить некоторые их инетерсные места (конфигов, ествественно):

ices.conf.xml

<?xml version=»1.0″?>
<ices:Configuration xmlns:ices=»http://www.icecast.org/projects/ices»>
<Playlist>
<Randomize>1</Randomize>
<File>/var/radio/playlist.txt</File>
<Type>builtin</Type>
<Module>ices</Module>
</Playlist>
<Execution>
<Background>1</Background>
<Verbose>0</Verbose>
<BaseDirectory>/tmp</BaseDirectory>
</Execution>
<Stream>
<Server>
<Hostname>127.0.0.1</Hostname>
<Port>8000</Port>
<Password>hackme</Password>
<Protocol>http</Protocol>
</Server>
<Mountpoint>/radio</Mountpoint>
<Dumpfile>ices.dump</Dumpfile>
<Name>Default stream</Name>
<Genre>Default genre</Genre>
<Description>Default description</Description>
<URL>http://localhost/</URL>
<Public>0</Public>
<Bitrate>128</Bitrate>
<Reencode>0</Reencode>
<Samplerate>44100</Samplerate>
<Channels>2</Channels>
</Stream>
</ices:Configuration>

Все поля конфигурационного файла, в целом, очевидны.  Остановиться хочу только на поле File — это путь к файлу плейлиста.

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

Создаем файл /etc/init.d/radio, например, даем ему права на исполнение sudo chmod +x /etc/init.d/radio

Содержимое файла следующее:#! /bin/bash

# Убиваем все старые на всякий случай
killall ices
killall icecast

/usr/local/bin/icecast -b -c /etc/icecast.xml

# Пишем запись в лог

date >> /var/log/radio/service.log
echo ‘Убита предыдущая версия процессов’ >> /var/log/radio/service.log;

# Удаляем предыдущий файл плейлиста

rm /var/log/radio/playlist.txt
rm /var/log/radio/playlist_trance.txt

# Создаем новый

#ls /var/ftp_radio/ | grep .mp3 | sed ‘s/^(.*)/../1/’ > /var/log/radio/playlist.txt

find /var/ftp/pub/Media/Audio/Unsorted | grep .mp3 > /var/log/radio/playlist.txt
find /var/ftp/pub/Media/Audio/Trance | grep .mp3 > /var/log/radio/playlist_trance.txt
find /var/ftp/pub/Media/Audio/Rock | grep .mp3 > /var/log/radio/playlist_rock.txt

# Запускаем вещалку в фоновом режиме

/var/log/radio/ices -B -c /etc/ices.conf
/var/log/radio/ices -B -c /etc/ices_rock.conf
/var/log/radio/ices -B -c /etc/ices_trance.conf

# Пишем в лог

date >> /var/log/radio/service.log
echo ‘Радио запущено’ >> /var/log/radio/service.log

Здесь я запускаю на одном сервере вещания три потока. При необходимости вы можете изменить скрипт под свои нужды.

Чтобы вещание радио запусукалось каждый раз при старте системы нужно сделать

sudo rc-update add radio default

Из недостатков следует отметить тот факт, что три потока радио грузят среднюю машину (с селероном 2 ГГц и 1 Гб ОЗУ) почти на 80%.

Страница 3 из 512345
РЕКЛАМА
СЧЕТЧИКИ
 
ДРУЗЬЯ САЙТА
МОИ ПРОЕКТЫ
  • theLesenok.ru
  • 7genkov.ru