본문 바로가기

개발/Linux

VirtualBox 이용해 Ubuntu 20.04 LTS 환경에 서버 구축

한 업체에서 서버 이전 요청이 들어왔다. 현재 새로운 서버에는 APM(Apache + PHP + MariaDB)이 설치된 상태이고 JDK, Tomcat 등은 따로 설치해야 하는 상황이다. 추가적으로 DB와 우리 쪽 소스도 옮겨야 하는 상황인데 문제는 이러한 작업을 내가 해본 적이 없다는 것이다.

 

실제 구축에 앞서서 윈도우 환경에서 가상 머신을 통해 리눅스 서버를 구축하는 방법이 있다고 해서 해당 방법을 써보려고 한다. 과정 중에 겪는 시행착오들을 여기에 기록하고자 한다.

 

1. VirtualBox 및 Ubuntu 설치

VirtualBox를 이용해 Ubuntu를 설치하는 방법

 

나같은 경우에 구글링도 해보고 GPT 선생께도 물어봤는데 유튜브가 가장 직관적이어서 위의 영상을 보고 설치를 했다. 다른 자료들도 아마 비슷한 방법으로 설치를 할 것이다.

 

가상 머신을 만드는 과정 중에 하드웨어 설정하는 부분이 있는데 나는 메모리는 3072MB로 설정했고, CPU는 2개로 설정했다. 그리고 디스크 크기는 30GB로 설정했다.

 

유의사항이 하나 있는데 아마 가상머신의 기본 경로가 C드라이브로 잡혀있을 것이다. 보통 C:\Users\윈도우 접속 계정\VirtualBox VMs로 잡혀있을텐데 영상과 마찬가지로 D드라이브로 경로를 잡아주는 것이 좋을 것이다. 왜냐하면 C드라이브에는 보통 130GB 정도밖에 할당을 안 하기 때문에 용량이 상대적으로 많은 D드라이브에 가상머신을 구축하는 것이 좋다. 나의 경우에는 D\VirtualBox VMs라는 경로로 잡아줬다.

 

우분투도 위의 영상에서 시키는 대로 설치하면 된다.  처음에 기본으로 잡아주는 C드라이브 경로로 설정하고 설치를 했는데 설치할 때 자꾸 로딩이 멈추는 현상이 발생해서 D드라이브로 경로를 바꾸고 다시 설치를 하니까 잘 설치가 됐다.

 

2. SSH 설치 및 공유폴더 연동

우분투가 설치됐다면 home 아이콘에 우클릭을 해서 터미널로 접속해준다. 기본경로가 ' /home/설정한 계정 '으로 되어 있을 것이다. 우분투를 막 설치했을 때는 root 계정에 비밀번호가 설정되어 있지 않으므로 우분투 설치 시 설정했던 계정으로 접속한 후에

sudo passwd root : root 계정에 새 비밀번호 설정

 

위의 명령어를 입력해준다. 새 비밀번호를 설정하면 된다.


현재는 VirtualBox를 통해서 우분투 환경에 접속하여 작업을 하고 있다. 처음에 설정할 때 드래그앤드롭과 클립보드를 양방향으로 설정했지만 안되는 경우가 많다. 그래서 PuTTY를 통해 접속하는 방법을 공유하고자 한다. 

sudo apt-get install openssh-server : openssh-server 설치

 

VirtualBox에서 포트포워딩하는 방법은 아래의 페이지를 참고하면 된다.

 

VirtualBox Linux 포트포워딩 설정 및 PuTTY 로 연동방법

VirtualBox 포트포워딩 설정 및 PuTTY 로 접근하기

velog.io

 

호스트 IP의 경우에 나는 윈도우 환경에서 cmd를 켜서 ipconfig를 입력한 후에 가장 먼저 나오는 IP 정보(이더넷 어댑터 이더넷)가 아니라 두번째 IP 정보(이더넷 어댑터 이더넷 5)에 있는 IPv4 주소를 입력했다.

 

게스트 IP의 경우에는 우분투 환경에서 터미널을 켜서 ifconfig를 입력한 후에 나오는 IP(10.0.x.x)를 입력했다.

 

PuTTY를 통해 접속이 됐다면 FileZilla를 통해서 파일도 주고 받을 수 있다. 


