AirVideo custom ffmpeg for 2.4.5

 | NAS
2011/09/26 13:23
synology NAS에 AirVideo Server 설치하는 포스팅의 대부분이 2.2.5 버전을 다루고 있는데, 간만에 업데이트 현황을 찾아보니 2.4.5 beta6까지 업데이트되었다고 합니다.

리눅스용 2.4.5 beta6에서는 버그 발생 이슈가 있어, 한 단계 아래 버전을 설치해 봤습니다.

0. 전제
0.1. optware 설치되어 있어야 합니다.
0.2 아래 패키지들이 설치되어 있어야 합니다.

ipkg install wget-ssl
ipkg install bzip2
ipkg install optware-devel
ipkg install gcc
ipkg install git
ipkg install grep
ipkg install sdl
ipkg install sdl-dev
ipkg install libmpeg2
ipkg install mpeg2dec
ipkg install libpth
ipkg install lame
ipkg install faad2
ipkg install xvid
ipkg install libjpeg
ipkg install vim
ipkg install yasm

0.2. x264 설치

git clone git://git.videolan.org/x264.git
cd ./x264
./configure --prefix=/opt --disable-asm
make
make install

0.3. faac 설치

wget http://switch.dl.sourceforge.net/sourceforge/faac/faac-1.28.tar.gz
tar -xvf faac-1.28.tar.gz
cd faac-1.28
./configure --prefix=/opt --without-mp4v2
make
make install

0.4. xvid 설치

wget http://downloads.xvid.org/downloads/xvidcore-1.2.2.tar.gz
tar -xzf xvidcore-1.2.2.tar.gz
cd ./xvidcore/build/generic/
./configure --prefix=/opt
make
make install

1. ffmpeg 소스 다운로드

wget http://inmethod.com/air-video/download/ffmpeg-for-2.4.5.tar.bz2

2. 압축 해제

bzip2 -d ffmpeg-for-2.4.5.tar.bz2

3. 묶음 풀기

tar xvf ffmpeg-for-2.4.5.tar

4. 컴파일 및 설치

cd ffmpeg
./configure --prefix=/opt --enable-pthreads --disable-shared --enable-static --enable-gpl --enable-libx264 --enable-libmp3lame
make
make install

5. 확인


ls -alF /opt/bin/ffmpeg
2011/09/26 13:23 2011/09/26 13:23
Posted by 선물

시스템 photostation은 정상 작동을 하는데, 개인 photostation이 서비스 사용할 수 없다고 나올 때가 있다.
photostation은 apache로 작동하게 되는데 이 프로세스가 nobody 계정으로 실행된다.

이를 해결하기 위해서는

1. 개인 홈 디렉토리의 퍼미션이 701이상이어야 한다.
2. 개인 홈 디렉토리/photo 디렉토리가 존재하여야 한다.
2011/09/23 11:28 2011/09/23 11:28
Posted by 선물
NAS에 optware를 설치하고, 추가로 optware에서 제공하는 apache를 설치할 경우 NAS의 리부팅/종료가 정상적으로 작동하지 않습니다.

이는, console로 top 명령을 통해 종료할 때 프로세스 동작을 보면 추측이 가능한데,

원인은, apache 프로세스인 /opt/sbin/httpd 가 정상 종료되지 않아서 그런 것입니다.

심지어, apache가 실행 중이 아닌데도, 종료 처리 중, 실행 되는 경우가 있습니다.

optware에서 제공하는 프로그램 중 자동으로 실행되어야 하는 application을 설치할 경우,

/opt/etc/init.d/

경로에 자동으로 처리해야 하는 스크립트들이 존재합니다.

apache의 경우 시스템 기동 또는 종료시 이 apache를 자동으로 처리하기 위해,

/opt/etc/init.d/S80apache

스크립트를 실행하게 됩니다.

저 스크립트 안에,

/opt/sbin/httpd -k restart

명령 구문이 수행되다 보니 종료할 경우에도 restart 되어버려, NAS가 정상 종료를 못하게 됩니다.

