● 실습 과제 결과
< Server(b) 에 웹 서버 구축한 뒤, 웹 페이지 만들기 >
• 나는 html+css 로 하드코딩하겠다! https://opentutorials.org/course/3084/18895
• 백악관도 워드프레스! https://ko.wordpress.com/
• 국내에서 만든, XE https://www.xpressengine.com/
• 그 밖에 설치하고 싶은 웹 서비스..
• 실습 결과 : Client(또는 Host computer) 에서 해당 웹 페이지에 접속한 화면 캡처 또는 영상
● 새로 배운 내용
1. LAMP
(웹서버와 관련된 기본적인 환경)
▶Linux
-> OS, 컴퓨터를 제어하는 시스템 소프트웨어
▶ Apache HTTP Server
: HTTP 웹 서버
▶ MySQL
: 관계형 데이터베이스 관리 시스템
(server 형태로 운영됨.)
▶ PHP (PHP: Hypertext Preprocessor)
: 동적 웹 페이지를 만들기 위해 설계된 PL (프로그래밍 언어)
User는 컴퓨터에서 웹 브라우저를 실행 -> 정보를 검색 : User가 Request(요청)하면 찾아낸 결과를 Response
정보를 요청했을 때 요청한 것이 결과값으로 돌아오기까지 웹서버에서 일어나는 일?
- 다양한 모듈이 작동하는데 크게 세 가지 형태로 구분
1) webserver
2) php (웹페이지를 만들어주는 곳)
3) DB Server (정보들을 저장, 불러오기, 수정, 삭제를 할 수 있음)
- 어떤 요청이 들어오면 요청에 대한 첫 번째 응답은 웹 서버에서 받음. (요청이 들어오면 동작, listner : 요청이 있는지 없는지 확인하고 있음.) 웹 서버에는 여러 정보들을 제공 -> 검색 버튼을 눌렀을 때 동작하는 것이 php (웹페이지를 만들어주는 프로그램) -> 정보가 저장되어있는 곳에서 찾아와야 함 : DB server에 요청, 검색 결과를 알려줌 / php에 response -> php는 그 정보를 가지고 검색 결과로 만들어줄 웹페이지를 만듦 -> 웹 서버를 통해 제공 (Response)
2. Web server
▶ 웹 서버 Web server
: 웹 브라우저와 같은 클라이언트로 부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프 로그램 또는 그런 프로그램을 실행하는 컴퓨터
▶ 아파치 Apache
• 오픈소스 HTTP Server
* HTTP : hypertext transfer protocol
• MPM(Multi Processing Module) 아키텍쳐 기반
-> 여러 개의 프로세스를 동시에 처리하면서 사용할 수 있음.
• 클라이언트의 요청을 스레드 형태의 서버 프로세스로 생성하여 처리
-> 매우 많은 요청을 처리할 때 문제 발생. 스레드를 구성한다는 것은 어떤 자원을 점유하고 있어야하기 때문에 병목현상 일어남 (속도 느려짐.)
-> 이 문제를 해결한 것이 ngnix : 비동기식, 이벤트 방식 (어떤 요청이 들어왔을 때만 처리, 대규모의 요청을 빠르게 처리)
▶ 웹 서버 설정 파일의 구조
1-1. APM 설치하기 실습
▶ APM 설치
LAPM에서 Linux는 이미 설치되어있기 때문에 APM 설치하는 실습 진행
dpkg -l을 통해 패키지들이 설치되어있는지 확인 후 설치 (설치되어 있지 않음)
apt install lamp-server^ # lamp server와 관련된 필요한 패키지들을 한번에 설치할 수 있음
(apt install을 이용해서 설치해도 됨.)
-> Server(한 대의 컴퓨터에)에 두 개의 서버가 동작 : apache 웹 서버와 Mysql DB 서버
▶ 웹 서버와 PHP 작동 확인
-> IP 주소 : 192.168.234.128
Host computer(window) 화면에서 웹브라우저를 실행해서 동작
• 웹 페이지 만들기
vi /var/www/html/phpinfo.php
-> <?php phpinfo(); ?> 입력
1-2. Wordpress 설치하기 실습
워드프레스 Wordpress : 설치형 CMS
저장, 불러오기, 수정, 삭제 등의 기능 필요 -> 워드프레스는 데이터베이스에 저장함.
CREATE DATABASE wp_db; # wp_db라는 이름으로 데이터베이스를 만듦
SHOW DATABASES; # 현재 어떤 데이터베이스가 설치되어있는지 확인
CREATE USER wp_user@localhost IDENTIFIED BY ‘1234’; # 데이터베이스 서버에 접속할 계정(wp_user)을 만듦. (localhost: 이 서버에 직접 접속해서 사용, 1234가 패스워드)
GRANT ALL ON wp_db.* TO wp_user@localhost; #권한 설정
FLUSH PRIVILEGES; # 설정한 권한을 적용
-> 대문자로 쓰는 것은 명령어를 구분하기 위함. mysql은 대소분자를 구분하지 않음.
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz # 압축 풀기
▶ 퍼미션 설정
chmod 707 wordpress/ # 외부에서 디렉터리 접근 허용
chown -R www-data.www-data wordpress # 소유자를 apache 로 변경
▶ 워드프레스 설정 파일 변경
wp-config-sample.php : 샘플 설정 파일을 실제 설정 파일로 변환해서 사용하면 됨.
cp wp-config-sample.php wp-config.php
-> 데이터 베이스 정보를 입력
▶ 아파치 서버 설정 파일 변경
-> 웹 브라우저에서 IP 주소 입력시 바로 워드프레스로 연결하도록 파일 변경
▶ 웹 브라우저에서 워드프레스 설치하기
● 문제 발생 및 해결 과정
워드프레스 설정 파일을 변경하던 중에 wp-config-sample.php 파일이 없다는 메시지가 나와서 이전 실습과 뭐가 다른지 확인해보았는데, 파일의 위치가 wordpress안에 있어서 위치를 이동하지 않아 생긴 간단한 오류였다. cd /var/www/html/wordpress 명령어를 통해 금방 해결할 수 있었다.
● 참고할 만한 내용
server(b)에서 주석 색이 파란색이라 너무 잘 보이지 않아 검색해봤더니, vi 편집기에서 글씨 색을 설정할 수 있다는 사실을 알게되었다. 원하는 테마로 설정할 수 있는데, 나는 :colo desert라는 명령어를 통해 테마를 변경해주었다.
:highlight라고 입력하여 개별 색상을 직접 지정해줄 수도 있고, .vimrc파일에 설정해주면 영구적으로 설정도 가능하다고 한다.
<참고한 링크>
https://m.blog.naver.com/jihye2340/220654091247
[vim] vi 편집기 글씨색 변경 #vi테마변경, #vi색상변경
# vi(vim)편집기 테마 변경vim 편집기의 주석이 파랑색이라서 잘 안보였다 그래서 명령어를 이용해서 테마...
blog.naver.com
https://terms.naver.com/entry.naver?docId=3576416&cid=59088&categoryId=59096
워드프레스
워드프레스는 웹사이트를 만들고 관리하기 쉽게 도와준 저작도구이다. 전세계 웹사이트의 1/6가 워드프레스로 만들어져 있다. 기존에는 홈페이지를 만들려면 홈페이지 디자인을 먼저 하고, 그
terms.naver.com
워드프레스에 관해 더 알 수 있는 지식백과 링크이다.
http://blog.wishket.com/http-%EA%B7%B8%EB%A6%AC%EA%B3%A0-https%EC%9D%98-%EC%9D%B4%ED%95%B4/
HTTP, 그리고 HTTPS의 이해
HTTP와 HTTPS, 흔히 듣고 쓰는 개념이지만 이 역시 기술용어인 만큼 정확하게 이해하기는 쉽지 않습니다. HTTP와 HTTPS, 그리고 둘을 구분하는 결정적인 지점은 무엇인지 살펴봅니다.
blog.wishket.com
강의 중간에 http는 80포트이고, https는 443 포트인 것을 설명하시다가 https는 보안, 암호화 기능이 있는 것이라고 언급하셨는데, http와 https의 차이에 대해 궁금해져서 알아보았다.
HTTPS는 HTTP를 보완하는 수단으로, HTTP는 암호화되지 않았기 때문에 도난이나 변조, 도청이 가능하기 때문에 HTTPS는 HTTP의 일반 텍스트(text)에 SSL이나 TLS프로토콜을 씌워 통해 데이터를 암호화하는 기법이다. 따라서 로그인이나 결제화면에서 주로 쓰인다고 한다. 위 링크에 HTTP와 HTTPS에 관해 자세히 설명되어있다.
● 회고
좋았던 점(+)
이번 수업에서는 웹 서버를 구축해보았다.네이버 블로그나 티스토리에서 제공해 주는 것이 아닌 내가 직접 웹 페이지를 만들 수 있다는 점이 매우 신기했고 컴퓨터시스템관리 수업이 끝나더라도 유용할 것 같고 더 응용해서 다양하게 활용할 수 있을 것 같아서 좋았던 수업이었다.
저번 실습에서는 고민도 많이하고 오류가 정말 많이나서 힘든 수업이었는데, 이번 실습에서는 실습 내용도 짧을 뿐더러 큰 오류 없이 깔끔하게 마무리되어 너무 좋았다. 이번주는 과제 시간이 적게 들어 기말고사를 대비해 그동안 배운 내용을 복습하는 시간을 가질 수 있을 것 같다.
아쉬웠던 점(-)
컴퓨터시스템관리는 한학기 내내 정말 재미있고 도움이 많이 되었던 수업이었는데, 벌써 실습이 한 주 밖에 안남았다니 너무 아쉽다. 한 번 남은 다음주 실습까지 원활하게 마칠 수 있도록 이번주에는 지금껏 한 내용들을 복습하여 기말까지 잘 치뤄서 좋은 마무리를 하고 싶다.
새로 알게된 점(!)
처음에 컴퓨터시스템관리 수업을 시작할 때 수업 웹페이지가 있어서 신기해했던 기억이 나는데, 나도 이제 그런 웹페이지를 만들 수 있다는 것이 신기했다. 워드프레스는 처음 알게되었는데 어려운 과정 없이도 블로그 같은 페이지를 만들 수 있다는 것이 매우 큰 장점인 것 같다.
'개발공부 > 컴퓨터시스템관리' 카테고리의 다른 글
[컴퓨터시스템관리] 15주차 기말고사 과제 (0) | 2021.06.13 |
---|---|
[컴퓨터시스템관리] 14주차 실습일지 (0) | 2021.06.06 |
[컴퓨터시스템관리] 12주차 실습일지 (0) | 2021.05.24 |
[컴퓨터시스템관리] 11주차 실습일지 (0) | 2021.05.16 |
[컴퓨터시스템관리] 10주차 실습일지 (0) | 2021.05.10 |