파일을 주고 받는 방법이 하나 더 있는데 공유폴더를 연동하는 것이다.

 

공유폴더 연동은 이 페이지를 참고했다.

 

[VirtualBox] 공유폴더 설정 (우분투-윈도우)

VM과 윈도우 간의 파일 공유는 꼭 필요하다.. VirtualBox의 드래그앤드롭을 양방향으로 설정했지만, 왜때문인지 파일 복붙이 안되더라남ㄹ.... 결국 공유폴더 설정을 하게 되었담... 흑 1. VirtualBox에

yeni03-0w0.tistory.com

 

3. 우분투의 초기 설정

우분투의 초기 설정은 아래의 페이지에서 필요한 것도 참고했다.

 

[Linux] Ubuntu 서버 초기 설정하기

Ubuntu 서버 초기 설정을 해봅시다

velog.io

 

이후 Apache, JDK, Tomcat, MySQL 등을 설치한다.

 

우분투(Ubuntu) 20.04에서 APM 설치 – 아파치(Apache 2) 설치 – 씨실과 날실 – IT

🕒 예상 읽기 시간: 8 분 가량 / 포스트 조회 수: 299 2018년 11월에 우분투 18.04 LTS에서 주 저장소를 통해 아파치 서버(Apache2)를 설치하는 방법을 시작으로 APM(Apache2 Server, PHP7, MariaDB)을 구축하는 방

weftnwarp.kr

 

4. Apache2 설치

sudo get update : 패키지 업데이트

sudo apt install apache2 : 아파치 설치

systemctl status apache2 : 아파치 실행 상태 확인

 

마지막 명령어를 입력하면 아마 active라는 초록색 글씨가 출력될 것이다.

 

그럼 아까 포트포워딩 했을 때 썼던 호스트 IP를 브라우저에 입력한다. 그럼 아파치 기본 페이지가 뜰 것이다.

 

아파치 설치는 아래의 페이지를 참고했다.

 

ubuntu 20.04 LTS 버전에 apache 웹 서버 설치

apache란? 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버 클라이언트에게 웹 서비스를 제공하기 위해 필요한 웹 서버 프로그램 중 하나입니다. 리눅스가 서버 OS의 최다 점유율을 차지하면서

nyangnyangworld.tistory.com

 

5. MySQL 5.7 설치

mysql 설치는 아래의 페이지를 참고했다.

 

How to install MySQL 5.7 on ubuntu 20.04 or later

Hey there,

medium.com

 

윈도우 환경에서 dbeaver를 통해 접속하기 위해 외부 접속을 허용해준다.

 

MySQL 외부 접속 설정

 

우분투 20.04에서 Mysql 5.7 설치 가이드 (How to Install MySQL 5.7 on Ubuntu 20)

우분투 20에서는 기본 패키지로 MySQL 8.0이 제공됩니다. 이 튜토리얼에서는 우분투 20 혹은 그 이상의 버전에서 MySQL 5.7 패키지를 추가하는 방법에 대해 설명 합니다. 사전 요구 사항우분투를 처음

harulogs.com

 

위의 과정을 마치고 접속을 시도하니까 계속 오류가 났다. 알고 보니까 접속을 시도한 mysql 계정에 접속 가능한 IP가 localhost로 되어 있었다. 접속하는 IP 또는 %로 전체 IP로 접속할 수 있도록 설정을 해야한다.

 

계정 생성 및 권한 부여

 