이를 해결하기 위해,

해당 스크립트는

/opt/etc/init.d/bS80apache

처럼 이름을 바꾸어 자동으로 실행되지 않도록 하고,

synology NAS에서 자동 실행 관리하는 경로에서 처리하도록 스크립트를 작성해 줍니다.

1. vi /usr/syno/etc.default/rc.d/S94apache2.sh ; 파일 생성
2. 내용

#!/bin/sh
# Copyright (c) 2000-2008 Synology Inc. All rights reserved.

SynoStop=/usr/bin/killall
STARTAPACHE2="/opt/sbin/apachectl"

case $1 in
start)
        if [ -f "$STARTAPACHE2" ]; then
                echo "Starting Apache2..."
                $STARTAPACHE2 start
        else
                echo "The command NOT exist; $STARTAPACHE2"
                exit 0;
        fi
        ;;
stop)
        $STARTAPACHE2 stop

        /volume1/nas/killpids.sh "/opt/sbin/httpd"
        echo "Apache2 stopped."
        ;;
restart)
        $0 stop
        sleep 3
        $0 start
        ;;
*)
        echo "Usages: $0 [start|stop|restart]"
        ;;
esac

3. 시스템 재기동
2011/09/21 13:50 2011/09/21 13:50
Posted by 선물
지난 글1, 글2 에서 synology NAS에서 apache와 ssl, svn 연동을 다뤘다.

나름 의미도 있고, 개발할 때마다 유용하게 쓰고 있다.

그러다보니, php에 대한 욕구가 생긴다.

사실, 기본적으로 apache와 php는 연동되어 있겠거니 생각했었는데 아니었다.

그래서, 찾아보고 실행해본다.

0. 전제
0.1. optware가 설치되어 있어야 한다.
0.2. optware의 apache가 설치되어 있어야 한다.

1. php 관련 모듈 설치
1.1. ipkg install php php-apache php-fcgi php-gd php-iconv php-mysql

2. apache 설정 변경
2.1. vi /opt/etc/apache2/httpd.conf 명령을 통해 파일을 열고 다음 줄을 추가하고, 저장한다.


Include etc/apache2/conf.d/php.conf


3. apache 재시작
3.1. apachectl restart

이후 텍스트큐브, 제로보드xe를 사용해보니 잘된다~

참고로, 1.1.에서 php-mysql을 설치하면 mysql이 자동으로 설치된다. 이 mysql은 NAS 기본 DB인 mysql과 다른 것이다.
모든 설정 후 재시작시 기존 mysql가 인식되지 않을 경우, DSM 제어판에서 mysql을 재기동하면 된다.
2011/08/24 15:02 2011/08/24 15:02
Posted by 선물
이전 글에 이은 글입니다.


apache와 svn을 연동 방법입니다.

이전 글에서 SSL 연동에 성공하였다면, SVN 접속 svn://가 아닌 https://로 접속하여 사용할 수 있습니다.


전제)
*.1. svn 설치되어 있어야 한다.
*.2. svn 저장소가 하나이상 생성되어 있어야 한다.

3.2.7. SVN 적용 ; http:// or https:// 형태로 access
3.2.7.1. apache에서 SVN 활성화
3.2.7.1.1. vi /opt/etc/apache2/httpd.conf 수행한다.
3.2.7.1.2. 파일의 끝에서 아래 내용을 추가한다.

# Subversion
Include etc/apache2/conf.d/mod_dav_svn.conf

3.2.7.1.3. 명령모드에서 "User nobody" 문자열을 찾아 svn 작동 계정명으로 수정한다.
3.2.7.1.4. 명령모드에서 "Group #-1" 문자열을 찾아 svn 작동 그룹명으로 수정한다.

3.2.7.2. SVN 저장소 link 설정
3.2.7.2.1. cd /opt/share 수행한다.
3.2.7.2.2. ln -s /volume1/svn ; /volume1/svn은 SVN 저장소 최상위 경로

