рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐:
рдореИрдВ рд╡реАрдбрд┐рдпреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреА рдЦреБрдж рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдорд╛рдорд▓рд╛ 2010 рдореЗрдВ рд╡рд╛рдкрд╕ рд╢реБрд░реВ рд╣реБрдЖред рддрдм рд╣рдордиреЗ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛, рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдФрд░ рдореБрдлреНрддред
рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдЙрд╕ рд╕рдордп рджреЗрдЦреА рдереАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рддрдм рд╕рдм рдХреБрдЫ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
рдЕрдВрдд рдореЗрдВ, рд╣рдо рдХрд░реНрдиреЗрд▓ рдЯреНрдпреВрдм рд╡реАрдбрд┐рдпреЛ рд╢реЗрдпрд░рд┐рдВрдЧ рдкрд░ рдмрд╕реЗред рдЙрддреНрдкрд╛рдж рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ рдФрд░ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╢реБрд░реВ рдореЗрдВ рдпрд╣ рд╡рдпрд╕реНрдХ рд▓реЛрдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ)ред
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рд▓рд┐рдП рдордд рдЧрд┐рдиреЛред рд╕реНрдерд╛рдкрдирд╛ рдХреА рд▓рд╛рдЧрдд $ 40 рд╣реИ, рд╢рд╛рдпрдж рдореЗрд░реА рдкреЛрд╕реНрдЯ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдХрдо рдХрд░ рджреЗрдЧреА :)
рдЕрдм рдореИрдВ рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдкрд░ KVS рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рдирд┐рд░реНрджреЗрд╢ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░, рдореИрдВрдиреЗ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬ -
www.kernel-video-sharing.com/enрдбреЗрдореЛ рд╕рд╛рдЗрдЯ -
kvs-demo.comрдбреЗрдореЛ рдПрдбрдорд┐рди -
kvs-demo.com/adminрд╣рдорд╛рд░реА рд╕реНрдерд╛рдкрдирд╛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
1. suexec рдореЙрдбреНрдпреВрд▓ mod_ruid2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдПред рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рд╕реЗрдЯ рдХрд┐рдпрд╛ред
2. рд╣рдорд╛рд░реЗ рдкрд╛рд╕ KVS рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ (рд╕рдВрд╕реНрдХрд░рдг 1.5 рдХреЗ рдмрд╛рдж рд╕реЗ) - рдЗрд╕рд▓рд┐рдП рд╣рдо ionCube рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЗрд╕ рдмрд┐рдВрджреБ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
Ubuntu 12.04 рдкрд░ рдХрд░реНрдиреЗрд▓ рдЯреНрдпреВрдм рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдЭрд╛рдХрд░рдг 2.4.3 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕рд░реНрд╡рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВрдиреНрдпреВрдирддрдо рд╕рд░реНрд╡рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
- PHP 5.2 рдпрд╛ рдЙрдЪреНрдЪрддрд░
- рдореИрд╕реВрд░ 5.0 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдФрд░ PHP рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди
- FFmpeg 0.8 рдпрд╛ рдЙрдЪреНрдЪрддрд░ libfaac, libx264, libavfilter рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
- Yamdi
- рдХреНрдпреВрдЯреА-рдареАрдХ рд╣реИрдВ
- ImageMagick
- PHP рдореЗрдВ рдХрд░реНрд▓ рдФрд░ рдЙрд╕рдХрд╛ рд╕рдорд░реНрдерди
- рдЕрдкрд╛рдЪреЗ + mod_rewrite + (рдЕрдХреНрд╖рдо рдорд▓реНрдЯреАрд╡реНрдпреВ рд╡рд┐рдХрд▓реНрдк)
- рдЖрдпрдирдХ рд▓реЛрдбрд░
- рдкрд░реНрд▓ рдФрд░ рд╕реАрдЬреАрдЖрдИ 3.15 рдпрд╛ рдЙрдЪреНрдЪрддрд░ (рдирдЧреАрдиреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ)
- рдЧреИрд░ рд╕рд┐рд░рд┐рд▓рд┐рдХ рдбреЛрдореЗрди рдирд╛рдо
рдЖрд╡рд╢реНрдпрдХ PHP рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
- zlib рдкреБрд╕реНрддрдХрд╛рд▓рдп
- рдПрдХреНрд╕рдПрдордПрд▓ рд╡рд┐рд╕реНрддрд╛рд░
- рд╕рдЪ рдкреНрд░рдХрд╛рд░ рдлрд╝реЙрдиреНрдЯ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде GD2 (рдЖрд╡рд╢реНрдпрдХ!)
- рдирд┐рд╖реНрдкрд╛рджрди () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CLI рд╕реЗ PHP рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
- PHP register_globals рдмрдВрдж
- PHP рдореИрдЬрд┐рдХ_рдХреНрд╡реЛрдЯреНрд╕_рдЬреАрдкреАрд╕реА рдмрдВрдж
- PHP safe_mode рдмрдВрдж
- PHP file_uploads рдкрд░
- PHP allow_url_fopen рдкрд░
рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡рд┐рдХрд▓реНрдк (рдЕрддреНрдпрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп)
- PHP рдореЗрдВ Memcache рдФрд░ рдЙрд╕рдХрд╛ рд╕рдорд░реНрдерди
- Nginx + Apache (рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) + NginxHttpUploadProgressModule
рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рдпрдорджреА, рдЫрд╡рд┐рдордЧрд┐рдХ
sudo apt-get install yamdi imagemagick
рдореЗрдореЗрдЪреЗ, рдорд╛рдИрдПрд╕рдХреНрдпреВрдПрд▓, рдЕрдкрд╛рдЪреЗ, рдкреАрдПрдЪрдкреА
sudo apt-get install memcached mysql-server-5.5 apache2 libapache2-mod-rpaf php5 php5-mysql php5-curl php5-cli php5-memcache php5-gd
рдЙрдкрдХрд░рдг рдмрдирд╛рдПрдБ
sudo apt-get install build-essential checkinstall subversion git unzip
рдПрдХреНрдЬрд╝рд┐рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
sudo apt-get install exim
рдПрдХреНрдЬрд╝рд┐рдо рд╕реЗрдЯрдЕрдк
sudo dpkg-reconfigure exim4-config
Nginx рд╕реНрдерд╛рдкрдирд╛
рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
sudo apt-get install libssl-dev zlib1g-dev
Nginx рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
cd /usr/local/src/ wget http://nginx.org/download/nginx-1.2.4.tar.gz tar -zxvf nginx-1.2.4.tar.gz cd nginx-1.2.4
рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
mkdir modules
рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ
./configure \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/var/lib/nginx/body \ --http-proxy-temp-path=/var/lib/nginx/proxy \ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ --with-debug \ --with-http_stub_status_module \ --with-http_secure_link_module \ --with-http_gzip_static_module \ --with-http_realip_module \ --with-http_mp4_module \ --with-http_flv_module \ --with-http_ssl_module \ --with-http_dav_module \ --with-md5=/usr/lib \ --add-module=modules/nginx-upload-progress-module \ --add-module=modules/nginx_mod_h264_streaming-2.3.2
GCC-4.6 рдореЗрдВ h264 рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди
рдкреБрди: NGINX1.0.2 + H264 рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ-2.2.7 + рдлреЗрдбреЛрд░рд╛ 15 vi auto/cc/gcc
рд╣рдо рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
make
рд╣рдо рдбрд┐рдмреЗрдЯ рдкреИрдХреЗрдЬ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
checkinstall --pkgname=nginx --pkgversion "1.2.4-1.relase.`date +%Y%m%d`" --backup=no --install=yes --default
Nginx рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ
sudo useradd --shell /bin/false --no-create-home nginx
рдЖрд╡рд╢реНрдпрдХ рд╕реАрдорд▓рд┐рдВрдХ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдмрдирд╛рдПрдБ
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx mkdir -p /var/lib/nginx/body mkdir /var/lib/nginx/proxy mkdir /var/lib/nginx/fastcgi chown -R nginx:root /var/lib/nginx/
рдЖрд░рдВрднреАрдХрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
vi /etc/init.d/nginx
DAEMON=/usr/local/nginx/sbin/nginx NGINX_CONF_FILE="/etc/nginx/nginx.conf"
рд╡реАрдбрд┐рдпреЛ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
X264 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдореМрдЬреВрджрд╛ x264 рд╣рдЯрд╛рдПрдВ sudo apt-get remove x264 libx264-dev
рдбрд╛рдЙрдирд▓реЛрдб x264 рд╕реНрд░реЛрдд cd /usr/local/src git clone git://git.videolan.org/x264.git x264_`date +"%Y%m%d"` cd x264_`date +"%Y%m%d"`
X264 рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ ./configure --enable-static
рд╣рдо рд╡рд┐рдзрд╛рдирд╕рднрд╛ x264 рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ make
рд╣рдо рдбреЗрдмреНрдпреВ рдкреИрдХреЗрдЬ x264 рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --install=yes --default
Libvpx рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдореМрдЬреВрджрд╛ libvpx рдХреЛ рд╣рдЯрд╛рдПрдВ sudo apt-get remove libvpx-dev
рдбрд╛рдЙрдирд▓реЛрдб libvpx рд╕реНрд░реЛрдд cd /usr/local/src git clone http://git.chromium.org/webm/libvpx.git libvpx_`date +"%Y%m%d"` cd libvpx_`date +"%Y%m%d"`
Libvpx рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ ./configure
Libvpx рдмрд┐рд▓реНрдб рд░рди рдХрд░реЗрдВ make
рд╣рдо рдбреЗрдмреНрдпреВ рдкреИрдХреЗрдЬ libvpx рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no --install=yes --deldoc=yes --fstrans=no --default
Ffmpeg рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдореИрдВрдиреЗ ffmpeg 0.8.x рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░реАрд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╡реЙрдЯрд░рдорд╛рд░реНрдХ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ (ffmpeg рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрдХреНрд╕рд░ рдмрджрд▓рддрд╛ рд╣реИ)ред рд╕рдВрд╕реНрдХрд░рдг 0.8.12 рдореЗрдВ, рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореМрдЬреВрджрд╛ ffmpeg рдХреЛ рд╣рдЯрд╛рдПрдВ sudo apt-get remove ffmpeg
Ffmpeg рд╕реНрд░реЛрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ cd /usr/local/src wget https://ffmpeg.org/releases/ffmpeg-0.8.12.tar.gz tar -zxvf ffmpeg-0.8.12.tar.gz cd ffmpeg-0.8.12
Ffmpeg рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ ./configure \ --enable-gpl \ --enable-postproc \ --enable-pthreads \ --enable-swscale \ --disable-debug \ --enable-nonfree \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-version3 \ --enable-libdc1394 \ --enable-libfaac \ --enable-libgsm \ --enable-libmp3lame \ --enable-libtheora \ --enable-libvorbis \ --enable-libx264 \ --enable-libxvid \ --enable-libvpx
рд╣рдо рдЕрд╕реЗрдВрдмрд▓реА ffmpeg рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ make
рд╣рдо рдбреЗрдм рдкреИрдХреЗрдЬ ffmpeg рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ sudo checkinstall --pkgname=ffmpeg --pkgversion="0.11.1-release-`date +%Y%m%d%H%M`" --backup=no --deldoc=yes --fstrans=no --install=yes --default
рдХреНрдпреВрдЯреА-рдлрд╛рд╕реНрдЯрд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВFfmpeg рд╕реЛрд░реНрд╕ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ cd /usr/local/src cd ffmpeg-0.8.12
рднрд╛рдЧреЛ qt-faststart рдмрд┐рд▓реНрдб make tools/qt-faststart
рд╣рдо рдбреЗрдмреНрдЯ рдкреИрдХреЗрдЬ qt-faststart рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ sudo checkinstall --pkgname=qt-faststart --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default install -Dm755 tools/qt-faststart /usr/local/bin/qt-faststart
рд╕реНрдерд╛рдкрд┐рдд рд╡реАрдбрд┐рдпреЛ рдШрдЯрдХреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ x264 ffmpeg ffplay ffprobe qt-faststart
рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк
KVS рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВ useradd --shell /bin/false --no-create-home www-kvs
KVS рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ mkdir /home/kvs/
рдЕрдкрд╛рдЪреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЕрдкрд╛рдЪреЗ рд╕реБрдирдиреЗ рдХреЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ vi /etc/apache2/ports.conf
NameVirtualHost *:8080 Listen 8080
рдЕрдкрд╛рдЪреЗ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЕрдкрд╛рдЪреЗ рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
<IfModule rpaf_module> RPAFenable On RPAFsethostname On RPAFproxy_ips 192.168.1.2 127.0.0.1 RPAFheader X-Real-IP </IfModule>
<IfModule mod_ruid2.c> RMode config RDefaultUidGid www-data www-data RUidGid www-data www-data RGroups www-data </IfModule>
рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдЕрдкрд╛рдЪреЗ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ a2enmod rpaf a2enmod ruid2 a2enmod rewrite
KVS рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ mkdir -p /var/log/www/kvs
рд╣рдо Apache рдореЗрдВ KVS рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ vi /etc/apache2/sites-available/kvs.conf
<VirtualHost 127.0.0.1:8080> ServerAdmin admin@domain.com Servername video.domain.com ServerAlias tube.domain.com RMode config RUidGid www-kvs www-kvs RGroups www-kvs RewriteEngine on RewriteCond %{HTTP_HOST} ^tube.domain.com$ RewriteRule (.*) http://video.domain.com$1 [R=301,L] DocumentRoot /home/kvs/
рдмрдирд╛рдИ рдЧрдИ рд╕рд╛рдЗрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ a2ensite kvs.conf a2dissite default
рдЕрдкрд╛рдЪреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ service apache2 restart
Php рд╕реЗрдЯрдЕрдкApache рдХреЗ рд▓рд┐рдП Php config рдХрд╛ рд╕рдВрдкрд╛рджрди vi /etc/php5/apache2/php.ini
register_globals = Off magic_quotes_gpc = off safe_mode = Off max_execution_time = 9999 allow_url_fopen = On file_uploads = On upload_tmp_dir = /tmp upload_max_filesize = 1024M post_max_size = 1024M memory_limit = 1024M session.gc_maxlifetime = 86400 sendmail_path = "/usr/sbin/sendmail -t -i"
Php CLI config рдХрд╛ рд╕рдВрдкрд╛рджрди vi /etc/php5/cli/php.ini
memory_limit = 1024M safe_mode = Off allow_url_fopen = On sendmail_path = "/usr/sbin/sendmail -t -i"
рд╣рдо php рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ vi /etc/php5/apache2/php.ini
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR display_errors = Off display_startup_errors = Off log_errors = On log_errors_max_len = 102400 error_log = /var/log/www/php.log
рдЕрдкрд╛рдЪреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ service apache2 reload
Nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЬрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, nginx рдХреЛ www-kvs рд╕рдореВрд╣ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ usermod -a -G www-kvs nginx
рдбрд┐рдлрд╝реЙрд▓реНрдЯ Nginx рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реЗрдВ mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
рдПрдХ рдирдпрд╛ Nginx config рдмрдирд╛рдПрдБ vi /etc/nginx/nginx.conf
user nginx; worker_processes 16; error_log /var/log/nginx/error.log info;
KVS рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдВ mkdir /etc/nginx/sites-available/ mkdir /etc/nginx/sites-enabled/ vi /etc/nginx/sites-available/kvs.conf
upload_progress proxied 1m; proxy_buffering off; server { listen 192.168.1.3:80; server_name video.domain.com *.video.domain.com tube.domain.com ; access_log /var/log/www/kvs/kvs-nginx-access.log; error_log /var/log/www/kvs/kvs-nginx-error.log; location / { index index.php; if (-f /etc/nginx/maintenance.file) { return 503; } proxy_pass http://127.0.0.1:8080/; proxy_redirect http://video.domain.com:8080/ /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 1024m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset off; track_uploads proxied 30s; } location ~* ^.+\.(gif|jpg|png|mpg|mp3|mpeg|avi|ico|txt|css|js|html)$ {
рдмрдирд╛рдИ рдЧрдИ рд╕рд╛рдЗрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ ln -s /etc/nginx/sites-available/kvs.conf /etc/nginx/sites-enabled/kvs.conf
рдкрд░реАрдХреНрд╖рдг рдХреЗрд╡реАрдПрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ service nginx configtest
Nginx рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ service nginx start
KVS рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ
KVS рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
unzip KVS_2.4.3_20120426.zip -d /home/kvs cd /home/kvs cat /home/kvs/_INSTALL/install_EN.txt
KVS рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рдмрдирд╛рдПрдВ
mysql -uroot -p
CREATE DATABASE kvs CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'kvs'@'localhost' IDENTIFIED BY '*******'; GRANT ALL PRIVILEGES ON kvs.* TO 'kvs'@'localhost'; FLUSH PRIVILEGES; QUIT;
mysql -uroot -p kvs < _INSTALL/install_db.sql
KVS рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
vi admin/include/setup_db.php
define('DB_HOST','localhost'); define('DB_LOGIN','kvs'); define('DB_PASS','*******'); define('DB_DEVICE','kvs');
vi admin/include/setup_db.php
рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреЗрдЦреЗрдВред
KVS рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░реЗрдВ
kvsroot=/home/kvs kvsuser=www-kvs kvsgroup=www-kvs
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рдХреНрд░реЛрди рдореЗрдВ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝реЗрдВ
crontab -e -u www-kvs
*/1 * * * * cd /home/kvs/admin/include/ && /usr/bin/php cron.php > /dev/null 2>&1
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / рдбреЗрдЯрд╛ / рд░реВрдкрд╛рдВрддрд░рдг / Remote_cron.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдереЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
vi admin/data/conversion/remote_cron.php
$ffmpeg_path="/usr/local/bin/ffmpeg"; $yamdi_path="/usr/bin/yamdi"; $qtf_path="/usr/local/bin/qt-faststart"; $imagemagick_path="/usr/bin/convert";
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓реЗрдВ
рд╣рдо рд╕рд╛рдЗрдЯ рдХреЗ рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рднрд╛рдЧ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ:
video.domain.com/adminрд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ: 123
--> --> --> : ********** -->
рдПрдХ рд░реВрдкрд╛рдВрддрд░рдг рд╕рд░реНрд╡рд░ рдЬреЛрдбрд╝реЗрдВ
--> --> : 5 : :
рд╕рдВрдЧреНрд░рд╣рдг рд╕рд░реНрд╡рд░ рдЬреЛрдбрд╝реЗрдВ
--> --> (*): --> C
--> --> : URL : /home/kvs/contents/videos -->
рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рдм рдХреБрдЫ рдХреЗрд╡реАрдПрд╕ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
--> --> * ( ) * * * * ( ) # * ( ) * -->
рд╣рдо рд╡реАрдбрд┐рдпреЛ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
--> -->
_INISTALL рдлрд╝реЛрд▓реНрдбрд░ рд╣рдЯрд╛рдПрдВ
rm -rf _INSTALL
рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИ
рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╛рд░реВрдк, рдЙрдирдХреЗ рдЖрдХрд╛рд░, рд╡реЙрдЯрд░рдорд╛рд░реНрдХрд┐рдВрдЧ, рд╕рдордпрд░реЗрдЦрд╛ рдкреНрд░рджрд░реНрд╢рдиред рдпрд╣ рд╕рдм рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЧреЛрджреА рдкрдврд╝реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВред
рдХреНрдпрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛?
1. рдХреЛрдИ html5 рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ - рдЕрднреА рд╣рдо рдпрд▓реНрд▓реЛрдХреЛ рдФрд░ рдирд╡реАрдирддрдо рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╡реАрдбрд┐рдпреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдХрд░ рдпрд╣рд╛рдВ рдмреИрдареЗ рд╣реИрдВред
2. рдореИрдВ рдпрд╛рджреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рднрд░ рджреВрдВрдЧрд╛ ...
рдирд┐рд╖реНрдХрд░реНрд╖
рдирд┐рд░реНрджреЗрд╢ рдмрдбрд╝рд╛ рдФрд░ рдердХрд╛ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдирд┐рдХрд▓рд╛ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкреЛрд╕реНрдЯ рдХрд┐рд╕реА рдХреЛ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╕реЗрд╡рд╛ рдмрдирд╛рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдпрджрд┐ рд╡рд┐рдХрд▓реНрдк рдХрд░реНрдиреЗрд▓ рд╡реАрдбрд┐рдпреЛ рд╢реЗрдпрд░рд┐рдВрдЧ рдкрд░ рдкрдбрд╝рддрд╛ рд╣реИред