Установка DLNA на домашний сервер

DLNA-сервер позволяет организовать удобный просмотр медиа контента по протоколу DLNA/UPnP и его централизацию. В одной домашней сети сможете просматривать видео, фото и слушать музыку по сети, даже через wi-fi.

cd /opt/ — в этот каталог обычно закачивают инсталяционные пакеты теперь воспользуемся пакетом wget если его нет то ставим yum install wget выполним команду

wget http://downloads.sourceforge.net/project/minidlna/minidlna/1.0.24/minidlna_1.0.24_src.tar.gz

в каталоге появится файл minidlna_1.0.24_src.tar.gz распакуем его

tar -zxvf ./minidlna_1.0.24_src.tar.gz

появится каталог minidlna-1.0.24 заходим в него

cd ./minidlna-1.0.24

установим окружение

yum install {flac,libogg,libid3tag,libexif,sqlite,ffmpeg,libvorbis,libjpeg}-devel gcc

теперь соберем пакет выполнив команду

make

     Если make выдал сообщение о нехватке библиотек установите это:

Репозитарий EPEL.

32 Bit # rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

или

64 Bit # rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

и

rpm -ivh http://download1.rpmfusion.org/free/el/updates/6/x86_64/rpmfusion-free-release-6-1.noarch.rpm
yum install ffmpeg ffmpeg-compat ffmpeg-compat-devel ffmpeg-devel ffmpeg-libs

и 

make install

что автоматически уложит файлы в нужные каталоги установив miniDlna,

Скрипт запуска сервера

nano /etc/init.d/minidlna

поместим в него это

#! /bin/sh

# chkconfig: 345 99 10
# description: Fedora Startup/shutdown script for MiniDLNA daemon

# If you have chkconfig, simply:
# chkconfig --add minildna

# Proper init scripts on Linux systems normally require setting lock
# and pid files under /var/run as well as reacting to network
# settings, so you should treat this with care.

# Original author:  Perry Clark <omfgppc (at) gmail.com>

## EDIT FROM HERE

# Installation details
MINIDLNA="/usr/sbin/minidlna"
ARGS="/etc/minidlna.conf"

# Where to keep a log file
MINIDLNA_LOG="/var/log/minidlna.log"

# Where the PID lives
PID_FILE="/var/run/minidlna.pid"

## STOP EDITING HERE

# The path that is to be used for the script
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

set -e

# Only start if we can find the minidlna.conf.
test -x $MINIDLNA || exit 0

# Parse command line parameters.
case $1 in
  start)
	echo -n "Starting MiniDLNA: "
	$MINIDLNA -f $ARGS -P $PID_FILE  >> $MINIDLNA_LOG 2>&1
	echo "ok"
	;;
  stop)	
 	echo -n "Stopping MiniDLNA: "
	   for pidf in `/bin/ls $PID_FILE 2>/dev/null`; do
            if [ -s $pidf ]; then
                kill `cat $pidf` >/dev/null 2>&1
            fi
			rm -rf $PIF_FILE
	   done	
	echo "ok"
	;;
  restart|reload|force-reload)
	echo "Restarting MiniDLNA: "
	
    $0 stop
	sleep 2
	$0 start
	
	;;
  *)
	# Print help
	echo "Usage: /etc/init.d/minidlna {start|stop|restart|reload|force-reload}"
	exit 1
	;;
esac

exit 0

Жмем Ctrl+O и Ctrl+X и назначаем ему права

chown root:root /etc/init.d/minidlna
chmod 755 /etc/init.d/minidlna

и скопируем конфиг (если ставили версию 1.0.24)

cp /opt/minidlna-1.0.24/minidlna.conf /etc/minidlna.conf

Настройка

nano /etc/minidlna.conf

и приведем к такому виду

port=8200

Если у вас 2 сетевые , обратите внимание на интерфейс по которому сервер будет раздавать контент

network_interface=eth0

это расположение нашего контента, в большом хранилище на котором надо создаем конечные каталоги
media_dir=A,/Home/Музыка
media_dir=V,/Home/Видео
media_dir=P,/Home/Фотографии

Назовем свой сервер
friendly_name=Супер DLNA Server

db_dir=/var/cache/minidlna каталог надо создать
log_dir=/var/log
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg

/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=60
serial=12345678
model_number=1

Открываем порты

Жмем Ctrl+O и Ctrl+X  и в nano /etc/sysconfig/iptables откроем порт 8200 строкой

-A INPUT -s 192.168.0.0/24 -m state —state NEW -p tcp —dport 1900 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state —state NEW -p udp —dport 1900 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state —state NEW -p tcp —dport 8200 -j ACCEPT

