Linux 실습일지

Linux 실습일지(13) - Web Server

s-jiun 2023. 2. 2. 15:55
반응형
실습 과제

 

이번 실습 과제는 리눅스 server(b)에 웹 페이지를 구축하는 것이었다. 이번에는 워드 프레스를 이용하여 웹 페이지를 구축해보았다. 아래 사진은 server(b)에 웹 페이지를 구축한 후 이를 캡처한 것이다.

 

새로 배운 내용

 

이번에는 웹 서버 구축에 대해 배웠다. 웹 서버란 클라이언트로부터 HTTP 요청을 받아 HTML과 같은 웹 페이지를 반환하는 프로그램이다. 웹 서버를 구축하는 프로그램에는 APACHE와 NGINX가 가장 유명하며, 이번 실습에서는 APACHE를 사용하였다. APACHE는 오픈소스 HTTP server의 일종으로서 MPM 아키텍처를 기반으로 하고 있고 클라이언트의 요청을 스레드 형태의 서버 프로세스로 생성하여 처리한다. 이번 실습에서는 LAMP(Linux, Apache HTTP Server, MySQL, PHP)를 사용하여 웹 서버를 구축해보았다. 실습 과정을 아래와 같다.

1. Server와 Server(b)를 초기화한 뒤

dpkg -l apache2 php7.4-common mysql-server

명령을 입력하여 apache2, php7.4-common, mysql-server 패키지가 설치되어 있는지 확인한다.

2. 만약 설치되어 있지 않다면

apt install lamp-server^

명령을 입력하여 필요한 프로그램들을 한 번에 설치할 수 있다.

3. 설치가 끝났다면 systemctl restart/enable/status 명령어로 apache2 와 mysql 을 각각 재실행하고

시스템이 자동으로 동작할 수 있도록 설정한다.

4. ufw allow 80

명령을 입력하여 방화벽의 80번 포트를 허용해주고 컴퓨터에서 웹 브라우저를 하나 열어 주소창에 http://(server(b)의 IP주소)

입력하면 아래와 같이 웹 서버에 접속되는 것을 확인할 수 있다.

5. 다시 server(b)로 돌아와서, vi에디터로 /var/www/html/phpinfo.php 파일을 만들어

<?php phpinfo(); ?>

를 입력하고 저장한 다음 다시 웹 브라우저로 돌아가서 http://(server(b)의 IP주소)/phpinfo.php 를 입력하면 다음과 같은 화면을 볼 수 있다.

다음으로 워드프레스를 설치할 것이다. 워드프레스는 PHP로 만들어진 오픈소스 저작물 관리 시스템으로 웹 사이트를 생성할 때 이용된다. 단, 설치할 때 기존에 설치된 PHP 버전과 MySQL 버전에 제한이 있으니 되도록이면 최신 버전의 PHP, MySQL, Apache를 설치하고 워드프레스를 설치하기를 권장한다.

6. Server(b)에서 mysql 명령어를 입력하면 MySQL을 작성할 수 있다. 우선 CREATE DATABASE wp_db; 를 입력한 뒤

아래와 같이 쭉 명령들을 입력하면 된다. (CREATE DATABASE wp_db; -> wp_db라는 데이터베이스 생성)

위에 입력된 명령들 중 CREATE USER wp_user@localhost IDENTIFIED BY '1111' 은 wp_user라는 사용자를 생성하고 비밀번호를 1111로 생성한다는 의미이다.

7. /var/www/html 폴더로 이동한 다음

wget https://wordpress.org/latest.tar.gz

명령을 입력하여 워드프레스를 다운받고

tar -xzvf latest.tar.gz

명령을 입력하여 압축을 해제한다.

8. 다음으로 워드프레스 파일에 대한 퍼미션 설정을 변경해주어야 한다.

chmod 707 wordpress/

명령을 입력하여 외부에서 디렉토리에 접근할 수 있도록 하고,

chown -R www-data.www-data wordpress

명령을 입력하여 디렉토리 소유자를 apache로 변경한다. 여기까지 수행하였다면 ls -l을 입력하였을 때 아래와 같은 내용이 나타날 것이다.

9. 이번에는 /var/www/html/wordpress 폴더로 이동한 다음

cp wp-config-sample.php wp-config.php

명령을 입력하여 wp-config-sample.php 파일을 wp-config.php 파일로 복사한다.

vi 에디터로 wp-config.php를 열어 아래 사진과 같이 내용을 수정한다.

10. 웹 브라우저에서 IP 주소 입력시 바로 워드프레스로 연결되도록 Apache 서버 설정 파일을 변경해주어야 한다. vi 에디터로

/etc/apache2/sites-enabled/000-default.conf 를 열어 12행의 내용을 다음과 같이 수정한다.

11. 이어서 vi 에디터로 /etc/apache2/apache2.conf 파일을 열어 182행 즈음에 다음과 같은 내용을 추가해준다.

12. 위 내용을 저장한 뒤 apache2ctl configtest 명령을 입력하면 apache2.conf 파일의 문법 오류를 체크할 수 있다. 마지막으로 systemctl 명령으로 apache2를 재실행해주면 된다. 다시 웹 브라우저 주소창에 http://(server(b)의 IP주소) 를 입력하면 이제는 다음과 같은 화면이 나타날 것이다.

13. 필요한 내용들을 설정해주고 계정을 생성한 뒤 자신만의 사이트를 꾸며주면 된다.

 

문제가 발생하거나 고민한 내용

 

이번 실습은 저번 메일 서버 실습에 비하면 비교적 수월한 편이었다! 이번 실습은 무리없이 진행되었던 것 같다.

 

회고

 

사실 이번에 실습과제에서 워드프레스를 이용하지 않고 html로 하드 코딩을 한 번 해보고 싶다는 생각이 있었다. 하지만 그러기에는 내가 html에 대한 지식이 너무너무 부족해서 이번에 바로 과제로 해내기에는 부담이 있었다. 이번 실습에서는 못했지만 종강하고 나서 혼자 html을 더 공부해보고 나만의 사이트를 직접 만들어볼 생각이다!

반응형

 

반응형