3.2.7.3. apache SVN 환경설정
3.2.7.3.1. vi /opt/etc/apache2/conf.d/mod_dav_svn.conf 수행한다.
3.2.7.3.2. 파일의 끝에서 아래 내용을 추가한다. 한글로 된 부분은 본인이 임의로 지정한다.

<Location /svn>
DAV svn
SVNParentPath /opt/share/svn
AuthType Basic
AuthName "로그인 화면 문구"
AuthUserFile 인증파일경로
Require valid-user
</Location>

3.2.7.4. svn 사용자 추가
3.2.7.4.1. /opt/sbin/apache-htpasswd -cm 인증파일경로 추가할사용자ID ; 인증파일이 존재할 경우 -cm 대신 -m 사용


3.2.7.5. 확인
3.2.7.5.1. https://도메인:포트/svn/저장소명
2011/07/29 15:40 2011/07/29 15:40
Posted by 선물
기존 에서 Synology NAS에 ipkg를 설치하고 apache와 ssl 연동하는 방법을 보여주고 있는 link를 안내했었는데,

예외 사항도 있고 해서 직접 따라하기를 안내해 본다.

참고로, 이 글에서 서술하고 있는 apache는 Synology NAS가 작동 중 서비스하는 웹서비스(DSM, 개인홈페이지)의 apache와는 다른, ipkg 부트스트랩(optware)을 통해 따로 설치되는 apache2이다.

1. 전제
1.1. NAS로 telnet 접속 상태이어야 한다.
1.2. vi 사용할 수 있어야 한다.
1.3. ipkg 설치되어 있어야 한다.

2. 설치
2.1. apache2
2.1.1. ipkg install apache 수행한다.(apache2가 아님)

3. 설정
3.1. 설치시 자동으로 apache2가 기동되었을 경우가 있으므로, apachectl stop 수행한다.
3.2. 환경설정 파일을 편집한다. /opt/etc/apache2/httpd.conf
3.2.1. 포트번호 ;  http://domain/ 접속시 사용
3.2.1.1. 명령모드에서 "Listen 8000" 문자열을 찾아 원하는 서비스 포트번호로 변경한다.
3.2.1.1. 주의사항
3.2.1.1.1. 포트번호로 80로 수정할 경우, 기존 DSM에서 사용하는 80포트를 다른 포트번호로 변경하여야 한다.
3.2.1.1.2. DSM 포트번호 수정시, vi /usr/syno/apache/conf/httpd.conf-user 내에서 수정한다.

3.2.2. 관리자 메일주소
3.2.2.1. 명령모드에서 "ServerAdmin you@example.com" 문자열을 찾아 원하는 메일 주소로 변경한다.

3.2.3. 서비스 도메인명
3.2.3.1. 명령모드에서 "ServerName www.example.com:8000" 문자열을 찾아 원하는 도메인 주소로 변경한다. 포트번호 포함.

3.2.4. 도메인 서비스 root
3.2.4.1. 명령모드에서 "DocumentRoot "/opt/share/www"" 문자열을 찾아 index.html파일이 위치한 디스크 상 경로로 변경한다.

3.2.5. root 경로 상세
3.2.5.1. 파일의 끝에서 아래 내용을 추가한다.

<Directory "3.2.4.절에서 설정한
도메인 서비스 root 경로">                                          
        Options Indexes FollowSymLinks                                        
        AllowOverride None                                                    
        Order allow,deny                                                      
        Allow from all                                                        
</Directory>

3.2.5. log
3.2.5.1. 명령모드에서 "ErrorLog "var/apache2/log/error_log"" 문자열을 찾아 원하는 경로로 변경한다 ; error 로그
3.2.5.2. 명령모드에서 "CustomLog "var/apache2/log/access_log" common" 문자열을 찾아 원하는 경로로 변경한다 ; access 로그


