#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..
'[Naver Cloud Camp 7] 교육 정리' 카테고리의 다른 글
네이버 클라우드 캠프 11일차 230509 (2) | 2023.05.09 |
---|---|
네이버 클라우드 캠프 10일차 230508 (0) | 2023.05.08 |
네이버 클라우드 캠프 8일차 230503 (1) | 2023.05.03 |
네이버 클라우드 캠프 7일차 230502 (0) | 2023.05.02 |
네이버 클라우드 캠프 6일차 230501 (1) | 2023.05.01 |