220420

공지

  • 발표영상 최대 20분
    - 그 안에 개인발표 3분씩, 나머지는 시연영상

    • 비어있는 강의실에서 조별로 ZOOM으로 동영상을 만들 수 있다.
  • wordpress가 있다.
    - db서버와 연동시키는 가시적인 부분.

키생성 및 배분

NAT에 키 올리기

  • 22.04.19에 생성했던 키를 각 서버에 배분한다.
  • 먼저 window에서 생성하여 전송한 authorized_keys를 authorized_keys.pub으로 복사해준다.
  • 또, 각 서버에서 다른 서버로 접속할 떄 필요한 my-key4.pem을 업로드 해준다.
  • cd %UserProfile%\.ssh : 사용자폴더 -> .ssh폴더로 이동
  • scp my-key4.pem [email protected]:/root/.ssh/my-key4.pem : my-key4.pem을 업로드

각 서버에 배분

Public Key 배분

Private Key 배분

  • Private key인 my-key4.pem은 각 PC에 존재해야 하기 때문에 SAMBA를 통해 공휴한다.
  • 모든 서버가 PublicKey와 PrivateKey를 탑재하여 접속이 가능해졌다.

서버 구현

  • 어제 구현한 SAMBA, NFS, DATABASE에 접근해본다.

SAMBA

  • share폴더에 text.txt가 보여야 한다.
  • 팀원들이 확인 불가했음
  • share 의 권한이 777인지 확인 => 변경후에도 확인 불가 및 파일 업로드 불가
  • 방화벽 확인 -> 이미 완료되어있음
  • selinux확인 -> selinux가 작동하고 있었음, 끄자마자 text.txt확인

DATABASE

  • 접근확인 완료

NFS

  • NFS에 접근이 되지 않는다.
  • NFS에서 트러블 슈팅 후 다시 접속하니 접근할 수 있다.
  • df -h 로 확인하면, NFS서버와 /root/share가 연결된 것을 볼 수 있따.
  • vi /etc/fstab : 이어서, 자동으로 마운트 하도록 편집하여 설정을 추가한다.
    - vi하지 않고도, echo "172.31.0.100:/share /root/share nfs defaults 0 0" >> /etc/fstab 이렇게 추가할 수 있다.

강의

Wordpress

Wordpress설치 (web01, web02)

  • yum install -y httpd php php-mysql php-gd php-mbstring wget unzip : Wordpress를 위한 설치를 해준다.
    - httpd는 이미 설치 되어있다.
    - 역동성 : 이미 설치가 된 것(똑같은 작업)을 스킵하여 중복 작업을 피한다. (Ansible)
    - php : Wordpress는 php스크립트를 사용한다.
    - php-mysql : mysql을 사용할 수 있는 모듈
    - php-gd, php-mbstring : gd와 mbstring 을 사용할 수 있는 모듈
    - Minimal환경에서는 wget이 없기 때문에 설치
    - 또한 Unzip도 없기 때문에 설치

  • cd /var/www/html
    - 이 경로는 httpd를 설치하면 생기는 폴더이다.
    • 만약 없다면 httpd를 설치한 것이 아니다.
    • 앞으로 매우 자주 쓰게 될 것이다.

  • mv index.html index.html.bak
    - 인덱스 파일을 지우지 않고 백업파일로 바꿔 놔둔다.
    • web02에서도 해준다.

  • wget https://ko.wordpress.org/wordpress-4.8.2-ko_KR.zip
    - 한국어버전 wordpress파일 다운로드

  • unzip wordpress-4.8.2-ko_KR.zip
    - unzip으로 압축해제
    • ls명령어를 입력하면 wordpress 폴더가 생겼다.

  • mv wordpress/* .
    - wordpress의 모든파일(*)을 현재경로(.)로 가져온다.
    • ls명령어를 입력하면 파일이 많아져있다.

  • chown -R apache:apache *
    - chown : 소유권 변경 명령어
    • -R : Recursive, 재귀적으로 변경
    • apache:apche *
      • 사용자 : 사용자그룹
        • apache 사용자와 : apache 사용자 그룹으로 바군다.
        • apache는 사람이 아닌 서비스인데, 서비스가 파일을 관리할 수 있도록 소유권을 변경해주는 것이다.
        • * 모든 파일과, 모든폴더 및 그 내부의 모든 파일까지 전부 바꾼다.

  • systemctl enable --now httpd
    - httpd 시작 및 시작프로그램 등록
    • 만약 이미 설치되어 있다면 systemctl restart --now httpd 를 한다.

NAT

  • NAT IP주소로 접속


  • Let's go 클릭


에러


  • - NAT에서 Mysql설치 : yum install -y mysql
    - mysql -h 172.31.0.108 -u wpuser -p : 비밀번호를 입력하려 로그인
    - 계정에는 문제 없다.
  • sticky session (고정 세션; stickiness)
    - HAproxy때문에 웹서버가 계속 바뀌어 에러가 나는 것이다.
    - vi /etc/haproxy/haproxy.cfg : 에서 쿠키를 1m이상으로 바꿔서 해본다.
  • 원래 wordpress 디렉토리안에서 구현하려 했지만 mv해서 빼버렸다.
    - 따라서, index.html있는 부분에서도 chown을 해줘야한다.
    - chown -R apache:apache /var/www/html으로 작업해본다.
  • 된당!

설치 진행

  • 관리자 계정을 만들어준다.
  • 성공!
  • 선인장을 확인한다.

NAT 방화벽 설정

  • firewall-cmd --permanent --add-service=http --zone=internal : 각 서버 web01, web02, dns에서 NAT를 통해 wordpress에 접속하려면 내부 방화벽을 열어야한다.
  • firewall-cmd --reload : 설정한 후 리로드 해준다.

에러

  • 올바른 계정 정보로 로그인을 시도해도, 로그인 이후 프로세스로 넘어가지 않는다.

  • 플러그인 확인해보기
    - 침묵은 금이다

    - hello.php는 Louis Armstrong이 작성한 그냥 단순한 플러그인이 아니다. 이것은 희망과 모든 세대를 두 단어로 요약한 것이다.


  • web01과 web02의 싱크를 맞춰야 한다.

  • wp-config.php:를 각 웹서버에서 맞추면 wordpress에서 두 서버의 wordpress싱크를 맞춰준다.

  • web02의 wp-config.php가 조금더 최신버전이기 때문에 web02에서 web01에 보내준다.

  • 또, Linux간의 파일을 공유할 수 있는 NFS서버를 이용한다.
    - web01의 wp-config.php의 백업을 만들어 준다.

    - web02에서 NFS로 파일 공유

    - web01에서 wp-config.php 공유 확인

<br>

- 접속이 된다!

좋은 웹페이지 즐겨찾기