2학년 1학기/오픈소스 소프트웨어 ( OSS )

라즈베리파이 3 (웹호스팅)

쫑알bot 2023. 5. 16. 23:22
728x90
  • 서버

고정 IP주소를 가지고 24시간 동작하는 SW

 

 

  • 주소

고정 IP : 설정 후 변경이 없는 IP주소

유동 IP : 일정 시간 이후 다시 할당을 받아 변경될 수 있는 IP

DDNS ( Dynamic DNS ) : IP주소가 변경되어도 동일한 도메인 이름으로 IP주소를 제공 하는 서비스

 

 

 

내부 IP : 특정 네트워크 내에서만 장비를 구별하는 IP

외부 IP : 전세계 인터넷에서 특정 장비를 식별하는 고유 IP

 

라즈베리파이는 [ 유동 IP를 사용하는 공유기로부터 할당받은 내부 IP를 사용 ]

 

 

 


라즈베리파이로 계정관리 기능을 수행 (sudo su -)

 

  • Super User (root) sudo su - 필요.
  • 계정 id/pwd , 홈디렉터리 ( 만들어진 계정이 작업할 곳 ) , 그룹 등을 설정 
  • 계정 정보 파일 : /etc/passwd
  • 암호 정보 파일 : etc/shadow

 

명령어 : 

  • adduser [계정]  : 새로운 계정의 ID를 입력하면, ID랑 해당 계정에 따른 홈 디렉터리가 생성됨. --> 암호 입력을 할 수 있음  (이게 다 해주니까 주로 이거 쓰면 됨)
  • useradd -m [계정] : user만 만들고 홈 디렉터리는 안 만들어줘서 내가 하나하나 만들어야 함 (한땀한땀 만드는 느낌) 
  • passwd [계정] : 해당 계정의 암호 수정
  • usermod [옵션] [계정] : 현재 만들어진 user 수정할 수 있음
  • deluser [계정] : 계정 삭제, 홈 디렉터리는 삭제 안 됨  so,내가 삭제해야 함 

 

 


Vrirtual host

 

 

한 서버에서 여러 웹사이트 운영하기

= 한 Web Server 에서 host를 여러 개로 설정할 수 있음.

= 위에 web Server 에서 이름이 다른 세 개의 도메인이 설정되어있음.

 

 

 

하는 법

 

 

1. 웹 서버의 설정파일을 하나 만든다.

 

 /etc/nginx/sites-available/default 파일을 복사

이름은 내가 만들고싶은 도메인 주소로

 

server 아래 listen 80 ==> 80 포트로 듣겠다.

root /var/www/html ==> 홈 디렉토리(root)를 저 위치로 하겠다.

server_name _ ==> 뒤에 도메인 주소를 넣으면 됨 (이따가 다시 설명)

 

 

2. /etc/nginx/sites-enabled/ 에서 사용 설정

 

/etc/nginx/sites-enabled/에 들어가고

관리자 권한으로 symbolic link를 하나 만든다.

ex)  sudo ln -s /etc/nginx/sites-available/[방금 만든 설정파일 ] [방금만든 설정파일]

 

/etc/nginx/sites-enabled/  여기에 등록된 웹서비스는 서버를 리부팅하면 같이 동작함!


이게 끝났으면

 

nginx -t 명렁어로 설정 파일에 문제가 없는지 확인을 해야한다.

제대로 됐으면 그 다음 줄 처럼 ok가 뜸

 

그 다음엔 nginx 시작

 

하면 새로 설정한 파일이 적용이 되어서 서비스를 제공한다.

 

 

 


실습!

 

 

세 단계로 나눈다고 생각하면 됨

1. 계정 설정

2. 웹서비스 설정파일 생성

3. Symbolic link 생성

4. PC hosts 파일에 주소+IP등록( 관리자 권한으로 가능 )

 

 

각 단계별로 정확히 익혀두자

 

 

계정 설정 

 

1. (root로 로그인)useradd -m rpiuser (-m 옵션 추가하면 home디렉토리도 만들어줌)

 

2. cd /home 에서 rpiuser라는 폴더가 생성되었는지 확인

 

3. passwd rpiuser 로 암호 설정 후 password 입력

 

4. 비밀번호까지 설정하고 로그인이 잘 되는지 확인하기

    --> su - rpiuser  로 로그인하기

로그인 했을 때 위치는 /home/rpiuser

 

 

5. (이제부터 로그인 한 채로 해야함! ) 이제 웹에서 사용할 홈 디렉토리를 정하기

mkdir (홈디렉토리 이름) --> www라고 가

 

6. chmod -R 755 www  로 권한 설정하기 ( -R 옵션은 아래 디렉토리에 있는 권한을 다룰 때 씀 ) 

 

7. www폴더로 이동 후 그 폴더에 index.html 작성

 

 

 

웹서비스 설정파일 생성

 

서버 설정을 해야하기에 로그아웃을 한다.

1. exit , logout 둘 다 한다. --> super user 상태

2. /etc/nginx/sites-available로 들어가서

    cp default goodrpi.com 으로 default를 복사해서 goodrpi.com(도메인 주소로 하고싶은 거) 이름으로 하나 만든다.

3. goodrpi.com을 vim으로 연다 - > root /home/rpiuser/(홈디렉토리 이름);을 한다.

                                                      홈 디렉토리 안에 index.html이 있기 때문에 그 디렉토리를 써주면 됨

   --> server_name 지금 현재 열려있는 폴더 이름으로 한다.

   밑에 있는 파일들은 기본으로 어느 페이지를 열거냐임

 

 

symbolic link 생성

 

1.  /etc/nginx/sites-enabled 에 들어가서 

ln -s ../sites-a* (=avaible)/ goodrpi.com goodrpi.com를 링크한다.

 

2. 설정파일 테스트 nginx -t

 

3. 웹서비스 재시작  service nginx restart

 

 

 

PC 파일에 domain 주소와 IP등록 (관리자 권한)

 

 

Windows : C:\Windows\System32\drivers\etc\hosts 에서 

IP랑 domain 주소 같이 넣으면 됨

 

 

 

 

출처 : 한동대학교 장소연교수님 - OSS PPT