3.2.6. SSL 적용 ; https://domain:포트번호/ 접속시 사용
3.2.6.1. ssl 환경설정 파일 적용
3.2.6.1.1. vi /opt/etc/apache2/httpd.conf 수행한다.
3.2.6.1.2. #Include etc/apache2/extra/httpd-ssl.conf 문자열 행을 찾아 제일 앞의 "#"문자를 제거하고 저장한다.
3.2.6.2. ssl 인증서 적용 ; SSL 인증서를 생성하지 않고 synology에서 제공하는 기본 인증서를 사용한다.
3.2.6.2.1. cd /opt/etc/apache2 수행한다 ; 경로 이동
3.2.6.2.2. ln -s /usr/syno/etc/ssl/ssl.crt/server.crt 수행한다 ; 기존 인증서 링크
3.2.6.2.3. ln -s /usr/syno/etc/ssl/ssl.key/server.key 수행한다 ; 기존 인증서키 링크
3.2.6.2.4. vi /opt/etc/apache2/extra/https-ssl.conf 수행한다.
3.2.6.2.5. SSLCertificateFile "/opt/etc/apache2/server.crt" 추가한다.
3.2.6.2.6. SSLCertificateKeyFile "/opt/etc/apache2/server.key" 추가한다.
3.2.6.2.7. "Listen 443" 문자열을 찾아 "Listen 원하는 포트번호" 로 수정한다.
3.2.6.2.8. "<VirtualHost _default_:10443>" 문자열을 찾아 "<VirtualHost _default_:3.2.1.2.7절에서 설정한 포트번호>" 로 수정하고 저장한다.
3.2.6.2.9. 명령모드에서 ErrorLog "/opt/var/apache2/log/error_log" 문자열을 찾아 원하는 경로로 변경한다 ; error 로그
3.2.6.2.10. 명령모드에서 TransferLog "/opt/var/apache2/log/access_log" 문자열을 찾아 원하는 경로로 변경한다 ; access 로그
3.2.6.2.11. 명령모드에서 CustomLog "/opt/var/apache2/log/ssl_request_log" 문자열을 찾아 원하는 경로로 변경한다 ; ssl 로그, 문자열 다음 수정 불필요

4. 재기동
4.1. apachectl restart

5. 확인
5.1. 웹브라우저에서 https://IP:설정한 ssl 포트번호/ 접속한다.

2011/07/28 21:18 2011/07/28 21:18
Posted by 선물

1. ipkg으로 설치한 svn과 HTTP을 쓰기 위해 apache를 설치하는 방법.

2. 1.와 HTTPS 연동 방법.

http://forum.synology.com/wiki/index.php/Enable_HTTP_and_HTTPS_access_for_Subversion#Install_Apache_2_Server





2011/04/13 14:30 2011/04/13 14:30
Posted by 선물

Zend Optizimer 설치

 | NAS
2010/03/23 19:11

php 성능을 끌어올리기 위해 Zend Optizimer를 설치해본다.

1. 다운로드
1.1. http://www.zend.com/en/products/guard/downloads 로 이동한다.
1.2. Zend Optimizer v3.3 라디오버튼을 체크하고,
1.3. select package 항목에서 "Linux x86(32bit)..."를 선택한다.
1.4. "DOWNLOAD"버튼을 클릭한다.
1.5. 계정이 있을 경우 로그인한다. 계정이 없을 경우 계정 생성 후 진행한다.

2. 설치
2.1. 다운로드받은 파일을 FTP client 등을 이용하여 NAS의 임의의 디렉토리에 업로드한다.
2.2. telnet 또는 SSH로 접속하고, 업로드한 파일이 있는 디렉토리로 이동(cd ...)한다.
2.3. gunzip [다운로드받은파일명] ; 압축해제
2.4. tar xvf [2.3.에서 수행한 결과 파일명(.tar)] ; 묶음해제
2.5. [2.4.를 수행한 결과 생성된 디렉토리/data/5_2_x_comp/ZendOptimizer.so] 파일을 적절한 디렉토리로 복사 또는 이동한다.

3. 환경 설정
3.1. php.ini 파일 수정
3.1.1. vi /usr/syno/etc/php.ini
3.1.2. 아래 항목을 추가하고 저장한다.

[Zend]
zend_optimizer.version=3.3.9
zend_extension=[ZendOptimizer.so를 복사한 경로]/ZendOptimizer.so