[MySQL] [08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The drive

!! 이 글은 Linux 인스턴스 기반입니다 !! 문제 [MySQL] [08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. java.net.ConnectExceptio

sillutt.tistory.com

 

MySQL 사용자 계정 권한 조회/추가/수정/삭제

MySQL에서 사용자 계정 권한을 추가, 수정, 삭제하는 방법이에요. mysql 데이터베이스에서 실행 use mysql; 계정 조회 select * from user; 계정 생성 create user 계정@호스트 identified by 패스워드; create user dbuse

gofnrk.tistory.com

 

이후 데이터 베이스를 생성해줬다. 데이터 베이스를 생성한 후에는 계정의 권한을 새로 생성한 데이터 베이스로 한정되도록 변경해줬다.

 

데이터베이스 생성

 

[Ubuntu] mysql 데이터베이스 및 테이블 생성 방법

가장 먼저 mysql을 실행합니다. $ sudo mysql 데이터베이스 및 사용자 생성 데이터베이스 생성합니다. mysql > create database 데이터베이스명 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; 사용자를 생성합니다. mysql

omty.tistory.com

 

이전에 우분투 환경을 구축했을 때 war를 올리고 나서 서버를 돌렸을 때 테이블을 찾을 수 없다는 오류가 발생했었다. 알고 보니까 윈도우와 리눅스 간의 대소문자 구분 설정이 달라서 그런 것이었다. 대소문자 구분을 안 하기 위해 해당 설정을 바꿔준다.

 

테이블 대소문자 구분 없애기

 

MySQL 대소문자 구분 안하기 - lower_case_table_names 변경

MySQL로 간혹가다 작업 도중 분명히 테이블이 존재하는데 Table '테이블명' doesn't exist 라는 문구가 나올때가 존재한다. 윈도우에서는 대부분 대소문자 구분없이 설치가 되지만, 간혹가다가 리눅스

roqkffhwk.tistory.com

 

현재 내 테스트 서버에서는 아래의 정책을 추가하지 않았지만 운영 서버에는 보안상의 이유로 아래와 같이 비밀번호 정책을 추가해줘야 한다. 글자 수 제한, 대소문자 필수입력, 특수문자 필수입력 등의 사항을 설정할 수 있다.

 

비밀번호 정책 만들기

 

[Linux]Ubuntu 20.04 웹 서버 구축(4) - MySQL 설치

[Linux]Ubuntu 20.04 웹 서버 구축(4) - MySQL 설치 [Linux] Ubuntu 20.04 web server build (4) - MySQL installation Server Version : Ubuntu 18.04, Ubuntu 20.04 php Version 7.2 Apache/2.4.29 (Ubuntu) 작업 환경 MySQL 개요 MySQL은《RDBMS, Relationa

blog.uncletom.co.kr

 

개발 환경에서 사용했던 데이터 베이스를 백업해서 테스트 서버의 데이터 베이스에 옮겨준다.

 

데이터베이스 백업 및 복구

 

[Linux] Ubuntu - MySQL 데이터베이스(DB) 백업/복원

## 백업과 복원 모두 지정 경로로 이동 후 명령 실행 1. DB백업 sudo mysqldump -uroot -p DB명 > 저장할파일이름.sql 2. DB복원 sudo mysql -uroot -p DB이름 < 파일이름.sql

prinha.tistory.com

 

6. JDK 1.6 설치

JDK 1.6 버전은 APT 명령어를 사용해서 설치할 수 없기 때문에 수동으로 설치한다.

 

우분투에 여러 java 버전 사용

지난번에 openjdk로 1.8 16 버전을 설치 했었는데 1.6 버전이 필요하게 되었다. 그런데 6버전은 openjdk를 지원하지 않았다. 또 찾아야지 뭐.... ㅠㅠ 아래 링크에서 jdk1.6을 우선 다운받는다. https://www.ora

iyousys.tistory.com

 

환경변수도 설정해준다.

 

[Linux] 우분투 Java 설치 및 JAVA_HOME 설정

● 우분투 Java 설치 및 JAVA_HOME 설정 1. open jdk 설치 2. 설치 확인 3. javac 위치 확인 4. ...

blog.naver.com

 

7. Tomcat 7 설치

톰캣도 따로 .tar.gz 확장자로 압축한 파일을 다운로드 받아서 설치해준다.

 

[Ubuntu] java, tomcat 설치 및 환경변수 설정

java 설치 및 환경변수 설정 ▶ jdk 다운로드 하기 OS : Ubuntu 14.04 LTSJAVA : jdk-8u131TOMCAT : tomcat 8.0.45 먼저, jdk-8u131-linux-x64.tar.gz를 다운 받아 진행한다. - sudo tar -zxvf jdk-8u131-linux-x64.tar.gz/opt/java에 압축을

morningame.tistory.com

 

8. WAR 배포

 

[Apache Tomcat] WAR 배포

개요 2022.08.23 - [Ubuntu] Apache Tomcat 설치에서 설치한 Tomcat에 WAR로 패키징된 애플리케이션을 배포하려고 한다. 배포할 애플리케이션은 이미 maven 등으로 빌드해두었다고 가정한다. 이 글에서는 https:

passwd.tistory.com

 

9. 아파치, 톰캣 연동

 

우분투[Ubuntu] 아파치(Apache2) 톰캣(Tomcat7) 설치 및 연동하기

<출처> https://noviceany.tistory.com/37 우분투[Ubuntu] 아파치(Apache2) 톰캣(Tomcat7) 설치 ...

blog.naver.com

 

 

 

mod-jk로 Ubuntu22.04.2에서 아파치 톰캣 연동하기

Ubuntu 22.04.2 LTS 서버 버전에서 웹서버인 아파치와 WAS인 톰캣을 연동해보자apt-get upgradeapt-get install apache2입력하여 아파치를 설치한다.설치 후, 아파치 상태 확인systemctl status apache2Active에

velog.io

 

위의 방법대로 진행했지만 되지 않았다. 검색을 통해 다른 방법들도 참고하고, GPT도 이용했지만 해결이 되지 않았다.

 

알고 보니 원인은 jk.conf 파일의 부재였다.

 

/etc/apache2 경로 내에는 여러 폴더들이 있는데 그 중에 mods-available과 mods-enabled 폴더가 있다. mod_jk를 통해 아파치와 톰캣을 연동할 때에는 jk.conf를 통해 경로 등을 참고하는데 폴더 내에 이 파일이 존재하지 않았다. 대신 httpd-jk.conf 파일이 있었다. mods-available 폴더 내에 있던 이 파일을 jk.conf라는 파일명으로 새로 복사를 했고, mods-enabled 폴더에서 jk.conf 파일을 참조하는 심볼릭 링크를 만들었다. 아파치를 재가동 하니 정상적으로 페이지가 띄워졌다.

 

 

[Linux] 심볼릭 링크(Symbolic link)

1. 심볼릭 링크(symbolic link) 란? - 링크를 연결하여 원본 파일을 직접 사용하는 것과 같은 효과를 내는 링크이다. 윈도우의 바로가기와 비슷한 개념 - 특정 폴더에 링크를 걸어 NAS, library 원본 파일

qjadud22.tistory.com

 

10. SSL 설치

SSL은 GPT를 참고해서 일단 자체 SSL을 만들어서 적용했다.

 

11. mariaDB로 마이그레이션이 아니라 MySQL 8.0으로 업그레이드

현재 테스트 서버에 설치된 MySQL 버전은 5.7인데 새로 구축할 서버는 mariaDB 10.3 버전을 사용하고 있었다. 테스트 서버에서 마이그레이션을 통해 잘 되는지 확인을 해야했다.

 

mariaDB로 마이그레이션을 해보니까 생각보다 수정해야할 부분이 많았다. 호스팅 업체에 문의한 결과, 기본 세팅인 mariaDB를 사용하지 않고 MySQL을 따로 설치해서 사용해도 된다는 답변을 받았다. 그래서 기존에 사용하던 Mysql 5.7을 계속 사용할까 하다가 8.0 버전으로 업그레이드 하면 어떨까 하는 생각에 업그레이드를 진행하게 되었다.

 

MySQL 5.7 설치 -> mariaDB로 마이그레이션 -> mariaDB 삭제 후 MySQL 5.7 재설치

 

까지 하고 8.0 버전을 설치하고자 5.7 버전을 삭제하려고 했는데

 

Failed to stop mysql.service: Unit mysql.service not loaded.

 

위와 같은 오류가 발생하면서 삭제가 되지 않았다.

 

GPT 선생의 도움을 받아

sudo rm /etc/systemd/system/mysql.service
sudo rm /etc/systemd/system/multi-user.target.wants/mysql.service
sudo systemctl daemon-reload

 

해당 폴더로 이동하니 /etc가 아니라 /lib로 심볼릭 링크로 연결되어 있어서 /lib 경로로 이동해서 mysql.service와 mysqld.service를 삭제해줬다. 그리고 이전에 삭제했던 mariadb.service도 남아있어서 그것까지 삭제해줬다. 이후 다시 5.7 패키지 삭제 시도를 하니 정상적으로 삭제가 됐다.

 

 

[Ubuntu 20.04] MySQL 8.0 서버 구축

■ 우분투(Ubuntu 20.4) 환경에서 MySQL 8.0 서버 구축 1. MySQL 설치 ▶ 패키지 index 업데이트 $ sudo apt(or apt-get) update ▶ 패키지 업그레이드 $ sudo apt(or apt-get) upgrade ▶ MySQL Server 설치 $ sudo apt install mysql-ser

hyunmin1906.tistory.com

 

위의 게시글을 참고해서 MySQL을 설치했다. 그리고 영문 대소문자 구분을 없애기 위해 설정을 추가했다.

 

 

How to install MySQL 8.0 with lower_case_table_names=1 on Ubuntu Server 20.04 LTS successfully?

It seems to be a lot of trouble to get MySQL running with lower_case_table_names=1 as can be seen in: lower_case_table_names=1 on Ubuntu 18.04 doesn't let mysql to start lower_case_table_names Set...

askubuntu.com

 

위의 게시글을 참고해서 진행하다가 root 계정으로 mysql에 접속하는 데에 실패했다. 비밀번호 재설정을 위해 안전모드로 mysql에 접속을 시도했다.

 

sudo mysqld_safe --skip-grant-tables &

 

위의 명령어를 사용하여 접속을 시도했지만

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

 

이런 오류가 발생하며 실패했다. 찾아보니 해당 옵션으로 실행될 때 인증 관련 명령을 실행할 수 없다는 뜻이었다.

sudo mysqld_safe --skip-grant-tables --skip-networking &

 

위의 명령어를 사용했다. /var/run/mysqld 폴더가 존재하지 않는다는 메시지가 나와서 폴더를 생성해주고

sudo chown mysql:mysql /var/run/mysqld

 

MySQL 프로세스가 이 디렉토리에 접근할 수 있도록 권한도 설정해줬다. 일반적으로 MySQL 프로세스는 mysql 사용자로 실행이 된다고 한다.

 

다시 안전모드를 실행하니 정상적으로 실행됐다. root 계정의 비밀번호를 재설정해주고 mysql을 재실행 했는데 실행이 되지 않았다. 안전모드로 실행한 mysql 프로세스가 제대로 내려가지 않았었다.

sudo killall mysqld_safe
sudo killall mysqld

 

위의 명령어로 프로세스를 다 죽이고 mysql을 다시 실행하니 잘 작동했다.

 

이후에는 5번에 포스팅한 mysql 설치 과정을 따라 진행했다. 그러다가 이번에는 새로 생성한 계정에 권한을 부여하던 중에 오류가 발생했다.

 

ERROR 1410 (42000): You are not allowed to create a user with GRANT - 권한 부여 관련 에러

root로 접속했는데도 권한 부여 에러 날 경우 해결법

velog.io

 

mysql 8.0의 외부접속 허용을 해준다.

 

[유닉스/리눅스] Ubuntu Server에 MySQL 8.0 원격 접속 허용하기

1. MySQL 8.0 원격 접속 허용하기 (1) 설정 변경 ① 포트 설정, 바인드 IP 변경 - port를 3306에서 2...

blog.naver.com

 

외부접속 허용 후에 DBeaver를 통해 접속 시도를 했는데 아래와 같은 오류가 발생했다. 조치는 아래의 게시글을 참고했다.

 

DBeaver(디비버) Public Key Retrieval is not allowed 에러

DBeaver(디비버) Public Key Retrieval is not allowed 에러 디비버에서 MySQL 데이터베이스 접속을 잘하다가 갑자기 Public Key Retrieval is not allowed 에러를 만났다. MySQL의 8.x 버전 이후부터 발생하는 문제라고 한

computer-science-student.tistory.com

 

mysql 서버에 백업받은 sql 파일들을 밀어넣다가 함수 생성 오류가 발생했다. 조치는 아래의 게시글을 참고했다.

 

[mySQL] mySQL function 생성 시 1418에러 / ERROR 1418: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in

함수를 만드려고했는데 apply 시 에러가 났다. 내 함수 코드는 이론상 문제없는데(진쨔 >.

xively.tistory.com

 

12. MySQL 5.7로 회귀,,

비상,,,,

소스에서 사용하는 JDK와 MySQL 8.0에 사용하는 JDBC가 호환이 안되어서 JDK를 8버전으로 업그레이드 하거나 MySQL을 5버전으로 다운그레이드 해야하는데 로컬에서 JDK를 8버전으로 바꿔서 실행하니 서버가 실행이 안되었다. 어쩔 수 없이 다시 MySQL 5.7을 재설치했다....

 

How to install MySQL 5.7 or 8 on Ubuntu 18.04, 20.04, 22.04

Need a reliable solution to manage your MySQL databases? Get the most advanced IDE on the market - dbForge Studio for MySQL

www.devart.com

 

13. HTTP로 접속 시 HTTPS로 리디렉션

마지막으로 http로 접속 시에 index 파일의 소스가 그대로 노출되는 문제가 발생했다.

 

http로 접속 시에 https로 리디렉션 해주기 위해서 GPT 선생의 도움을 받았다.

1) 가상 호스트 설정 파일 열기

일반적으로 /etc/apache2/sites-available/yourdomain.conf 또는 도메인별 설정 파일

2) HTTP 가상 호스트 추가 및 리다이렉트 규칙 추가

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
</VirtualHost> 

3) 추가 설정

