우리는 홈페이지를 접속할 때, 어떠한 서버의 IP주소를 도메인을 통해서 들어갑니다.
그래서 리눅스 가상서버를 열어서, 해당 서버의 IP를 통해 들어갔을 때, 기본 웹 페이지를 띄우는 것을 알아보기 위해 해보았습니다.
어떠한 도메인을 접속하면 그 도메인의 기본 페이지에 접속하게 되는데 이를 설정하겠습니다.
홈 디렉토리를 그대로 사용해도 되지만 다른 경로로 사용 설정해주었습니다.
다들 📄 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 : 지정한 디렉토리 이하의 모든 파일과 디렉토리들에 적용할 접근 제어를 설정합니다.
DirectoryIndex
에서 지정한 파일 (index.html등)이 존재하지 않을 경우 디렉토리 내의 파일목록 리스트를 웹 브라우저로 보여줍니다.AllowOverride : 어떻게 접근을 허락할 것인가에 대한 설정
Require 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이랑 번갈아쓰기 난해한 경우 사용하면 좋은 거 같습니다.
터미널도 커스터마이징 해놔서 저는 터미널로 하려고하는 편입니다.
:)
단점은 차차 사용해보면서 알아보고 뭐가 좋은지 알아보겠습니다.