예) zend_extension=/usr/syno/apache/modules/ZendOptimizer.so

4. 재시작
4.1. 리부팅 또는 웹서비스를 재시작한다.

테스트해보니 확실히 월등한 페이지 뷰를 보여준다. 캬아~

2010/03/23 19:11 2010/03/23 19:11
Posted by 선물

DS-710+ tomcat 설치

 | NAS
2010/02/10 09:30

웹어플리케이션 서비스를 위해 Tomcat을 설치해 본다.

Tomcat은 JDK가 설치되어 있어야 구동되니 아래 글에 따라 먼저 JDK를 설치한다.

   DS-710+ JDK 설치

0. 설치를 위해 작업 디렉토리를 만든다. 다음은 예이다.
0.1. mkdir /volume1/dev ; 디렉토리 생성
0.2. cd /volume1/dev ; 디렉토리 이동

1. Tomcat 다운로드
1.1. 직접 링크; NAS에 telent/SSH로 접속 후, 아래 명령을 수행한다.
   wget http://apache.tt.co.kr/tomcat/tomcat-6/v6.0.24/bin/apache-tomcat-6.0.24.tar.gz

* 다운로드 후 다운로드한 파일명이 URL전체로 비정상적으로 길 경우, 파일명을 apache-tomcat-6.0.24.tar.gz으로 수정한다.

2. 설치
2.1. Tomcat은 pure java로 만들어져 있어 압축 해제/푸는 것만으로 설치가 끝난다. 즉, 다운로드 받은 파일을 압축 풀면 해당 디렉토리가 설치 경로가 된다.

   gunzip apache-tomcat-6.0.24.tar.gz
   tar xvf apache-tomcat-6.0.24.tar


3. 환경 구축
3.1. link 걸기
3.1.1. 설치된 디렉토리 접근을 용이하게 하기 위해 link를 설정한다.
   cd /opt
   ln -s /volume1/dev/apache-tomcat-6.0.24/ tomcat

3.2. tomcat path 설정
3.2.1. 부팅 때마다 자동으로 Tomcat 경로 인식시키기 위해 시스템 환경변수로 등록한다.
3.2.1.1. /etc/profile 파일을 편집, 저장한다.
   vi /etc/profile
   맨 아랫줄에 다음을 추가한다.
   export CATALINA_HOME=/opt/tomcat

3.2.2. 리부팅 또는 . /etc/profile 실행

3.3. Tomcat 구동
   cd /opt/tomcat/bin
   ./startup.sh

3.4. 테스트
3.4.1. 웹브라우저를 실행하고, 접속 시도.
   http://NAS IP:8080/

2010/02/10 09:30 2010/02/10 09:30
Posted by 선물

DS-710+ JDK 설치

 | NAS
2010/02/05 11:42

장비 업그레이드의 가장 큰 이슈가 JDK 설치 가능 여부였다.
세계 최초 국내 선 출시라 검증된 부분이 없어서 혹시 될까 싶은 맘에 마련했는데 결과는 좋았다.

머 어찌보면 CPU 차이로 가능성을 고려한거니 정상 작동하는게 당연한 것일지도 모르겠다.

SUN JDK 최신 버젼을 설치해 봤다.

0. 설치를 위해 작업 디렉토리를 만든다. 다음은 예이다.
0.1. mkdir /volume1/dev ; 디렉토리 생성
0.2. cd /volume1/dev ; 디렉토리 이동

1. JDK 다운로드
1.1. 직접 링크; NAS에 telent/SSH로 접속 후, 아래 명령을 수행한다.
   wget http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u18-linux-i586.bin?BundledLineItemUUID=JeBIBe.ppagAAAEmJehBgayD&OrderID=CR1IBe.pYLwAAAEmGuhBgayD&ProductID=6XdIBe.pudAAAAElYStRSbJV&FileName=/jdk-6u18-linux-i586.bin

* 다운로드 후 다운로드한 파일명이 URL전체로 비정상적으로 길 경우, 파일명을 jdk-6u18-linux-i586.bin으로 수정한다.