Жмем Ctrl+O и Ctrl+X выполним команды

service iptables restart

добавим сервер в автозагрузку

chkconfig minidlna on

Запускаем сервер

service minidlna start

    Если не получается запустить можно тупо прописать в /etc/rc.local это

/usr/sbin/minidlna -d -f /etc/minidlna.conf &

Проверим статус сервера miniDLNA

Пишем в окне браузера — http://localhost:8200

Если все успешно сделали, то увидим в окне MiniDLNA status

Просматриваем список пользователей в Linux

Полный список пользователей

cat /etc/passwd

Если ИД у пользователя имеет меньше четырех цифр, то это системные данные, в которые вносить изменения крайне нежелательно. Дело в том, что они создаются самой ОС в процессе установки для обеспечения наиболее безопасной работы большинства сервисов.

Читать далее «Просматриваем список пользователей в Linux»

Настройка синхронизация времени по NTP в CentOS

Вы можете настроить автоматическую синхронизацию времени на вашем сервере с внешним NTP (Network Time Protocol) сервером. Для этого нужно установить сервис ntp. Например, в CentOS 7 установка выполняется через yum:

yum install ntp -y

После установки, нужно запустить сервис ntpd и добавить его в автозагрузку:

service ntpd start
или
systemctl start ntpd.service
systemctl enable ntpd.service

Добавим в автозагрузку

chkconfig --levels 235 ntpd on

В файле /etc/ntp.conf нужно указать сервера, с которыми нужно синхронизировать время:

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

Синхронизация времени выполняется последовательно. Если недоступен первый NTP сервер, идет обращение ко второму и т.д.

Можно вручную синхронизировать время с указанным NTP сервером командой:

ntpdate 192.168.1.100

По умолчанию, ntpd включает в системе режим “11 minute mode”, то есть время будет синхронизироваться каждые 11 минут. Если вы не можете использовать демон ntpd, вы можете настроить синхронизацию времени по крону, добавьте в крон следующую команду:

/usr/sbin/ntpdate 0.centos.pool.ntp.org

MySQL: вставить запись, если она не существует в таблице

CREATE TABLE `table_listnames` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `address` varchar(255) NOT NULL,
  `tele` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB;

Вставить запись:

Читать далее «MySQL: вставить запись, если она не существует в таблице»

Ищем вирусы на серверах Linux: 5 инструментов для сканирования

Сервера на Linux часто атакуются злоумышленниками. Безусловно, оптимальная настройка файрволла и своевременное обновление системы безопасности помогают отражать подобного рода атаки. Но всё же необходимо быть начеку и проверять, не пробрался ли какой-либо вирус сквозь защиту сервера.

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

Читать далее «Ищем вирусы на серверах Linux: 5 инструментов для сканирования»

SteamCMD: Установка сервера

1. Создаем или заходим в папку /home/css1/

2. Создаем файлы запуска, обновления и остановки сервера.

down.sh

#!/bin/sh
################################################################
#
#
ps -ef | grep css1 | grep -v grep | awk '{print $2}' | xargs -i kill {}
Читать далее «SteamCMD: Установка сервера»

Аналог LIMIT в Mysql

USE [new-satro];
GO

SELECT * FROM (
    SELECT TOP 10 * FROM (
        SELECT TOP 120 T.[id_t]
        ,T.[parent_id_t]
        ,T.[title_t]
        ,T.[min_op_t]
        ,T.[brend]
        ,T.[cena]
        ,T.[nali4ie]
        ,T.[artik]
        ,T.[cena_opt]
        ,T.[kolvo]
        ,T.[kolvo_yd_sklad]
        ,T.[full_op_t]
        ,T.[mgc]
        ,TV.VSEGO 
        FROM [tovari] T
        LEFT JOIN ( SELECT COUNT([ID]) AS VSEGO, [TOVAR] FROM [tovari_view] GROUP BY [TOVAR] ) as TV on TV.[TOVAR]=T.[artik] 
        ORDER BY T.[id_t] ASC
    ) AS inner_tbl ORDER BY [id_t] DESC
) AS outer_tbl ORDER BY [id_t] ASC
GO
Читать далее «Аналог LIMIT в Mysql»

Индексы

Создает индекс в таблице. Допускаются повторяющиеся значения

CREATE INDEX "artik" ON [dbo].[photogall] (artik_poz);

artik — название индекса

artik_poz — колонка по которой проставляется индекс

Создает уникальный индекс в таблице. Дублирующие значения не допускаются

CREATE UNIQUE INDEX "artik" ON [dbo].[photogall] (artik_poz);

artik — название индекса

artik_poz — колонка по которой проставляется индекс