가. VI 편집기 설치 및 설정하기
# yum -y install vim
1. .bashrc 설정하기
# nano .bashrc
- alias vi='vim 추가
Ctrl + X 누르고 yes(or y) 그리고 엔터키를 눌러 종료
2. /etc/vimrc 설정 파일에 vi 사용 시 편리성 및 효율성 설정
# nano /etc/vimrc
- 위 이미지처럼 아래 내용을 vimrc 파일 열고 맨 아래 열부터 추가
# 줄 번호 표시
set nu
# 자동 들여쓰기
set ai
# C언어에 맞는 자동 들여쓰기
set ci
# 백그라운드를 어둡게
set bg=dark
# 들여쓰기, 내어쓰기 간격을 4로 설정(4칸)
set sw=4
# 탭 크기를 4로 설정(4칸)
set ts=4
# 탭을 공백으로 수정
set expandtab
# 커서가 있는 줄을 하이라이트
set cursorline
Ctrl + X 누르고 yes(or y) 그리고 엔터키를 눌러 종료
3. vi 편집기를 열어서 설정한 대로 나타나는지 확인
3.1. vi 명령어 기본 모드:
a. 명령모드(이동, 삭제, 복사)
b. 입력모드(글자 입력)
c. EX 모드(또는 콜론 모드):
c.1. :w 저장
c.2. :q 종료
c.3. :w! 강제 저장
c.4. :q! 저장하지 않고 종료
c.5. :wq 저장하고 종료
나. 프로그램 코딩을 위한 컴파일러 및 인터프리터 패키지 설치
1. C 언어 관련 패키지 설치
# yum -y install ctags wget man man-pages gcc make gdb glibc.i686 \
glibc-devel.i686 libgcc.i686 libstdc++.i686 glibc glibc-devel libgcc libstdc++
* 위 패키지는 소프트웨어 개발에 필수적인 도구들이라 한 번에 같이 설치
[참고] 위 패키지 요약 설명
- ctags: 소스 코드의 태그 파일을 생성하는 도구
- wget: 웹에서 파일을 다운로드하는 도구
- man: 명령어 매뉴얼을 보는 도구
- man-pages: 명령어 매뉴얼을 포함하고 있는 패키지
- gcc: C와 C++ 프로그래밍 언어를 위한 컴파일러
- make: 컴파일 과정을 자동화하는 도구
- gdb: 디버깅 도구
- glibc.i686: i686 아키텍처를 위한 glibc 라이브러리
- glibc-devel.i686: i686 아키텍처를 위한 glibc 개발 헤더 파일
- libgcc.i686: i686 아키텍처를 위한 libgcc 라이브러리
- libstdc++.i686: i686 아키텍처를 위한 libstdc++ 라이브러리
- glibc: i686 및 x86_64 아키텍처를 위한 glibc 라이브러리
- glibc-devel: i686 및 x86_64 아키텍처를 위한 glibc 개발 헤더 파일
- libgcc: i686 및 x86_64 아키텍처를 위한 libgcc 라이브러리
- libstdc++: i686 및 x86_64 아키텍처를 위한 libstdc++ 라이브러리
※ 패키지 요약 설명 출처: Bard 에서 제공
- gcc 버전 확인:
[root@localhost ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
- gcc 명령어 경로 학인:
[root@localhost ~]# which gcc
/usr/bin/gcc
[참고] gcc는 다음과 같은 과정을 통해 소스 코드를 실행 파일로 컴파일 함
- 전처리(Preprocessing): 소스 코드에서 매크로를 확장하고, 헤더 파일을 포함
- 컴파일(Compilation): 전처리된 소스 코드를 기계어 코드로 변환
- 어셈블(Assembly): 기계어 코드를 기계어 명령으로 변환
- 링크(Linking): 다른 라이브러리와 함께 실행 파일을 생성
* gcc는 GNU Compiler Collection 약자
1.1. C 소스코드(myprogram.c) 작성
1. #include <stdio.h>
2
3 int main(){
4 printf("Hello C!\n");
5 return 0;
6 }
1.2. 소스코드 컴파일
- 컴파일이란? 소스 코드를 실행파일로 뽑는 작업
- 컴파일 형식.1: gcc 소스파일명 -o 실행파일명
- 컴파일 형식.2: gcc -o 실행파일명 소스파일명
1.3. 컴파일된 실행파일 실행
# ./myprogram
2. C++ 언어 관련 패키지 설치
# yum -y install gcc-c++
- gcc 버전 확인:
[root@localhost ~]# g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
- g++ 명령어 경로 학인:
[root@localhost ~]# which g++
/usr/bin/g++
2.1. C++ 소스코드(myprogram2.cpp) 작성
1 #include <iostream>
2 int main(){
3
4 std::cout << "Hello C++!\n";
5 return 0;
6 }
2.2. 소스코드 컴파일
- 컴파일이란? 소스 코드를 실행파일로 뽑는 작업
- 컴파일 형식.1: g++ 소스파일명 -o 실행파일명
- 컴파일 형식.2: g++ -o 실행파일명 소스파일명
[root@localhost ~]# g++ myprogram3.cpp -o myprogram3
[root@localhost ~]# g++ -o myprogram3 myprogram3.cpp
2.3. 컴파일된 실행파일 실행
[root@localhost ~]# ./myprogram3
Hello C++!
3. JAVA 언어 관련 패키지 설치
# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
- java, javac 버전 확인:
[root@localhost ~]# java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
[root@localhost ~]# javac -version
javac 1.8.0_382
- javac, java 명령어 경로 학인:
[root@localhost ~]# which javac java
/usr/bin/javac
/usr/bin/java
3.1. Java 소스코드(Myprogram4.java) 작성
2 class Myprogram4{
3
4 public static void main(String[] args){
5
6 System.out.println("Hello Java!");
7
8 }
9 }
3.2. 소스코드 컴파일
- 컴파일이란? 소스 코드를 실행파일로 뽑는 작업
- 컴파일 형식: javac 소스파일명
[root@localhost ~]# javac Myprogram4.java
- class 파일 생성 확인 후
[root@localhost ~]# ls Myprogram4.*
Myprogram4.class Myprogram4.java
3.3. 컴파일된 실행파일 실행
- 실행파일 이름뒤에 확장자 명을 안 붙임
[root@localhost ~]# java Myprogram4
Hello Java!
4. Python 언어 관련 패키지 설치
# yum -y install python3
- python3 버전 확인:
[root@localhost ~]# python3 --version
Python 3.6.8
- python3 명령어 경로 학인:
[root@localhost ~]# which python3
/usr/bin/python3
4.1. Java 소스코드(myprogram5.py) 작성
1 print("Hi, Python!")
4.2. 소스코드 컴파일
※ 파이썬은 인터프리터 언어로 컴파일이 필요없음
※ 인터프리터 언어는 실행하면 코드를 바로 해석해서 실행
4.3. 소스코드 실행
[root@localhost ~]# python3 myprogram5.py
Hi, Python!
[참고]
- 컴파일 언어: C, C++, Java
- 인터프리터 언어: python, php, shell script
5. 셀스크립트 여러 실행 방법
# . myprogram6.sh
# bash myprogram6.sh
# sh myprogram6.sh
# chmod 755 myprogram6.sh
- bash 버전 확인:
[root@localhost ~]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
- bash 명령어 경로 학인:
[root@localhost ~]# which bash
/usr/bin/bash
5.1. 쉘스크립트 (myprogram6.sh) 작성
1 echo "Hello Shell Script"
5.2. 소스코드 컴파일
※ 파이썬은 인터프리터 언어로 컴파일이 필요없음
※ 인터프리터 언어는 실행하면 코드를 바로 해석해서 실행
5.3. 소스코드 실행
[root@localhost ~]# sh myprogram6.sh
Hello Shell Script
6. 웹 언어를 위한 JSP 관련 패키지 설치
# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel tomcat tomcat-webapps
- 위에서 java 패키지를 설치 했기 때문에 아래처럼 톰캣만 설치하면 됨
# yum -y install tomcat tomcat-webapps
6.1. 톰캣(tomcat) 시작 및 활성화 하기
# systemctl start tomcat
# systemctl enable tomcat
6.2. 톰캣 시작 및 활성화 후, 서비스 포트(8080, 8005, 8009) 확인
# ss -nlt
[참고] 리눅스에서 ss -nlt 명령어는 TCP 연결을 확인하는 명령어
- ss는 socket statistics의 약자로, 네트워크 소켓의 상태를 확인하는 명령어
- -n은 호스트 이름과 포트 번호를 숫자로 표시
- -l은 LISTEN 상태의 소켓만 표시
- -t는 TCP 소켓만 표시
※ ss -nlt 명령어 요약 설명 출처: Bard 에서 제공
6.3. 방화벽 서비스 포터 추가, 정책 리로더 후 확인
# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --reload
- 서비스 포터 확인
[root@localhost /]# firewall-cmd --list-ports
8080/tcp
6.4. 서버( :8080)로 접속해서 확인
6.5. jsp 소스코드 작성
- 톰캣 소스코드작성 경로 폴더:
[root@localhost ~]# cd /usr/share/tomcat/webapps/ROOT/
- hello.jsp 파일 작성
[root@localhost ROOT]# vi hello.jsp
1 <%@ page language="java" contentType="text/html;
charset=UTF-8" pageEncoding="UT F-8"%>
2 <!DOCTYPE html>
3 <html>
4 <head>
5 <meta charset="UTF-8">
6 <title> ::: jsp 메인 페이지 ::: </title>
7 </head>
8
9 <body>
10 <% out.println("Hello JSP!"); %>
11 </body>
12 </html>
6.6. hello.jsp 소스코드 페이지 요청 확인
'정보 보안 수업 > Lab 구성' 카테고리의 다른 글
정보 보안 랩(Lab) 파트 IV: 네트워크 실습 구성 (2) | 2023.10.28 |
---|---|
정보 보안 랩(Lab) 파트 III: Oracle DB 11g XE 설치 (0) | 2023.10.27 |
정보 보안 랩(Lab) 파트 III: MariaDB 설치 (0) | 2023.10.27 |
정보 보안 랩(Lab) 파트 III: 데이터베이스 (2) | 2023.10.27 |
정보 보안 랩(Lab) 파트 I: 랩(Lab) 구성도 및 서버 설정하기 (0) | 2023.10.25 |