[ Linux ] 로컬 PC로 리눅스 서버 접속

ma.caron_g·2022년 11월 30일
0

Linux

목록 보기
7/7
post-thumbnail

[ IP(도메인) 접속 시 Apache 기본 경로 접속 ]

우리는 홈페이지를 접속할 때, 어떠한 서버의 IP주소를 도메인을 통해서 들어갑니다.

그래서 리눅스 가상서버를 열어서, 해당 서버의 IP를 통해 들어갔을 때, 기본 웹 페이지를 띄우는 것을 알아보기 위해 해보았습니다.

어떠한 도메인을 접속하면 그 도메인의 기본 페이지에 접속하게 되는데 이를 설정하겠습니다.

[ Linux(Ubuntu) DocumentRoot 변경 ]

홈 디렉토리를 그대로 사용해도 되지만 다른 경로로 사용 설정해주었습니다.

다들 📄 httpd.conf를 수정해주는데, 저는 📄 httpd.conf가 존재하지 않아 찾아보니 다음 경로를 통해 📄 default.conf를 수정하면 된다해서 다음 파일을 수정해주었습니다.

$ sudo vi /etc/apache2/sites-available/000-default.conf

다음 명령어를 통해 ‘000-default.conf’의 내용을 수정해줍니다.

$ DocumentRoot /var/www/html

이 부분을 다음과 같이 수정해줍니다.

우선 기존 값은 혹시 모르니 '#'을 통해서 주석처리해주고,
아랫줄에 추가해주겠습니다.

$ DocumentRoot /home/[홈 디렉토리명]/web

경로는 사용자가 사용하고싶은 html/php 파일이 있는 디렉토리가 있는 곳으로 마음대로 설정해주시면 됩니다.

단, 마지막에 '/' 값은 제외합니다.

그 다음 본인이 설정한 경로에 들어가 📄 index.html 또는 📄 index.php 파일을 만들어줍니다.

$ cd /home/[홈 디렉토리명]/web
web$ sudo vi index.php

편집기를 열어 편집모드("i")를 진입하고

해당 폴더 안에 다음과 같이 적어줍니다.

<?php
	Welcome Virtual Hosting
?>

작성 후, esc를 눌러 편집모드를 종료하고 :wq 명령어를 통해 파일을 저장합니다.

이제 작성한 폴더와 파일에 접근 권한을 설정합니다.

하지 않을 시 다음과 같은 오류를 통해 해당 파일에 접근할 수 있는 권한이 없다고 나옵니다.

$chmod 755 index.html
$chmod 755 index.php
$chmod 755 [홈 디렉토리명]

그 후, 해당 폴더에 대한 설정을 또 해주어야합니다.

$ sudo vi /etc/apache2/apache2.conf

명령어를 통해

<Directory>를 추가합니다.

<Directory /home/[Home Directory]/web>
	Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

해당 폴더에 대한 권한을 주어줍니다.



각 값의 의미는

  • Options : 지정한 디렉토리 이하의 모든 파일과 디렉토리들에 적용할 접근 제어를 설정합니다.

    • FollowSymLinks : 심볼의 링크를 허용합니다. 이 옵션을 지정하면 웹 브라우저에서 링크파일의 경로가지 확인할 수 있게 됩니다.
      보안상 이 값은 설정하지 않는 것이 좋습니다.
    • Indexes : 웹 서버의 디렉토리 접근 시 DirectoryIndex에서 지정한 파일 (index.html등)이 존재하지 않을 경우 디렉토리 내의 파일목록 리스트를 웹 브라우저로 보여줍니다.
    • None : 모든 허용을 하지 않습니다.
  • AllowOverride : 어떻게 접근을 허락할 것인가에 대한 설정

    • None : AccessFileName에 지정된 파일 엑세스 인증파일로 인식하지 않습니다. 즉, AccessFileName의 값이 대부분 .htaccess이므로 이를 무시하게 된다는 의미입니다.
      다시 말해, 이 파일을 무시하기 때문에 새로운 접근 인증 방식을 Override하지 않습니다. 대부분의 보안이나 중요한 디렉토리에서 사용할 수 있는 것으로 아주 제한적인 접근만을 허용하고자 할 때에 사용하는 값입니다.
    • htaccess : 웹서비스 디렉토리별로 설정이 달라져야할 경우, 이때 관리자가 모든 설정을 관리하기는 힘들기 때문에 개별 디렉토리마다 다르게 설정하기 위해 존재하는 파일입니다.
  • Require IP 허용 범위 설정

    • all granted : 모두 접근 허용
    • all denied : 모두 접근 불가
    • ip 19 175.20 192.168.20 : 띄어씌기로 구분하며, 19로 시작하는, 175.20으로 시작하는, 192.168.20으로 시작하는 IP를 허용합니다.


작성했으면 apache2 서버를 재시작합니다.

$ systemctl restart apache2

그 후 ifconfig를 사용해서 가상서버의 IP를 가져옵니다.

$ ifconfig
enp0s1: flags=4**3<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.64.3  netmask 255.255.255.0  broadcast 192.168.64.255
        inet6 fd83:3dfb:**0:31**:3c5c:a***f:f**3:7**2  prefixlen 64  scopeid 0x0<global>
        inet6 f**0::***c:a**:f**3:72b2  prefixlen 64  scopeid 0x20<link>
        ether 3*:*c:**:13:*2:b2  txqueuelen 1000  (Ethernet)

inet 192.168.64.3

다음 값이 해당 가상 서버의 IP입니다.
이를 로컬 PC의 인터넷 URL에 입력해준다면.

가상 서버의 apache2에 접속할 수 있습니다.


UTM이라는 가상 서버를 통해서 리눅스 서버에 접속하고 있습니다.

이제 IP를 알았으니 Mac의 터미널을 통해서도 접속할 수 있습니다.

$SSH [사용자 계정]@192.168.64.3

다음 명령어를 통해 비밀번호를 입력하고

서버에 Mac 터미널로 접속할 수 있습니다.

Mac shell이랑 리눅스 shell이랑 번갈아쓰기 난해한 경우 사용하면 좋은 거 같습니다.

터미널도 커스터마이징 해놔서 저는 터미널로 하려고하는 편입니다.

:)

단점은 차차 사용해보면서 알아보고 뭐가 좋은지 알아보겠습니다.

profile
다른 사람이 만든 것을 소비하는 활동보다, 내가 생산적인 활동을 하는 시간이 더 많도록 생활화 하자.

0개의 댓글