DAY_10 그누보드 사용해보기
체크리스트
● ftp는 무엇인가 ?
- File Transfer Protocol 로 파일 전송 프로토콜이다. 암호화 되어 있지 않다.
● ftps는 무엇인가 ?
- ftp에 인증서를 달아서 암호화 통신을 가능하게 해준다.
● sftp는 무엇인가 ?
- 공개키 기반의 ssh에서 제공하는 암호화 통신을 가능하게 하는 프로토콜이다.
- ftp + 암호화 통신이라고 생각하면 된다.
● winscp 프로그램의 역할은 무엇인가 ?
- 서버에 파일을 전송하는 프로그램이다. ftp, sftp, ftps를 지원한다.
● xampp 프로그램의 역할은 무엇인가 ?
- APM 연동하는 프로그램이로 외국에서 제작되었으며 최신 php가 연동되어 있는게 특징이다.
- 리눅스, 윈도우, 맥에서도 동작이 되는게 장점이다.
● systemctl 명령어는 무엇인가 ?
- 서비스의 시작/중지/재시작/상태를 알 수 있는 명령어이다.
● service 명령어는 무엇인가 ?
- 서비스의 시작/중지/재시작/상태를 알 수 있는 명령어이다.
- 쉘 스크립트로 되어있다.
● systemctl 프로그램을 이용해서 웹서버를 시작/중지/재시작 하는 방법은 무엇인가 ?
- systemctl start/stop/restart/status httpd
● service 프로그램을 이용해서 웹서버를 시작/중지/재시작 하는 방법은 무엇인가 ?
- service httpd start/stop/restart/status
● 프로세스를 확인하는 명령어는 무엇인가 ?
- ps
● 시스템에서 동작중인 전체 프로세스를 확인하는 명령어는 무엇인가 ?
- ps aux
- ps -ef
● 일반 유저의 홈디렉터리 위치는 어디인가 ?
- 기본값은 /home/일반 유저 이고 하지만 얼마든지 다른 디렉터리로 변경할 수 있다.
# useradd -d /home2/user1000 user1000
# tail -1 /etc/passwd
# su - user100 $ pwd /home2/user1000
$ exit
# userdel -r user1000
● 슈퍼유저(관리자)의 홈디렉터리 위치는 어디인가 ?
- /root
● CentOS7 에서 일반 유저가 파일을 저장할 수 있는 디렉터리를 적으시오.
- 자신의 홈 디렉터리, /tmp ,,,등등 (sticky bit가 설정된 디렉터리)
● /tmp 디렉터리에 대해서 설명하시오.
- 임시 디렉터리로 sticky bit 가 설정된 공용 디렉터리이다.
● /bin 디렉터리에 대해서 설명하시오.
- 일반 명령어가 디렉터리이다. /usr/bin에 심볼릭 링크가 걸려있다.
- 일반 사용자들이 실행할 수 있는 파일이 저장되어 있는 파일이다.
● /usr/bin 디렉터리에 대해서 설명하시오.
- 일반 사용자들이 실행할 수 있는 파일이 저장되어 있는 파일이다.
● /sbin 디렉터리에 대해서 설명하시오.
- 관리자 명령어가 있는 디렉터리이다. /usr/sbin 디렉터리에 링크 되어있는 디렉터리이다.
● /usr/sbin 디렉터리에 대해서 설명하시오.
- 주로 관리자가 실행할 수 있는 파일이 있는 디렉터리이다. 일반 사용자도 사용하는 파일도 있다.
● 로그가 저장되는 디렉터리 위치는 어디인가 ?
- /var/log
● 웹서버로 접속하는 클라이언트의 웹로그가 저장되는 디렉터리는 어디인가 ?
- /var/log/httpd
● 웹서버의 문서가 저장되는 웹 디렉터리는 어디인가 ?
- /var/www/html 기본 디렉터리이며 관리자에 의해서 변경이 가능하다.
● 파일에서 특정 단어를 찾을 때 사용하는 명령어는 무엇인가 ?
- grep, egrep, fgrep
● /etc/passwd 파일에서 root 만 검색해서 화면에 출력하는 명령어는 무엇인가 ?
- grep root /etc/passwd
● APM이란 무엇인가 ?
- Apache(웹서버) + PHP(웹프로그래밍) + Mysql(DBMS)
● Apache란 무엇인가 ?
- http 웹서버로 웹 문서를 제공하는 서버 프로그램(데몬)이다.
● PHP란 무엇인가 ?
- 웹 프로그래밍 언어로 정적인 html을 동적으로 바꿀 수 있다.
● MariaDB란 무엇인가 ?
- 오픈 소스 기반의 DBMS이다.
DAY_9에 이어서,,,,
아파치 웹 서버를 설치하고 재부팅 시 웹 서버를 자동으로 시작하는 방법
- systemctl enable httpd
MariaDB DBMS 패키지를 설치하고 재부팅 시 MariaDB를 자동으로 시작하는 방법
- systemctl enable mariadb
8. 웹 서버 시작
/usr/sbin/httpd : 웹 서버 실행파일
#systemctl start httpd
#systemctl status httpd 그리고 mariadb 확인하기 --> enable 되어 있어야한다
9. 웹 페이지 생성
테스트 파일을 생성한다.
phpinfo() 함수 : APM 연동 정보를 출력하는 함수
phpinfo() 를 실행시켜서 나오는 정보를 확인한다.
APM + 프로그램 연동이 잘 되었는지 확인하는 방법은 phpinfo 함수를 적용해 보는 것이다.
# cd /var/www/html
# vi p.html
<?
phpinfo();
?>
APM
A : /usr/sbin/httpd
P : /usr/bin/php
M : /usr/libexec/mysqld
연동 확인 후 삭제한다.
#rm -f p.html
10. 그누보드 다운로드
그누보드 : 공개형 무료 게시판
# cd /var/www/html
# mkdir bbs
# cd bbs
# yum -y install git
# git clone https://github.com/gnuboard/gnuboard5.git .
실제 운영 서버에서 git을 설치하지 말고 winscp로 업로드한다. --> 지금은 연습 중이기 때문에 사용하는 중
# rm -rf .git .gitattributes .gitignore
data 디렉터리를 777권한으로 생성한다.
웹 사용자가 DB접속 파일들을 data 디렉터리에 저장하기 때문에
이 디렉터리는 일반유저가 write 할 수 있어야 한다.
이 디렉터리는
11. 그누보드 설치
바로 다운로드 화면이 나오지 않는다면
#setenforce 0
mariadb를 시작한다.
#systemctl start mariadb
실습> CentOS 7 분할 설치 + APM + GNU Board
CentOS 7 : 파티션 분할
CentOS 7 : 네트워크 고정 IP주소 설정
고정 IP주소 : ip주소를 static으로 설정한 것이다.
유동 IP주소 : DHCP서버에서 ip주소를 dynamic하게 던져주면 받아서 설정한다.
LVM( Logical Volume Manager ) : HDD를 묶어서 사용하는 기술
CentOS 7을 설치하면 기본값으로 LVM을 이용해서 설치된다.
swap : HDD를 메모리처럼 사용하는 기술
리눅스 설치할 때 반드시 swap 파티션을 나눠줘야 한다.
swap 파티션 용량은 주로 메모리의 2배의 크기로 설정한다.
/ : 나머지
/boot : 300M
/home : 200M
/var : 4G
/usr : 4G
swap : 2G
/tmp : 3G
HDD 사용량을 보여주는 df명령어 옵션을 이용하여 잘 나누어졌는지 확인하기
# df -i (아이노드) / df -h / df
이전(DAY_9)과 똑같은 방식으로 APM + GUNBoard 설치
우선 시작하기 전에 설정 1. vim 설치 2. vi ='vim' 하기 3. alias vi='vim' 을 해서 vi .bashrc 에 저장하기 4. vi .vimrc 만들어 :set nu, :set bg = dark 설정하기 |
PHP : 웹 프로그래밍 언어로 웹에서 사용한다. (스크립트 언어이다. --> 실행파일이 아니라 한줄한줄 해석)
웹 프로그래밍 : JSP, PHP, ASP
php설정파일 : /etc/php.ini
short_open_tag = Off
<?php
코드
?>
short_open_tag = On
<?
코드
?>
DocumentRoot : /var/www/html (웹 페이지가 저장되는 디렉터리)
**주의**
- 설정이 바뀐다면 꼭 systemctl restart httpd 해주기
php는 웹 뿐만 아니라 명령행에서도 직접 실행이 가능하다.
명령행에서 php스크립트를 실행하는 방법
실습 > 명령행에서 실행하는 방법
첫 번째 # php 스크립트명
두 번째 실행방법으로 만들어서 실행
# chmod 755 hello.php
# ./hello.php ---> 왜 ./를 붙이는가? unix 계열은 path를 알려줘야한다.
안녕하세요
'정보보안(시스템,네트워크) > 리눅스' 카테고리의 다른 글
DAY_12 패키지 (0) | 2021.01.11 |
---|---|
DAY_11 파일 압축 명령어, 파이프 사용해보기 (0) | 2021.01.08 |
DAY_9 다양한 디렉터리, APM (0) | 2021.01.06 |
DAY_8 다양한 디렉터리 살펴보기 (0) | 2021.01.05 |
DAY_7 리눅스 디스크 관리 (0) | 2021.01.04 |