본문 바로가기
[Naver Cloud Camp 7] 교육 정리

네이버 클라우드 캠프 9일차 230504

by 우기37 2023. 5. 4.

#1 교육 리뷰

오늘은 지금까지 약 2주 동안 배운 내용을 직접 실행 해보는 복습 위주의 교육이었습니다.

네이버클라우드 플랫폼에 임시계정으로 ubuntu 로그인 하여 아래와 같이 과제를 해보도록 하겠습니다.

 

1. 기본 패키지 설치

2. 환경 설정. .bash_aliases, .vimrc

3. 사용자 용량제한

4. mysql 계정 만들기

5. apache2설정 및 확인(php확인, wp설치)

6. tomcat 설정, 확인

7. quota설정

8. bind설정, 확인

9. mail보내기

 

 

#2 환경설정 : bash에서 alias 설정 / vim 기본설정

 

bash에서 alias 설정)

vi ~/.bash_aliases



alias h='history'

alias l='ls -AlF'

alias c='clear'

alias cp='cp -i'

alias mv='mv -i'

alias df='df -h'

alias du='du -sh'

alias li='ls -Ali'

alias lh='ls -Alh'



alias ai='apt -y install'

alias sp='systemctl stop'

alias ss='systemctl start'

alias sr='systemctl restart'

 

기본 vim 설정)

vi ~/.vimrc



se nu ai ci si ts=4 sw=4 ruler title showmatch

syntax on

hi comment ctermfg=red

 

 

 

#3 기본 package 설치

 

inst.sh 라는 파일을 vi에 넣어서 한번에 실행 해줍니다.

그리고 설치하는 동안 duplicate session을 열어서 다른 작업을 해줍니다.

vi inst.sh

apt -y install gcc g++ default-jdk mysql-server tomcat9 lynx sendmail glibc-doc apache2 mandoc sqlite3 quota rdate rename tree mailutils python3


apt -y install php php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip php-mysql

. inst.sh

 

 

 

#4 사용자 용량제한

 

먼저 vi /etc/fstab에 들어가서 아래 내용에서 ,usrquota를 추가 기입해줍니다.

/home 파티션이 별도 존재 하다면 /home 파티션에 ext4 defaults,usrquota 를 해주고, /home 파티션이 없다면 / 에 설정을 해주면 됩니다.

 

그리고 일반사용자 user를 만들어 줍니다.

quota 설치 및 mount 해주기

 

ai quota  # quota 설치 (ai 명령어는 alias 참조)

mount -o remount /
mount | grep /
quotaoff -avug
quotacheck -avugm
repquota -a
quotaon -avug

edquota -t  # 유예기간 설정
edquota -u <user> # quodta 설정
repquota -a  # quota 설정 보기

# 문제 발생시 재가동
quotaoff -avug
quotaon -avug

 

 

그리고 만들었던 good user로 로그인 해서 확인해주면 아래와 같이 설정이 되었습니다.

 

quota  # quota 설정 확인

 

 

 

#5 mysql 계정 만들기

 

mysql 관리 기본)

apt -y install mysql-server  # 설치

systemctl start mysql  # demon

mysql  # 접속

linux - id : good, password : j

mysql - id : mygood, password : j

사용할 DataBase : goodDB

 

#!!! 처음 mysql를 설치하면 관리자인 root password 가 비워져 있어 설정을 해주어야 합니다.

 

지금부터는 mysql에서 작업입니다)

mysql> select user();
mysql> select now();
mysql> show databases;

mysql> use mysql
mysql> show tables;
mysql> select user, host from user;

mysql> alter user 'root'@'localhost' identified
	with mysql_native_password by 'j';

mysql> flush privileges;

mysql> create user mygood@localhost identified
	with mysql_native_password by 'j';

mysql> grant all privileges on goodDB.* to mygood@localhost;

mysql> select user, host from user;
mysql> select user, db from db;
mysql> flush privileges;

 

이번에는 일반사용자로 mysql 계정 사용하기)

저는 good 으로 login 해서 입력 해보겠습니다!

 

mysql -u mygood -p
Enter password: j  # j 입력하면 mysql로 들어가집니다.

show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+

create database goodDB;
Query OK, 1 row affected (0.00 sec)

 

 

 

#6 apache2 설정 및 확인(php 확인, wp 설치)

 

apt -y install apache2  # apache2를 설치해줍니다.
apt -y install php  # php를 설치해줍니다.(관련 파일은 #3기본패키지 설치를 참고해주세요.
apt -y install w3m

systemctl start apache2
systemctl status apache2  # active(running)을 확인해주시고 나올때는 q => enter)
systemctl enable apache2

 

php)

vi /var/www/html/k.php

  <?php
  echo(" APM 완료 <br> ");
  phpinfo();
  ?>

 

 

cd /var/www/html/

w3m localhost/k.php  # w3m은 터미널에서 사용할 수 있는 텍스트 기반 웹 브라우저입니다.

 

 

