2010년 8월 25일 수요일

[프로그래밍] 리눅스로 초간단 웹하드 만들기



리눅스로 초간단 웹하드 만들기


부제 - 리눅스 웹사이트, 스토리지, DB 구축 처음부터 끝까지 내 손으로 하기.


설치 관점


A. 설치는 무조건 쉬워야 한다.
 - 설치는 yum 을 통해 모두 설치되어야 하고, 설치 삭제 후에 통합성을 그대로 유지할 수 있어야 한다.
B. 원하는 기능은 완전 무결하게 작동해야한다.
 - 하드웨어와 OS는 호환성과 안정성을 고려하여, 최적의 배포판을 선택하여야 한다.
C. 시스템 자원을 너무 아낄 필요가 없다. cpu 에 여력이 있으면 넉넉하게 자원을 사용하자.


1. 시스템 설계


 1.1 서비스의 목적을 구체화한다.
 1.2 적정한 사양을 정하고 원하는 부품 초이스하기. 
 1.3 하드웨어 견적서 받기
 1.4 IDC 선정 또는 서버호스팅 업체


2. 세부 시스템별 서비스 세팅


 2.1 DNS, 웹서버 세팅


  2.1.1 fedora core 6 CD / DVD / FTP 설치한다.
  2.1.2 yum 을 이용하여 기본적인 패키지 다운로딩과 설치
     screen , hdparm 기타 등등..
  2.1.3 yum 을 이용하여 ftp 설치 및 세팅
  2.1.4 yum 을 이용하여 방화벽 설정 변경, script 화.
   - tcp wrapper 에 대해 이해하기.
  2.1.5 yum 을 이용하여 mysqld 최신버전 설치 세팅 변경
  2.1.6 yum 을 이용하여 httpd 세팅 변경..
  2.1.7 yum 을 이용하여 php 와 관련 모듈 설치 및 세팅 변경
   - gd , mcrypt, mbstring, pdo, pear, snmp ..
  2.1.8 snmp 설치 와 cacti 로 서버상태 점검 구현
  
 2.2 추가적인 웹서버 설정 및 L4 로드벨런싱을 위한 서버 동기화 설정


  2.2.1 서버 별로 다르게 잡아줘야되는 부분
   - vi 편집툴을 이용하여 쉽게 수정하자.
  2.2.2 동기화
   - rsync 동기화, crontab 기능으로 만들어보는 동기화 프로그램


 2.3 DB 서버 세팅


  2.3.1. mysql 설치 및 환경 설정
  2.3.2. DB 서버튜닝
   - DB 서버 튜닝의 관점
    DB 서버 튜닝의 핵심은 세밀한 모니터링이다.
     DB 서버에 남겨진 로그를 통해 퀴리 속도를 지연하는 핵심 원인을 찾아 순차적으로 해결해야한다.
  2.3.3. cacti 그래프 에서 sql db 상태를 그래프로 남기기
  2.3.4 oracle 설치 및 환경 설정
   - oracle 을 설치하는 것이 정해지면 가장 쉽게 설치할 수 있는 배포판을 찾아서 설치할 것.
  2.3.5. DB 서버 replication


 2.4 스토리지 서버
  
  2.4.1. RAID 구성과 RAID 세팅 변수 값에 대한 이해. 
  2.4.2. AMCC 장비에 대한 기술적 이해.
  - tw_cli, 웹 모니터링
  2.4.3. mysql 을 통해 제어되는 통합적 ftp 망 구성
  2.4.4. WEBDAV 세팅
   - 로컬 컴퓨터에서 스토리지 서버에 접근 하여 안전하게 자료 다운받기
  
 2.5 스위치 장비 세팅
  2.5.1 L2, L3 스위치 장비 세팅 방법
  2.5.2 L4 스위치 장비 세팅 방법 - 로드벨런싱
   - L2,L3 단계 세팅
   - slb 서버 로드벨런서 그루핑과 그룹별 로드밸런싱 관리 예제.
   
 2.6 PHP 로 구현하는 웹하드 소스 예제 
  1. 구성 목표
   - 인증된 회원만이 접근할 수 있다.
   - 접근 회원마다 권한이 틀릴 수 있다.
   - 파일업로드 다운로드 과정은 암호화 되어야 한다.
  2. 구현 예제.
   - curl 을 이용하여 안전한 전송, mhash 이용하여 암호화.


댓글 없음:

댓글 쓰기