воскресенье, 25 мая 2014 г.

Установка и настройка TFTP сервера в CentOS

Устанавливаем TFTP сервер и TFTP клиент
#yum install tftp-server
#yum install tftp

Добавляем пользователя tftp сервера
#adduser tftpd
#chown tftpd:tftpd /var/lib/tftpboot

Директория, которая, будет корневой у TFTP сервера:
/var/lib/tftpboot
Пока тут пусто.

Разрешаем коннект к TFTP серверу. Открываем порт 69 в iptables
#iptables -I INPUT -p udp --dport 69 -j ACCEPT
#service iptables save

Редактируем конфигурационный файл TFTP сервера:
#nano /etc/xinetd.d/tftp
Здесь меняем две переменные: server_args и disable.
Переменным задаем следующие значения:
   server_args   = -c -p -u tftpd -U 117 -s /var/lib/tftpboot
   disable       = no

Стартуем сервер TFTP. Отдельного такого сервера нет, он работает вместе с сервером xinetd.
Поэтому запускаем его.
#service xinetd start
#chkconfig xinetd on

Проверка работы
1. С роутера Cisco сохраняем конфигурацию:
R2#copy running-conf tftp://10.200.16.222
Address or name of remote host [10.200.16.222]?
Destination filename [r2-confg]?
!!
32003 bytes copied in 0.352 secs (90918 bytes/sec)
Здесь адрес 10.200.16.222 - это адрес нашего TFTP сервера
2. Проверка с машины, на которой установлен TFTP сервер:
- Создаем тестовый файл, к примеру 123.
#touch 123
- Подключаемся к серверу 
#tftp 127.0.0.1
- Заливаем файл на сервер командой put
tftp>put 123
3. Проверяем, что в папке /var/lib/tftpboot, что-то появилось:
# ls -l /var/lib/tftpboot
итого 36
-rw-rw---- 1 tftpd tftpd     9 Май 25 22:07 123
-rw-rw---- 1 tftpd tftpd 32003 Май 25 22:07 r2-confg

вторник, 20 мая 2014 г.

Файл htaccess сервера Apache и запрет автоматического открывания файла браузером.

Иногда необходимо с помощью web-сервера Apache ограничить доступ пользователя к какой-то определенной директории или изменить поведение сервера Apache для определенной папки. Это делается добавлением файла .htaccess в директорию и записью в файл определенных команд.

Мне потребовалось сделать так, что бы при обращении пользователя по ссылке к файлам из определенной директории, файл не открывался браузером автоматически сразу, а предлагал диалоговое окно: скачать файл или запустить файл или что бы браузер просто скачивал файл.

Что бы вообще в принципе читался файл .htaccess и воспринимались команды из этого файла необходимо в настройках Apache в файле /etc/httpd/conf/httpd.conf заменить в разделе <Directory "/var/www/html">:
AllowOverride None 
на 
AllowOverride All

Затем создать сам файл .htaccess
touch /var/www/html/.htaccess

Запустить любимый редактор nano
nano /var/www/html/.htaccess

И добавить в файл строки:
AddType application/octet-stream .pdf
AddType application/octet-stream .mp3
<files *.mp3>
forceType application/octet-stream
Header set Content-Disposition attachment
</files>

Перезапустить apache
service httpd restart

Теперь файлы mp3 и PDF будут скачиваться без автоматического открытия файла.

воскресенье, 11 мая 2014 г.


Установка пакета mp3info в CentOS 6.5

Потребовалось недавно на Linux из командной строки узнавать длительность звучания Mp3 файла. Задача была решена с помощью пакета mp3info.

Процесс установки:
1. Качаем RPM пакет
#wget ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-0.8.5a-1.i386.rpm

2. Пробуем его установить, но получаем ошибку:
# rpm -ivh mp3info-0.8.5a-1.i386.rpm
    ошибка: Неудовлетворенные зависимости:
    libatk-1.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libc.so.6 нужен для mp3info-0.8.5a-1.i386
    libc.so.6(GLIBC_2.0) нужен для mp3info-0.8.5a-1.i386
    libc.so.6(GLIBC_2.1) нужен для mp3info-0.8.5a-1.i386
    libc.so.6(GLIBC_2.3) нужен для mp3info-0.8.5a-1.i386
    libcairo.so.2 нужен для mp3info-0.8.5a-1.i386
    libdl.so.2 нужен для mp3info-0.8.5a-1.i386
    libgdk-x11-2.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libgdk_pixbuf-2.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libglib-2.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libgmodule-2.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libgobject-2.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libgtk-x11-2.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libm.so.6 нужен для mp3info-0.8.5a-1.i386
    libncurses.so.5 нужен для mp3info-0.8.5a-1.i386
    libpango-1.0.so.0 нужен для mp3info-0.8.5a-1.i386
    libpangocairo-1.0.so.0 нужен для mp3info-0.8.5a-1.i386


3. Выполняем установку так:
# yum install mp3info-0.8.5a-1.i386.rpm

4. Проверяем, что пакет установился и откликается на команды:
# mp3info -help
MP3Info 0.8.5a Copyright (C) 2006 Cedric Tefft and Ricardo Cerqueira

Теперь что бы узнать длительность звучания файла 26042014-161136-88463108088-9735839.mp3 нужно выполнить:
# mp3info -x /mnt/recsource/26042014-161136-88463108088-9735839.mp3
/mnt/recsource/26042014-161136-88463108088-9735839.mp3 does not have an ID3 1.x tag.
File: /mnt/recsource/26042014-161136-88463108088-9735839.mp3
Media Type: MPEG 2.5 Layer III
Audio: 16 KB/s, 8KHz (mono)
Emphasis: none
CRC: No
Copyright: No
Original: Yes
Padding: No
Length: 0:20


Длительность будет записана в строчке Length.

Полезные ссылки
http://www.ibiblio.org/mp3info/