- Apache 모듈 활성화

리다이렉션을 위해서는 mod_rewrite와 mod_ssl 모듈이 활성화되어 있어야 한다.
다음 명령어를 사용하여 필요한 모듈을 활성화한다.

sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl restart apache2

 

14. 마무리

이렇게 해서 VirtualBox를 활용해서 가상환경에 서버를 구축하는 작업을 마무리 했다. 처음 해보는 작업이라 막막했지만 구글에 선배들이 남겨주신 귀중한 자료들과 GPT 선생의 도움을 받아 무사히 마칠 수 있었다.

 

이제 실제 운영 서버에 구축을 할 차례다. 다른 예기치 못한 변수가 없기를 빌며!! 다음 포스트로 돌아오겠다!!

 

빠이빠이!!

 

+ DNS 설정 및 IP 직접 접근 제한

위의 과정을 따라 새로운 운영 서버에 구축을 완료했다. 하지만 IP를 도메인과 연결해주는 작업을 해야했다. 알아보니 현재 서버 호스팅은 가비아에서 받고 있지만 도메인 관리는 후이즈에서 하고 있었다. 후이즈에서 기존에 연결되어 있던 IP를 새로운 서버의 IP로 변경하고 기존의 IP는 backup이라는 호스트명으로 추가 등록해줬다. 테스트 결과, 도메인으로 접속 시 페이지 로딩이 성공적으로 되는 것을 확인할 수 있었다. 

 

