라즈베리파이 - 가상 호스트 추가로 세팅
지난번 실습 때에는 hjy2885.com 이름을 가진 가상호스트를 세팅했었다. 이번 실습에서는 추가적으로 2개의 가상호스트를 세팅해보고 이전실습과 동일하게 github과 연동하여서 다양한 탬플릿을 이용하여 웹페이지를 간단하게 제작해보는 실습을 진행하도록 하겠다. 세팅의 과정을 보다 반복적으로 하여 익숙하게 하기 위해서 2개의 가상호스트를 세팅하는 과정을 각각 분리해서 1개씩 수행하도록 하겠다. 같은 내용이 2번 반복되겠지만 실습의 내용을 복습한다는 느낌으로 따라오는 것이 좋을 것 같다.
0. 라즈베리파이의 ip주소 알아내기 및 접속
이전에도 언급하였던 것처럼 라즈베리파이는 유동ip를 사용하기 때문에 ip가 부팅할 떄마다 바뀔 가능성이 있다. 그러므로 라즈베리파이를 전원에 연결하여 부팅하였다면 우선적으로 라즈베리파이에 접속하기 위한 ip주소를 알아내야 한다.
ping juyoungit.local |
host명을 변경 실습을 통해서 변경한 새로운 host명인 juyoungit을 사용하여 검색한다. 라즈베리파이가 정상적으로 와이파이에 연결되었다면 다음과 같이 나타난다.
다음과 같이 라즈베리파이의 ip 주소가 "192.168.0.14"임을 확인하였다. 이제 ssh 프로토콜을 이용해서 라즈베리파이에 pi라는 계정으로 접속하도록 하자.
다음과 같이 성공적으로 라즈베리파이에 접속을 완료하였다.
1. 새로운 계정생성(1)
이제 첫번째 가상호스트를 서비스할 계정을 생성하도록 하자. 우선 계정을 생성하기 전에 다음의 명령어를 사용해서 Super user 권한을 획득하자.
sudo su - |
Super user 권한을 획득하여 root가 되었다면 이제 새로운 계정을 생성하도록 하자. 새로운 계정을 생성하기 위해서는 다음의 명령어를 사용한다.
useradd -m "user_name" |
여기서 "해당 계정에 디렉터리를 할당한다" 라는 의미의 -m 옵션을 잊지말고 꼭 해주도록 하자. 해당계정에 할당된 디렉터리가 있어야 웹페이지에 대한 소스파일들을 저장하고 서비스할 수 있기 때문이다. 다음으로 다음의 명령어를 입력하여 새롭게 생성한 "hgu2885"의 비밀번호를 설정해주도록 하자.
passwd hgu2885 |
이로서 가상호스트를 서비스할 첫번째 사용자 계정 "hgu2885"를 생성하였다.
2. 웹사이트 세팅파일 제작(1)
이제 다음으로 가상호스트 웹사이트의 세팅파일을 생성하도록 하자. 현재 root 계정을 유지하고 있는 상태에서 vim을 이요해서 다음의 경로에 세팅파일을 생성해주도록 하자.
vim /etc/nginx/sites-available/sub1.hjy2885.com |
다음과 같은 내용으로 세팅파일을 작성하여 생성하면 된다. 이전 실습에서도 강조했듯이 server_name, root, index 항목을 잘 확인해서 정보를 입력하도록 하자.
3. 웹사이트 세팅파일에 대한 링크파일 생성(1)
이전 실습에서 언급했듯이 정상적으로 웹서비스를 지원하기 위해서는 해당 웹페이지에 대한 세팅파일이 다음의 경로에도 위치해야한다고 했었다.
/etc/nginx/sites-enabled |
그리고 유지보수의 효율성을 위해서 해당 경로에 세팅파일의 원본이 아닌 세팅파일의 링크파일을 생성한다고 이야기 했었다. 이 내용을 잘 기억하면서 다음의 명령어를 입력하여 링크파일을 생성해주도록 하자.
ln -s /etc/nginx/sites-available/sub1.hjy2885.com /etc/nginx/sites-enabled/sub1.hjy2885.com |
다음과 같이 해당경로에 들어가서 확인해보면 링크파일이 정상적으로 생성된 것을 확인할 수 있다.
4. 웹서비스 세팅 테스트(1)
다음의 명령을 사용해서 웹서비스 세팅이 제대로 이루어졌는 지 확인해보도록 하자
nginx -t |
다음과 같이 나타난다면 정상적으로 세팅이 완료된 것이다.
5. 웹서비스 재시작(1)
다음의 명령을 사용해서 웹서비스가 재시작 될 수 있도록 하자
service nginx restart |
다음과 같이 창이 나타난다면 정상적으로 웹서비스가 재시작된 것이다. 이로서 root가 수행해야할 역할은 모두 종료되었다. 마지막으로 root는 user에게 생성한 계정정보만을 넘겨주면 된다. 넘겨줘야하는 정보의 종류는 이전 실습을 참고하도록 하자.
6. 계정생성 여부 확인(1)
다음의 단계는 사용자가 root로부터 생성한 계정정보를 전달받은 상황임을 가정한다. 전달받은 정보를 바탕으로 해당계정으로 접속하여 계정이 정상적으로 생성되었는 지 확인하자.
다음과 같이 나타났다면 계정이 정상적으로 생성되었고, 서버에 정상적으로 로그인 되는 것을 확인할 수 있다. 해당단계에서 사용자가 비밀번호 변경 등과 같은 절차를 희망한다면 수행해도 무방하다. 계정 비밀번호를 변경하는 방법은 이전 실습에 대한 글을 참고하도록 하자.
7. 로컬 hosts 파일에 도메인 이름과 ip 등록(1)
이제 로그아웃해서 로컬PC의 터미널로 돌아오도록 하자. hosts 파일을 수정해서 도메인 이름과 ip를 등록하도록 하자. hosts 파일의 내용을 수정하기 전에 우선 로컬PC에서도 Super user 권한을 획득해야 하므로 다음의 명령어를 입력해서 root가 되도록 하자.
sudo su - |
Super user 권한을 획득한 후 hosts 파일이 위치한 경로로 이동하여 해당 파일에 도메인 이름과 ip를 등록하도록 하자. 해당 과정을 수행하기 전에 혹시 자신이 결정한 도메인 이름이 실제로 이미 존재하는 이름인지 검증 후에 해당과정을 수행해보고 싶다면 다음과 같이 ping을 이용해서 이를 살펴보면 된다.(해당 과정은 생략하겠다.)
다음의 명령을 입력해서 vim을 이용하여 hosts 파일에 도메인 이름과 ip를 등록하자
(운영체제별로 hosts 파일이 위치하는 경로가 다르니 이에 주의하도록 하자)
vim /etc/hosts |
8. 테스트 페이지 제작 및 테스트(1)
다시 생성한 계정 hgu2885로 라즈베리파이 서버에 접속하도록 하자
이제 해당 웹사이트의 root 디렉터리에 해당하는 html 디렉터리를 생성하고 해당 디렉터리에 index 파일인 index.html을 생성하도록 하자
저장 후에 웹브라우져로 이동하여 해당주소에 접속해보면 다음과 같이 정상적으로 웹서비스가 되고 있음을 확인할 수 있다.
9. Github에서 웹 페이지 템플릿 검색 후 자신의 계정으로 fork(1)
github에서 웹페이지 템플릿을 검색하여 원하는 소스를 fork를 진행한다.
다음과 같이 자신의 github repository에 fork 된 것을 확인했다면 정상적으로 처리된 것이다.
10. fork한 웹페이지 템플릿을 로컬저장소로 clone(1)
이제 hgu2885 계정의 root 디렉터리인 html 디렉터리에 fork해둔 웹페이지 템플릿을 clone 하자
다음과 같이 확인하였다면 정상적으로 clone이 수행된 것이다.
11. 템플릿을 적용한 웹페이지 테스트(1)
이제 브라우져로 이동해서 해당 주소를 입력 후 템플릿이 제대로 적용되었는 지 확인해보도록 하자. 이 때 입력하는 주소는 "웹사이트의 주소/템플릿이 위치한 디렉터리"의 형식으로 입력해주면 된다.
다음과 같이 템플릿이 적용된 웹페이지가 나오는 것을 확인할 수 있다.
12. 템플릿의 일부를 수정하여 다시 테스트(1)
이제 템플릿의 일부를 수정해서 적용시키고 이를 확인해보도록 하자. 현재 실습에서는 간단한 수준의 실습이므로 제목과 부제목 정도만 수정해보도록 하자
다음과 같이 vim을 이용해서 index.html을 수정해보도록 하겠다. index.html에서 웹페이지의 제목과 부제목을 다음과 같이 수정하였다.
해당파일을 저장 후 다시 해당 웹페이지에 접속해보면
다음과 같이 제목과 부제목 부분이 잘 수정되어 서비스되고 있는 것을 확인할 수 있다.
13. 수정한 내용을 add-commit-push(1)
(해당과정을 진행하기 전에 필요한 git config의 과정은 이미 진행된 상태라고 가정함.)
웹사이트에 대한 버전관리를 위해서 github에 push를 진행해보도록 하겠다. 진행은 이전 실습과 동일하게 진행하면 된다.
아래와 같이 index.html 파일이 변경된 것을 확인할 수 있다.
다음과 같이 수정한 내용을 push하여 github에 정상적으로 반영된 것을 확인할 수 있다.
이것으로 첫번째 가상호스트 웹페이지에 대한 실습을 마쳤다.
이어서 진행되는 두번째 가상호스트 웹페이지 실습은 첫번째와 과정이 동일하기 때문에 설명이 필요한 부분만 기록하고 빠르게 넘어가면서 실습에 대한 캡쳐본만 제시하도록 하겠다. 해당 캡쳐본을 보면서 과정을 머리속에 그려보도록 하자
1. 새로운 계정생성(2)
2. 웹사이트 세팅파일 제작(2)
3. 웹사이트 세팅파일에 대한 링크파일 생성(2)
4. 웹서비스 세팅 테스트(2)
5. 웹서비스 재시작(2)
6. 계정생성 여부 확인(2)
7. 로컬 hosts 파일에 도메인 이름과 ip 등록(2)
8. 테스트 페이지 제작 및 테스트(2)
9. Github에서 웹 페이지 템플릿 검색 후 자신의 계정으로 fork(2)
10. fork한 웹페이지 템플릿을 로컬저장소로 clone(2)
11. 템플릿을 적용한 웹페이지 테스트(2)
12. 템플릿의 일부를 수정하여 다시 테스트(2)
13. 수정한 내용을 add-commit-push(2)
(해당과정을 진행하기 전에 필요한 git config의 과정은 이미 진행된 상태라고 가정함.)
'Web Basic > Raspberry PI' 카테고리의 다른 글
라즈베리파이 - Batflat의 관리자 페이지 사용법 (0) | 2021.02.01 |
---|---|
라즈베리파이 - CMS를 이용한 블로그 페이지 세팅 (0) | 2021.01.31 |
라즈베리파이 - 가상호스트 세팅하기 (0) | 2021.01.29 |
라즈베리파이 - 호스트 명 변경하기 (0) | 2021.01.28 |
라즈베리파이에 웹서버 세팅하기 - 실습(개인서버 세팅) (0) | 2021.01.27 |
댓글
이 글 공유하기
다른 글
-
라즈베리파이 - Batflat의 관리자 페이지 사용법
라즈베리파이 - Batflat의 관리자 페이지 사용법
2021.02.01 -
라즈베리파이 - CMS를 이용한 블로그 페이지 세팅
라즈베리파이 - CMS를 이용한 블로그 페이지 세팅
2021.01.31 -
라즈베리파이 - 가상호스트 세팅하기
라즈베리파이 - 가상호스트 세팅하기
2021.01.29 -
라즈베리파이 - 호스트 명 변경하기
라즈베리파이 - 호스트 명 변경하기
2021.01.28