2. 설치
2.1. 설치 파일을 실행하는 위치가 파일 설치 경로가 되니 고려해서 설치하도록 한다.

2.2. 다운로드한 jdk-6u18-linux-i586.bin 파일을 실행한다.
   ./jdk-6u18-linux-i586.bin

2.3. 진행시 질문에 yes....

3. 환경 구축
3.1. link 걸기
3.1.1. 설치된 디렉토리 접근을 용이하게 하기 위해 link를 설정한다.
   cd /opt
   ln -s /volume1/dev/jdk1.6.0_18/ java

3.2. java path 설정
3.2.1. 부팅 때마다 자동으로 JDK 경로 인식시키기 위해 시스템 환경변수로 등록한다.
3.2.1.1. /etc/profile 파일을 편집, 저장한다.
   vi /etc/profile
   맨 아랫줄에 다음을 추가한다.
   export JAVA_HOME=/opt/java
3.2.2. 리부팅 또는 . /etc/profile 실행

3.3. 테스트
3.3.1. /opt/java/bin/java -version 실행.


> 이제 tomcat을 올려봐야겠다.

*** JDK 다운로드 경로가 바뀌었다.
오라클 영향인지, 버젼 릴리즈 때마다 바뀌는 탓인지 모르겠다.

http://java.sun.com/javase/downloads/index.jsp

이곳에서 해당 버젼을 다운로드한 후 NAS로 복사해서 작업하길 권한다.

2010/02/05 11:42 2010/02/05 11:42
Posted by 선물

DS-710+ optware 설치

 | NAS
2010/02/04 11:29
기존 모델들이 ARM, RISC cpu 를 사용했을 때 optware가 존재해서 여러모로 편리하게 library나 application 들을 설치하곤 했었다.
DS-710+ 는 Synology 홈페이지에서조차 모델 목록에 올라오지 않을 정도로 출시된지 얼마되지 않은 모델이라 혹시나 있을까 싶었는데 마침 최근 며칠 전에 Intel i386 계열에 맞추어 compile된 바이너리가 올라왔다.

http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh

1. DS-710+ 에 telnet 접속 후,

2. optware 설치파일을 저장할 임시 디렉토리를 만든다.
   mkdir /volume1/public/optware

3. 다운로드
   wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh

4. 실행
   syno-i686-bootstrap_1.2-7_i686.xsh
2010/02/04 11:29 2010/02/04 11:29
Posted by 선물

DS-710+을 마련하다.

 | NAS
2010/02/03 11:09

기존 ARM, RISC 기반 CPU를 탑재한 NAS를 생산하던 Synology사가 드디어 Intel CPU(1.6Ghz, Atom D410)를 탑재한 모델을 내놓았다.

DS-710+
DS-1010+

기존 제품들이 소형 NAS로서 성능은 월등하나 CPU 때문에 applicatoin 호환성에 있어서 좀 부족한 감이 있었는데, 이번 모델 출시로 다양한 지원이 가능하지 않을까 기대해 본다.

그래서, 이 참에 큰 맘 먹고 업그레이드를 강행!, 수령하게 되었다.

제발~ JDK, Tomcat이 돌았으면 좋겠다아~^0^/"

ㅜ,.ㅜ 그런데 언제 기존 데이터 백업/복원하나...

2010/02/03 11:09 2010/02/03 11:09
Posted by 선물

BLOG main image
내 안의 세상과 선물들을 펼쳐보이다. by 선물
우리가 함께 한 날로부터
2054 ...
내 생명이 온 날로부터
814 번째 날.

공지사항

카테고리

전체 (223)
여행 (6)
NAS (12)
Android (5)
JAVA (8)
FLEX (1)
모바일 (3)
Web (6)
IPTV (7)
컴퓨터기초 (1)
미투데이 (73)
잡념 (71)
푸념 (4)
문화생활 (2)
Mac (2)

글 보관함

달력

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
Total : 1164691
Today : 18 Yesterday : 67