초보에 의한, 초보를 위한 Cent OS 6.5 로 NAS 만들어보기.

witbox   
   조회 28591   추천 15    

http://www.yongcloud.co.kr/nas_wiki/doku.php?id=linux%EB%A5%BC_%EC%9D… (1656)

안녕하세요?

강좌라고 하기엔 부끄럽지만, 삽질의 결과물을 공유하고 싶어서 여기에 올립니다.
전혀 새로울 거 없습니다. 검색하면 다 나오지만, 손가락 덜 아프시라고 한 데 모아두었습니다.

## 작업의 배경 : 기성NAS는 재미없고, 윈도우+기능추가는 뭔가 아쉽고, 핵놀은 불안하고, 시간은 많고, 그래 직접 만들어보자!!

# #참고사이트 : 링크주소 참조

##  하드웨어 : TX100 + 8GB ram + 1TB HDD

## 운영체제 : 바위같은 안정성!! cent os 6.5 minimal( 최소설치, 한글폰트만 추가 )

## ip : 192.168.1.51

## 기능 : APM, FTP, SAMBA, OWNCLOUD, TRANSMISSION, PLEX, MUNIN(모니터링)

comment
** 리눅스를 설치, vi 다루실 정도의 스킬만 있어도 위의 기능을 모두 구현하실 수 있습니다. **
** 아래 명령문들을 드래그 해서 putty 프롬프트에 그대로 붙여 넣으시면 됩니다. **
** 설치/관리의 편의상 모두 패키지로 설치합니다. 설정도 최대한 간편하게 작업하도록 하였습니다.**
** 한 줄씩 드래그/붙여넣기가 귀찮으시면 아래 전체를 복사하셔서 메모장에서 프롬프트( # )를 미리 제거하고 여러 줄을 한꺼번에 붙여넣기 하시면 됩니다. **

그럼 시작합니다!!


==== 업데이트 및 주요 유틸리티 설치 ====
# yum -y update
# yum -y install ntsysv system-config-network-tui setuptool unzip wget rdate crontabs parted
# yum -y install fail2ban jwhois system-config-firewall-tui openssh-clients

==== 시간 동기화 ====
# rdate -s time.bora.net

==== SELinux 비활성화 ====
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

==== iptables 비활성화 ====
#저는 공유기 아래에서 사용할거라 일단 iptables 는 껐습니다. 사용하실 분은 해당 포트만 iptables 에 추가해 주시면 됩니다.
# service iptables stop
# chkconfig iptables off

==== APM 설치 ====
# yum -y install httpd php mysql
# yum -y install gd gd-devel libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel fontconfig fontconfig-devel libxml2 libxml2-devel openssl openssl-devel gmp gmp-devel mhash mhash-devel libmcrypt libmcrypt-devel mysql-server php-mysql php-devel php-gd php-mbstring php-mhash php-xml perl

=== apache 설정 ===
설정파일 백업
# cp -av /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ori

설정
# sed -i 's/KeepAlive Off/KeepAlive On/' /etc/httpd/conf/httpd.conf
# sed -i 's/#ServerName www.example.com:80/ServerName 127.0.0.1:80/' /etc/httpd/conf/httpd.conf
# sed -i 's/AddDefaultCharset UTF-8/#AddDefaultCharset UTF-8/' /etc/httpd/conf/httpd.conf
# sed -i 's/ServerTokens OS/ServerTokens Prod/' /etc/httpd/conf/httpd.conf
# sed -i 's/ServerSignature On/ServerSignature Off/' /etc/httpd/conf/httpd.conf
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf

=== php 설정 ===
설정파일 백업
# cp -av /etc/php.ini /etc/php.ini.ori

설정
# sed -i 's/short_open_tag = Off/short_open_tag = On/' /etc/php.ini
# sed -i 's/;date.timezone =/date.timezone = "Asia\/Seoul"/' /etc/php.ini
# sed -i 's/allow_call_time_pass_reference = Off/allow_call_time_pass_reference = On/' /etc/php.ini
# sed -i 's/expose_php = On/expose_php = Off/' /etc/php.ini
# sed -i 's/error_reporting = E_ALL \& ~E_DEPRECATED/error_reporting = E_ALL \& ~E_NOTICE \& ~E_DEPRECATED \& ~E_USER_DEPRECATED/' /etc/php.ini
# sed -i 's/register_globals = Off/register_globals = On/' /etc/php.ini
# sed -i 's/magic_quotes_gpc = On/magic_quotes_gpc = Off/' /etc/php.ini

=== mysql 설정 ===
설정파일 백업
# cp -av /etc/my.cnf /etc/my.cnf.ori

# cp -av /usr/share/mysql/my-huge.cnf /etc/my.cnf
 --> overwrite : yes
# sed -i 's/skip-locking/skip-external-locking/' /etc/my.cnf

=== 서비스 시작 ===
# service httpd start
# service mysqld start

부팅시 데몬 시작
# chkconfig httpd on
# chkconfig mysqld on

=== mysql 초기설정 ===
# /usr/bin/mysql_secure_installation
--> root 암호 생성
--> 나머지 모두 엔터

=== ftp 서버 ===
# yum install -y vsftpd ftp
# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.ori

설정
# vi /etc/vsftpd/vsftpd.conf

빈 파일에 그대로 입력
--------------------------------------+
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=51000
pasv_max_port=51100
--------------------------------------+
공유기 포트포워딩에서 51000 ~ 51100 열어주세요.

# service vsftpd start
# chkconfig vsftpd on

사용자 추가
# adduser ftpuser
# passwd ftpuser

==== samba ====
# yum -y install samba
# cp /etc/samba/smb.conf /etc/samba/smb.conf.ori

# sed -i 's/MYGROUP/WORKGROUP/' /etc/samba/smb.conf
# sed -i 's/security = user/security = share/' /etc/samba/smb.conf 
# sed -i 's/server string = Samba Server Version %v/server string = NAS-51/' /etc/samba/smb.conf 

위 빨강 글씨는 탐색기에서 보여질 이름입니다.

설정추가
# vi /etc/samba/smb.conf
아래 내용을 맨 끝에 넣어줍니다.
//--------------------------------------+
[nas-51]
        comment = NAS-51
        browseable = yes
        writable = yes
        path = /home/ftpuser
--------------------------------------//
경로는 실제 경로를 넣어줍니다.


# chkconfig smb on
# service smb start

사용자 인증 추가
# smbpasswd -a root
 --> 패스워드 입력
# service smb restart


==== owncloud ====
# cd /tmp
# tar -xvf owncloud-latest.tar.bz2
# mv owncloud /var/www/html
# chown -R apache:apache /var/www/html/owncloud

# mysql -uroot -p
sql> CREATE DATABASE owncloud;
sql> quit;

실행:

==== transmission ====
리포지토리 추가

설치:
# yum -y  install transmission-daemon

한번 시작/종료
# service transmission-daemon start
# service transmission-daemon stop

# chkconfig transmission-daemon on

사용자 추가:
빨강 글씨는 임의로 넣으세요.
# useradd -m transmission
# passwd transmission

# mkdir -p /home/transmission/Downloads
# mkdir -p /home/transmission/Incoming

# cp /var/lib/transmission/.config/transmission/settings.json  /var/lib/transmission/.config/transmission/settings.json.ori

# sed -i 's/rpc-whitelist-enabled": true/rpc-whitelist-enabled": false/' /var/lib/transmission/.config/transmission/settings.json
# sed -i 's/rpc-authentication-required": false/rpc-authentication-required": true/' /var/lib/transmission/.config/transmission/settings.json
# sed -i 's/rpc-username": ""/rpc-username": "transmission"/' /var/lib/transmission/.config/transmission/settings.json
# sed -i 's/rpc-password":.*/rpc-password": "password",/' /var/lib/transmission/.config/transmission/settings.json

# sed -i 's/"download-dir": ".*/"download-dir": "\/home\/transmission\/Downloads",/' /var/lib/transmission/.config/transmission/settings.json
# sed -i 's/"incomplete-dir": ".*/"incomplete-dir": "\/home\/transmission\/Incoming",/' /var/lib/transmission/.config/transmission/settings.json
# sed -i 's/"incomplete-dir-enabled": false,/"incomplete-dir-enabled": true,/' /var/lib/transmission/.config/transmission/settings.json

# chown -R transmission.transmission /home/transmission/Downloads/ /home/transmission/Incoming/
# chmod g+w /home/transmission/Downloads/ /home/transmission/Incoming/

# service transmission-daemon start

--- 실행 ---


==== plex server ====

# yum localinstall plexmediaserver-0.9.8.18.290-11b7fdd.x86_64.rpm
# service plexmediaserver start

실행

==== 모니터링 도구 ====
# yum -y install munin

# vi /etc/munin/munin.conf
아래 주석 제거
//---------------------------------------+
  dbdir   /var/lib/munin
  htmldir /var/www/html/munin
  logdir  /var/log/munin
  rundir  /var/run/munin
---------------------------------------//

# vi /etc/munin/munin-node.conf
---------------------------------------+
allow ^127\.0\.0\.1$
allow 192.168.1.51
---------------------------------------+

환경설정파일 
# vi /etc/httpd/conf.d/munin.conf
//---------------------------------------+
  AuthName "munin"
---------------------------------------//

사용자 munin 의 패스워드 생성
# htpasswd -cm /etc/munin/munin-htpasswd munin

실행:
http://192.168.1.51/munin/



휴~ 여기까지 별 문제 없이 따라오신 분은 위의 기능들이 모두 작동할 거라 생각됩니다.

## 남은 숙제:
  사용자/그룹 관리
  공유폴더( ftp, samba, owncloud 등등 ) 관리
  이 외 기능추가 및 최적화


실제로 사용에 들어가시기 전 위의 단계를 몇번이고 반복해서 본인만의 최적의 조건을 찾으시길 바랍니다. 

혹 에러나거나 막히는 부분이 있으시면 답글 달아주세요. 능력이 닿는 한 도와드리겠습니다.
너무 감사합니다. 막연하기만 했는데 도움이 될듯 합니다....  조만간 ... 최저전력으로 하나 만들어야 겠습니다...
베이트레일 쿼드 세트로다가 해서 풀로드  약 60와트 미만으로 하나 만들어볼가 생각중에 있지만.. 자금이 하하 ... 너무 감사합니다.OWNCLOUD, TRANSMISSION, PLEX 이 3 프로그램은 어떤건가요? 너무 궁금하네요 대충 설명을 부탁드려봅니다...
     
이성만 2014-06
OWNCLOUD 는 개인용 웹하드입니다.
 http://121.160.93.79:5180/owncloud test / test

Transmission 은 웹브라우저에서 토렌트를 관리할 수 있는 프로그램입니다.
 http://121.160.93.79:9090/transmission/web/

plex 는 동영상 서버라 생각하시면 됩니다. 공식사이트.
 https://plex.tv/
황재광 2014-06
귀중한 강좌 감사합니다
최승현 2014-06
소중한 정보 감사합니다.
치즈케이크 2014-06
강좌 감사합니다
행복 2014-06
좋은강좌 감사합니다.
손광민1 2014-06
감사합니다^^
1김인1 2014-06
정말 감사합니다...^^
배준석 2014-06
좋은 강좌 감사합니다^^*
blueMango 2014-06
일단 감사부터 하고 글 읽겠습니다.
저가 큐냅때문에 답답해하고 있었는데...
시간도 나고 이제 슬슬 노닥질을 시작해 보려구요....

감사합니다.
권희석 2014-07
좋은 정보 감사합니다.
정현태 2014-07
좋은 정보 감사합니다. 설정 방법 특이한 부분들이 있네요. 도움될 것 같습니다.
모톡이 2014-07
좋은 정보 감사합니다
집에 있는 노트북에 한번 도전 해 봐야 겠네요 ^^
비즈보드 2014-08
좋은 정보 감사합니다. 아주  쉽게 작동 되네요..  설정 방법 자세히 봐야겠네요..
잭온 2014-10
개인적으로는 트랜스미션 대신 VNC세팅에 토런트 클라이이언트를 vuze를 이용하고 있습니다.
자바기반프로그램이라 인터페이스도 다른 플랫폼과도 동일하고 기능도 좋아서 만족하고 사용중입니다.


제목Page 25/28
2014-08   30083   빠시온
2014-07   23999   주영진영아빠
2014-07   25937   분노의다운힐
2014-07   24034   황진우
2014-06   31200   황진우
2014-06   19059   박정길infoeyes
2014-07   12570   user
2014-06   28592   witbox
2014-05   18214  
2014-05   17549   김황중
2014-05   15847   김황중
2014-05   17793   김황중
2014-05   14281   user
2014-05   17083   뚜뚜김대원
2014-05   11676   주영진영아빠
2014-04   47592   dydans
2014-04   27637   dydans
2014-04   15638   황진우
2014-04   18815   김은호
2014-04   11074   회원K