wp(wordpress)

 

워드프레스 링크를 가져오기 위해 '워드프레스 다운로드' 를 검색해줍니다.

 

다운로드하고 설치 클릭!

 

여기서 Download.tar.gz 를 우클릭 하여 링크 복사를 해줍니다.

 

cd /var/www/html  # /var/www/html 으로 들어가줍니다.

wget https://ko.wordpress.org/latest-ko_KR.tar.gz  # 워드프레스 압출파일 링크 복사해서 가져오기
ls

tar xf latest-ko_KR.tar.gz  # 워드프레스 압축파일 해제

ls

mv wordpress/ wp  # wp 로 이동

cd wp/  # wp 로 들어가줍니다.

ls

cp  wp-config-sample.php  wp-config.php  # 복사

vi wp-config.php  # mysql 계정 만들 때 user 와 userDB 와 pw 를 입력해줍니다.

systemctl restart apache2  # apache2 재시작

w3m localhost/wp  # 터미널에서 확인해보기

 

사진 참조)

성공! 짜잔!

 

 

 

#7 tomcat 설정 및 확인

 

cd /var/www/html  # cd .. 으로 다음 경로로 들어가줍니다.

apt -y install tomcat9 tomcat9-examples tomcat9-admin tomcat9-docs  # tomcat9 설치

systemctl start tomcat9

systemctl status tomcat9  # active (running) 을 확인해줍니다.

systemctl enable tomcat9

w3m http://localhost:8080

짜잔~~성공!

 

tomcat 일반사용자로 연동 확인)

 

vi /var/lib/tomcat9/conf/tomcat-users.xml

 

vi /var/lib/tomcat9/conf/tomcat-users.xml

# 아래 3줄 추가 입력
 <role rolename="manager-gui"/>
 <role rolename="admin-gui"/>
 <user username="good" password="j" roles="manager-gui,admin-gui    "/>

 

good 사용자에서도 실행 성공!!^^!!

 

 

 

#9 bind 설정 및 확인

 

apt -y install bind9 bind9utils bind9-doc dnsutils  # bind 설치
systemctl start bind9  # bind 시작
systemctl restart bind9  # bind 수정 후 재시작
systemctl status bind9  # bind 상태확인, active(running)으로 정상적으로 실행중인지 확인 (빠져나오기는 q)
ufw status  # 방화벽 상태 확인
ufw disable  # 방화벽 해제 <=> 다시 실행은 ufw enable

cd /etc/bind  # bind 로 경로 이동
ll  # bind 안에 수정할 파일 목록 확인
vi named.conf.options  # vi 로 들어가서 아래와 같이 수정해줍니다.

# 수정 명령어
dnssec-validation no;  // auto => no 로 바꿔줍니다.

recursion yes;
allow-query { any; };
listen-on-v6 { any; };

 

 

vi named.conf.default-zones  # vi 로 들어가줍니다.

#아래 추가 입력 명령어
   zone "it.kr" {
       type master;
       file "/etc/bind/it.zone";
   };
   
   zone "20.50.100.in-addr.arpa" {
       type master;
       file "/etc/bind/it.rev";
   };

 

 

cp db.local it.zone  # it.zone 에 db.local 을 복사해줍니다.
vi it.zone  # vi 로 들어가서 아래와 같이 수정해줍니다.

# 추가 입력 및 수정 명령어
@   IN  SOA  ns.it.kr. master.it.kr. (  # 5번라인

       IN  NS  ns.it.kr.
       IN  A   100.50.20.10
 ns  IN  A   100.50.20.10
 www    IN  A   100.50.20.20
 ftp   IN  A   100.50.20.30
 mail IN  A   100.50.20.40
 sun  IN  CNAME   www

 

 

cp it.zone it.rev  # 방금 만든 it.zone을 it.rev에 복사해줍니다.
vi it.rev  # vi 로 들어가줍니다.

# 추가 수정 명령어
10  IN  PTR ns.it.kr.
20  IN  PTR www.it.kr.
20  IN  PTR sun.it.kr.
30  IN  PTR ftp.it.kr.
40  IN  PTR mail.it.kr.

 

 

systemctl restart named  # 아래와 같이 not found 가 뜨더라도 nslookup 실행 해보시면 정상적으로 작동합니다.

nslookup
> server 127.0.0.1  # 본인 아이피로 들어가서 주소 또는 ip 를 입력해서 확인해줍니다

 

*주의사항*

it.zone 과 it.rev 파일 등 명령어 입력하실 때 tab 키를 이용해서 작성해야 에러를 최소화 할 수 있습니다.(space bar : X)

저도 처음에 띄어쓰기로 작성햇다가 짝꿍의 도움으로 tab 키로 다시 수정했더니 정상 작동 되었습니다 ㅎㅎ;

 

#10 mail 보내기

comingsoon..