하지만, IP로 접근하는 것을 막는 작업이 남아있었다. 이 작업은 GPT 선생의 도움을 받아서 해결했다. 현재 http로 접속 시에 https로 리디렉션 해주기 때문에 default-ssl.conf에서 작업을 진행했다. 해당 파일을 열어보면

<VirtualHost _default_:443>
ServerAdmin webmaster@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /소스 경로
</VirtualHost>

 

현재 이런 식으로 되어있을 것이다. 이 밑에

<VirtualHost _default_:443>
ServerAdmin webmaster@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /소스 경로
</VirtualHost>

<VirtualHost _default_:443>
ServerName yourIP
DocumentRoot /
</VirtualHost>

 

이렇게 가상 호스트를 하나 더 추가해준다. IP로 접근했을 때 / 라는 경로로 넘겨준다는 것인데 아마 아파치를 설치하면 apache2.conf에 /경로에 해당하는 Directory 태그가 있을 것이다. 없다면 VirtualHost 태그 안에 아래의 내용을 넣어주자.

<Directory />
Options None
AllowOverride None
Require all denied
</Directory>

 

이렇게 하면 IP로 접속했을 때는 에러 페이지가 호출되고, 도메인으로 접속했을 때는 정상적으로 페이지가 로딩될 것이다.

 

- 끝 -

'개발 > Linux' 카테고리의 다른 글

리눅스 명령어 정리  (2) 2024.01.30