내용으로 건너뛰기
ChangwooWiki
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
macmini:start
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 맥미니 사용 관련 기록 ====== ===== 맥미니의 스트리밍 라디오 ==== MPD와 Icecast를 이용하여 스트리밍 서버를 만들었다. 끊김 없이 매우 잘 전송된다. ==== 작업 내용 ==== Hombrew를 이용하여 mpd를 설치하였으나, 여기에 shotcast 플러그인이 없어 mp3 인코딩이 되지 않았다. 그리하여 mpd는 홈페이지에서 직접 받아 홈 디렉토리의 local에 저장하였다. icecast1 버전과 2버전이 따로 있다는 것을 몰라 헤맸다. 당연히 2버전을 사용하고 1버전은 폐기된 상태. brew를 이용하면 2버전을 자동적으로 받는다. 두 개의 패키지가 잘 설치되면, 이제 삽질과 설정의 영역이다. === mpd 설정 === 다음 파일을 ~/.mpd/mpd.conf 로 저장해두었다. <code conf mpd.conf> music_directory "~/Music/X Japan" playlist_directory "~/.mpd/playlists" database { plugin "simple" path "~/.mpd/db" } pid_file "~/.mpd/pid" state_file "~/.mpd/state" port "6600" auto_update "yes" audio_output { name "X Japan Radio" description "X Japan의 여러 노래를 스트리밍하는 라디오." format "44100:16:2" enabled "yes" always_on "yes" tags "yes" type "shout" host "localhost" port "32050" protocol "icecast2" mount "/x-japan" genre "Rock" password "010.9908.3348.#$n-s!cdnsV@@(1" bitrate "128" encoding "mp3" encoder "lame" } playlist_plugin { name "m3u" enabled "true" } </code> mpd로 하여금 위 설정대로 동작시키기 위해서는 <code bash> mpd --no-daemon mpd.conf </code> 물론 데몬 모드로 동작시키려면 ''no--daemon''은 삭제한다. ''ncmpc''는 콘솔 상에서 재생될 노래의 목록을 컨트롤하기 위해 간단히 사용할 수 있다. <code bash> ncmpc --host=localhost --port=32050 </code> 인터페이스 참고는 '1' 버튼을 눌러 받을 수 있다. === icecast === icecast에서 엄청난 삽질을 했었는데, mount되어 보여야 할 목록이 왜 안보이나 했더니, mpd에서 재생 중이어야 하 목록이 보이더군. 다음은 icecast.xml 설정 파일이다. <code xml icecast> <icecast> <location>Koyang-si, Kyeoggi-do, South Korea (대한민국 경기도 고양시)</location> <admin>ep6tri@hotmail.com</admin> <limits> <clients>100</clients> <sources>2</sources> <threadpool>5</threadpool> <queue-size>102400</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> </limits> <authentication> <source-password>010.9908.3348.#$n-s!cdnsV@@(1</source-password> <admin-user>changwoo</admin-user> <admin-password>01099083348</admin-password> </authentication> <hostname>localhost</hostname> <listen-socket> <port>32050</port> </listen-socket> <fileserve>1</fileserve> <paths> <basedir>./</basedir> <logdir>./log</logdir> <webroot>./web</webroot> <adminroot>/usr/local/Cellar/icecast/2.3.3/share/icecast/admin</adminroot> <pidfile>./icecast.pid</pidfile> <alias source="/" destination="/status.xsl"/> </paths> <mount> <mount-name>/x-japan</mount-name> </mount> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <!-- <playlistlog>playlist.log</playlistlog> --> <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> <logsize>10000</logsize> <!-- Max size of a logfile --> <!-- If logarchive is enabled (1), then when logsize is reached the logfile will be moved to [error|access|playlist].log.DATESTAMP, otherwise it will be moved to [error|access|playlist].log.old. Default is non-archive mode (i.e. overwrite) --> <!-- <logarchive>1</logarchive> --> </logging> <security> <!-- <changeowner> <user>nobody</user> <group>nogroup</group> </changeowner> --> </security> </icecast> </code> icecast 또한 ~/.icecast에 설정과 각종 로그 파일을 집어넣어 두었다. 여기서 ''/usr/local/Cellar/icecast/2.3.3/share/icecast/web'' 부분은 따로 떼어내 홈 쪽으로 옮긴 것을 주목하라. 나중에 스킨의 추가를 위해 일부러 저렇게 두었다. ==== 실사용 ==== 권한 조정, 데몬화 등이 필요하다. 그리고 노래 설정을 보다 편리하게 해 줄 부가적인 패키지를 필요로 한다. 일단 iOS에서는 [[https://itunes.apple.com/us/app/mpod/id285063020|MPoD]]를 이용한다. 웹 버전으로는 [[http://sourceforge.net/p/rompr/wiki/Installation/|rompr]]가 있다. 실제로 한 방에 돌아가도록 조치가 취해져야 한다. 위 설정 중 상대 경로를 모두 절대로 변경하고, <code bash radio> #!/bin/sh ~/.icecast/icecast mpd ~/.mpd/mpd.conf </code> ==== 참고 ==== * http://www.t3node.com/blog/streaming-audio-with-mpd-and-icecast2-on-raspberry-pi/ * http://www.icecast.org/docs/ices-latest/ * http://dzello.com/blog/2012/11/21/live-stream-audio-from-osx-mountain-lion-with-icecast-and-darkice/ * http://shellbt.tistory.com/entry/ogg-%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%EC%84%9C%EB%B2%84-icecast2-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0 * http://mpd.wikia.com/wiki/Mpd_on_OS_X_Snow_Leopard * http://www.musicpd.org/doc/user/index.html ===== Homebrew ===== Macports에 비해 Homebrew가 더욱 깔끔하므로 Macports를 버리고 [[http://brew.sh/|Homebrew]]를 사용한다. ===== MacPorts ===== 각종 라이브러리들은 [[http://www.macports.org/|MacPorts]]를 사용해 설치한다. 일일이 소스 설치하는 것보다 훨씬 나으리라 기대한다. [[http://www.macports.org/install.php]]에서 간단하게 pkg 파일 받아 설치하면 끝. 설치 전에 요구 사항을 잘 읽어보기 바란다. Xcode등이 설치되어 있어야 한다. ==== 매우 간단한 명령 몇 가지 ==== === selfupdate === 포트 트리를 새롭게 업데이트한다. === search === 트리의 패키지들을 검색 === info === 패키지에 대한 설명 출력 === install === 패키지 설치 === clean === 패키지 설치 중 생성된 중간 파일 모두 삭제 sudo port clean --[all|dist|archive|work] [package] === uninstall === 설치된 패키지를 삭제한다. sudo port uninstall --follow-dependencies === contents === 패키지가 설치한 파일을 추력한다. === installd === 설치된 패키지의 정보를 보여준다. port installed port -v installed atlas === outdated === 오래된 패키지 정보를 출력한다. === upgrade === 패키지를 업그레이드한다. port upgrade [package] port upgrade outdated # 모든 것을 업그레이드 ==== MacPorts의 패키지가 저장되는 장소 ==== 아파치 같은 것들은 ''/usr/sbin''에 저장되긴 하는데, boost와 같은 library들은 ''/opt/local''에 저장되더라. ===== Apache, PHP ===== 로컬 위키를 구축하기 위해 맥미니에도 아파치 서버를 사용하기로 결정했다. 그러나 아직은 자동으로 동작하도록 하는 init 스크립트들을 도입하지는 않았다. 그러므로 사용하려면, sudo httpd -k start 종료하려면 sudo httpd -k stop 을 입력하자. ==== 설치 ==== MacPorts를 이용하여 설치. ports install apache2 ==== 설정 ==== 설정 파일은 ''/private/etc/apache2''에 위치한다. * ''ServerRoot''아래에 ''ServerName MacMini''를 추가. * userdir 모듈이 로딩되어 있는지 확인하자. 기본적으로 설정되어 있다. * 맥에서 기본 유저 디렉토리 이름은 ''Sites''이다. * DocumentRoot: ''/Library/WebServer/Documents'' * 이외에는 기본 설정을 써도 무방하다. 개인적으로 로컬에서만 사용하기 때문에 불필요하게 '고성능'일 필요가 없다. 성능을 낮추는 방안을 생각해 보자. ===== PHP5 ===== php 버전은 5.5로 잡았다. 필요한 잡다한 모듈들은 php55-* 등으로 별도 제공된다. 웹서버에서 PHP 스크립트를 확실히 작동시키려면 [[macmini:start&#설정]]항목에서와 같이 httpd.conf에서 php 모듈이 로딩되었는지 확인하고, 모듈을 로딩시켜주면 된다.
macmini/start.txt
· 마지막으로 수정됨: 2014/10/09 21:24 저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로