12. System Log
▣ 로그 메시지 주요 파일
- 로그 파일은 필요할 때마다 찾아서 보면 됨.
- /var/log에는 다양한 로그 파일들이 존재
- /var/log/dmesg : Kernel 부팅 시 하드웨어를 검색한 메시지 (부팅시 출력되는 모든 메시지에 대한 로그)
- /var/log/messages : 시스템 운영에 대한 전반적인 로그 (주로 시스템 데몬들의 실행 상황과 내역, 사용자들의 접속정보)
☞ 시스템 관리 및 보안관리에 매우 중요
- /var/log/secure : 접속한 환경에 대해 나옴 (원격접속환경, su 등...)
- 시스템 로그 : 부팅시 /etc/init.d/syslog 스크립트에 의해 syslogd 데몬 구동됨
☞ 설정파일 : /etc/rsyslog.conf
13. APM
1) APM Overview
▣ Apache ? (요약 : 우리 눈에 보이는 껍데기)
- 정식 명칭 : Apache HTTP server
- 관련 홈페이지 : www.apache.org
- GNU GPL 라이센스(무료)를 통해 무료로 배포되는 소프트웨어
- 현재 60%이상의 웹 서버 소프트웨어 시장 점유.
☞ 안정적으로 동작
☞ 아마존 이나 IBM 같은 주요 인터넷 서비스 회사에서도 아파치 웹 서버를 사용
☞ 아파치 서버 프로그램 전체는 물론이고 관련 컴포넌트들의 소스코드가 무료로 제공
☞ 유연성이 좋기 때문에 여러 응용 분야에 적용 => OS에 구애받지 않음
▣ PHP ? (요약 : 꾸며주는 역할)
- 웹 프로그래밍을 위한 스크립트 언어
- 다른 언어와 혼합 사용 : PHP (70%) + HTML (25%) + JavaScript (5%)
- PHP가 나오기전 HTML만을 사용할 때는 페이지에 그림이 없고 글자 + 그래프만 존재했었음.
- JavaScript는 사용하지 않아도 상관없음.
- 특징
☞ 처리 속도 빠름
☞ 공개 S/W (무료)
☞ 운영체제 지원 폭이 큼 (OS에 구애받지 않음)
☞ 많은 DB와의 연동 지원
▣ SQL ?
- DB안에서 사용하는 언어
- DB에서 사용되는 표준 구조적 쿼리 언어(Structured Query Language)
- 데이터 추출과 출력, DB 구조 정의 등의 DB관리를 위한 언어
▣ MySQL ? (요약 : 실제 데이터가 담겨있는 곳)
- SQL을 지원하는 공개 DB S/W (무료)
- 처리 속도가 빠름
2) APM Install
▣ APM 설치 확인, 기존에 이미 설치되어있는지 체크
- 패키지명을 정확하게 모르니까 grep으로 필터링해서 찾음
- # rpm -qa | grep httpd -> 아미 설치되어있지만 이 버전을 사용하지 않을거임.
- # rpm -qa | grep php
- # rpm -qa | grep mysql
▣ 패키지 검색
- 뜨는 목록중에 [저장소이름].i686을 설치할 것이며 자동으로 선택이 됨.
- # yum search httpd
- # yum search php
- # yum search mysql
- # yum search mysql-server <- MySQL 데이터베이스 관리 도구
▣ 패키지 설치
- 한 번에 다 받을 거임.
- # yum -y install httpd php mysql mysql-server gd gd-devel php-gd php-mysql
- 여기서 gd는 library임. 같이 설치해줘야함.
3) APM Management
▣ 아파치 웹 서버 관리
# service httpd start : 데몬시작
# ps -ef | grep httpd : 데몬 동작 확인(실행되고 있는지를 체크)
# chkconfig --list | grep httpd : 활성화 여부 확인 (활성을 시켜준 적이 없기에 off)
# chkconfig httpd on : 리눅스 부팅 후 자동으로 시작하기 위해 활성화
# chkconfig --list | grep httpd : 활성화 여부 확인 (활성을 시켜줬기에 2~5가 on)
# service httpd restart : 설정 변경 후에는 데몬 재시작
▣ 웹 서버 주요 파일
- /var/log/httpd : 웹서버 로그파일
- /var/www/html : 웹문서 디렉토리(웹서버의 최상위 디렉토리), 웹루트(걍 외우셈)
☞ 리눅스의 최상위 디렉토리가 / 인것과 똑같은 의미.
☞ www.daum.net/abc : 이 때 abc는 디렉토리 또는 파일임. ( = /var/www/html/abc )
☞ 여기서 생각해보면 ./../../ 이런 것들을 조합한다면 우리는 /etc/shadow까지 갈 수 있는 해킹이 가능함.
▣ MySQL 관리
# service mysqld start : MySQL 데몬 시작
# ps -ef | grep mysqld : 데몬 동작 확인
# mysqladmin -u root password 'yoyo' : MySQL 관리자 아이디, 패스워드 설정
# mysql -u root -p : mySQL 접속 ( -p 옵션 : 패스워드를 입력하겠음 )
Enter password:
mysql >
mysql > status <- 상태 출력
.....
mysql > show databases; <- 기본적으로 3개의 데이터베이스를 출력
.....
mysql > exit
# chkconfig --list | grep mysqld : 활성화 여부 확인 (역시 off로 되어있음)
# chkconfig mysqld on : 리눅스 부팅 후 자동으로 시작하기위해 활성화
# service mysqld restart : 서비스를 재시작 (아주중요)
▣ PHP 설정
# vi /etc/httpd/conf/httpd.conf : 웹서버가 PHP 문서를 서비스하기 위해 설정파일 수정
DirectoryIndex index.php index.htm index.html index.html.var <= 402줄, php htm 인덱스 파일 추가
☞ 402줄 찾아가는 법 : (실행모드)-> :se nu => 줄번호가 뜨게 해줌
(명령모드) -> 402 엔터 => 기준줄 0줄에서부터 402줄로 감.
#AddType application/x-tar .tgz <= 765줄, 밑에 php, php 소스파일 MIME 형식 설정
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
☞ 위의 :se nu 를 쓰는 것은 똑같으나 기준은 0줄이 아닌 402줄로 되어있음.
☞ 그래서 765줄로 가기 위해서는 명령모드에서 765 - 402인 363 엔터를 쳐야함.
# vi /etc/php.ini
short_open_tag = On <= 229줄 PHP 태그 설정 (Off -> On)
# service httpd restart : 설정 변경후 데몬 재시작
- ifconfig로 ip 주소 알아내서 주소창에 치면 됨.
- 만약에 아무것도 뜨지 않는다면 방화벽을 꺼주고 다시 주소창에 침. (방화벽 끄기 : iptables -F)
4) Zeroboard
▣ Zeroboard 란?
- 제로보드는 PHP와 MySQL이 지원되는 서버에 설치하여 사용하느 게시판
- 간단하게 말하면 게시판형 홈페이지 꾸미기임.
- 네이버가 인수해가면서 이름을 XpressEngine으로 바꿈.
☞ http://www.xpressengine.com/
☞ 자신의 계정에 직접 설치를 하여 사용
☞ MySQL DB 시스템을 사용하여 자료 추출, 가공, 이식, 보관이 매우 용이
☞ 내부 소스 프로그램 수정없이 스킨(skin)만을 사용하여 게시판의 출력형태를 가공
=> 스킨만? 마우스 클릭으로 간편하게 설정한다는 것.
▣ Zeroboard Install
- xe.1.5.2.2.ko.tar.gz 파일 확보
- 웹루트(/var/www/html)에서 다음과 같이 압축풀기
☞ # tar -zxvf xe.1.5.2.2.ko.tar.gz => xe 디렉토리 생성
- 생성된 xe 디렉토리 사용권한 변경
☞ # chmod 777 xe
☞ 누구나 접속가능하게 권한 변경
[리눅스에서 ftp 사용하기]
- 추후 추가할 것.
▣ Zeroboard Install
- MySQL DB 제로보드 DB데이터 추가
- MySQL DB 제로보드 DB데이터 활성화 인식
# mysql -u root -p
mysql > create database zero; -> 새로운 제로보드용 DB 생성
mysql > flush privileges; -> 생성한 DB 활성화 및 인식시키기
mysql > quit
▣ 웹 브라우저에서 제로보드 들어가기
- http://서버IP/xe
- 들어가서 시키는 대로 설정함
- DB는 앞서 생성한 zero로.
i2sec 대구지점 23기 수료생.
'해킹&보안 > Linux' 카테고리의 다른 글
[D+14] 리눅스 보안 (0) | 2017.02.25 |
---|---|
[D+12] Package Install & Daemon (0) | 2017.02.22 |
[D+11] Vi editor (0) | 2017.02.21 |
[D+10] Link (0) | 2017.02.20 |
[D+9] Process Management (0) | 2017.02.17 |