실습과제 결과
▶ Server(b) 에 웹 서버 구축한 뒤, 웹 페이지 만들기
▶ 실습 결과 : Client(또는 Host computer) 에서 해당 웹 페이지에 접속한 화면 캡처 또는 영상
- Server-b IP주소: 192.168.91.128
- Wordpress를 활용하였고, 추가적으로 테마를 적용해보았다.
새로 배운 내용
1. LAMP
- Linux (OS)
- Apache HTTP Server (Web): HTTP 웹 서버
- MySQL (DB): 관계형 데이터베이스 관리 시스템
- PHP (Script): 동적 웹 페이지를 만들기 위해 설계된 PL
*웹 애플리케이션 구조
2. Web server
1) Web server
- 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램. 대표적으로 Nginx, Apache가 있다.
2) 아파치 Apache
- 오픈소스 HTTP Server
- MPM(Multi Processing Module) 아키텍쳐 기반
- 클라이언트의 요청을 스레드 형태의 서버 프로세스로 생성하여 처리
3) 웹서버 설정 파일의 구조
/etc/apache2/ # 웹 서버를 시작할 때 필요한 모든 설정 파일
|-- apache2.conf
| `-- ports.conf # http 80포트, https 443 포트 등 아파치 서버의 서비스 포트 설정
|-- mods-enabled # 사용 가능한 아파치 모듈중 사용할 모듈을 심볼릭 링크로 추가하여 실제 동작 수행
| |-- *.load
| `-- *.conf
|-- conf-enabled # 사용 가능한 구성 파일 중 사용되는 구성 파일
| `-- *.conf
`-- sites-enabled # 서버에서 운영할 사이트의 설정 파일
`-- *.conf
4) 실습
- APM 설치
apt install lamp-server^ 를 입력하면 웹 서버에 필요한 패키지들을 한번에 다운받을 수 있다.
방화벽에서 외부 접속을 허용한 후 웹 브라우저에서 Server의 IP주소로 접속하여 아파치 웹서버가 정상적으로 돌아가는 것을 확인
/var/www/html 경로로 이동하여 간단한 php 코드 작성. phpinfo()는 현재 서버에 설치된 php에 대한 정보를 알려준다.
다시 웹페이지에서 IP주소/phpinfo.php로 접속하면 위에서 작성한 코드에 대한 결과를 확인할 수 있다.
- Wordpress 설치
먼저 wp_db 데이터베이스를 생성하고 아래와 같이 DB 설정을 진행한다.
wget https://wordpress.org/latest.tar.gz 으로 워드프레스 설치 후 압축 해제 및 접근 권한, 소유자 설정
wp-config-sample.php가 워드프레스 설정 샘플 파일이다. 이 파일을 복사해서 우리가 사용할 용도에 맞게 설정하면 된다. 아래는 설정 파일을 복사하여 해당 DB 이름과 username, password를 입력해주었다.
* 여기서 추가적으로 해야할 작업은, wordpress를 사용하기 위해서는 웹브라우저에서 IP주소/wordpress를 입해야하므로 번거롭다. 따라서 바로 워드프레스로 연결될 수 있도록 설정해줄 것이다.
/etc/apache2/sites-enabled/000-default.conf에서 DocumentRoot를 변경해준 뒤,
/etc/apache2/apache2.conf에서도 아래와 같이 코드를 추가해준다.
이제 systemctl restart apache2로 아파치를 재실행한다.
-웹브라우저에서 Wordpress 설치
이제 웹페이지에서 IP주소를 입력하면 워드프레스 설치 화면이 뜨고, 몇가지 정보를 입력하면 설치가 완료된다.
기본 화면은 다음과 같다. 왼쪽 메뉴바에서 사이트를 관리하고, 수정할 수 있다.
문제가 발생하거나 고민한 내용 & 해결 과정
▶ 문제 발생
이전에는 SSH 접속이 잘 되었는데, 이번 주차에 Ubuntu를 초기화하고 다시 Windows Terminal에서 SSH 접속을 시도하였지만, 오류가 났다.
▶ 해결 방안
에러 문구를 잘 읽어보니 키 문제로 접속이 되지 않은 것 같았다. 12주차 강의자료를 통해 키 문제로 접속이 되지 않는 경우 .ssh 디렉터리의 하위 파일을 삭제한 후 재연결을 하면 해결할 수 있다는 것을 알게 되었다. 따라서 사용자 경로에 .ssh 폴더를 찾을 수 있었고, 하위 파일 삭제 후 다시 SSH를 연결하였더니 정상 접속 되었다.
참고할 만한 자료
https://velog.io/@ikswary/%EC%9B%B9%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%A1%B0
https://wpbox.kr/wordpress-manual/
회고 (+, -, !)
+: Linux 운영체제를 활용하여 Apache 웹서버를 작동시키고, MySQL로 DB 생성 및 설정하고, PHP 언어를 활용하여 동적 웹 페이지를 만드는 LAMP 서버를 구축해보았던 의미있는 수업이었다. 웹 페이지를 개발할 때 서버 구축을 위해 필수적으로 알아야 할 개념들을 알게 되어 좋았다.
-: 오늘 실습을 할 때 SSH에 오류가 났는데, 가상머신을 초기화한 뒤에 SSH로 다시 접속하면 key error가 발생할 수 있다는 것을 알게 되었다.
!: 그리고 Wordpress라는 것을 처음 써보았는데 프로그래밍을 굳이 하지 않아도 누구나 쉽게 웹페이지를 개발하고, 편집 및 관리할 수 있어 직접 사이트를 운영하고자 하는 사람들에게 매우 유용할 것 같다는 생각이 들었다. 나중에 기회가 된다면 워드프레스를 활용하여 블로그를 운영해보고싶다.
'Linux > 실습 기록' 카테고리의 다른 글
[컴퓨터시스템관리] 2021.06.12 15주차 기말 과제 (0) | 2021.06.12 |
---|---|
[컴퓨터시스템관리] 2021.06.01 14주차 실습일지 - 방화벽 서버 구축, Docker 실습 (0) | 2021.06.02 |
[컴퓨터시스템관리] 2021.05.18 12주차 실습일지 - Mail Server (0) | 2021.05.18 |
[컴퓨터시스템관리] 2021.05.11 11주차 실습일지 - Domain Name Server (0) | 2021.05.11 |
[컴퓨터시스템관리] 2021.05.04 10주차 실습일지 - Remote Server (0) | 2021.05.04 |