Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

Ubuntu 24 DB 서버와 Rocky 9 웹 서버 연동하기 (Apache & MariaDB 설정 가이드) 본문

AWS

Ubuntu 24 DB 서버와 Rocky 9 웹 서버 연동하기 (Apache & MariaDB 설정 가이드)

H.S-Backend 2024. 10. 15. 17:43

1. Rocky 9 서버에 Apache 설치 및 설정

Rocky 9 서버에서 Apache 웹 서버를 설치하고 설정하는 과정입니다. Apache는 HTTP 웹 서버로, 웹 사이트를 호스팅하는 데 사용됩니다.

Apache 설치

sudo dnf install -y httpd bash-completion
  • httpd: Apache 웹 서버 패키지.
  • bash-completion: 명령어 자동 완성 기능을 제공하여 편리하게 사용할 수 있습니다.

Apache 서비스 시작 및 상태 확인

sudo systemctl start httpd sudo systemctl status httpd
  • start: Apache 웹 서버를 시작합니다.
  • status: Apache 서비스 상태를 확인합니다.

Apache 서비스 자동 시작 설정

서버가 재부팅될 때 Apache가 자동으로 시작되도록 설정합니다.

sudo systemctl enable httpd

방화벽 설정

Rocky 9 서버에는 기본적으로 방화벽이 설정되어 있어 외부에서 HTTP 트래픽을 수신하려면 방화벽 규칙을 수정해야 합니다.

HTTP 서비스 허용

 
sudo firewall-cmd --permanent --add-service=http

80번 포트(TCP) 허용

 
sudo firewall-cmd --permanent --add-port=80/tcp

방화벽 규칙 적용

sudo firewall-cmd --reload

현재 방화벽 규칙 확인

sudo firewall-cmd --list-all

💡 중요: 방화벽 설정을 반드시 확인하여 HTTP 및 80번 포트가 허용되었는지 확인하세요. 이 과정으로 Apache 웹 서버가 외부에서 정상적으로 접근 가능해집니다.


2. 웹 사이트 파일 압축 및 전송

웹 사이트 파일을 Rocky 9 서버로 전송하기 전에 압축하고, 안전하게 전송하는 방법입니다.

웹 사이트 파일 압축

tar -cvf web-site.tar index.html error.html images
  • tar 명령어를 통해 여러 파일들을 하나의 압축 파일로 만듭니다.

압축된 파일 확인

tar -tf web-site.tar

파일 전송 (Secure Copy, SCP 사용)

scp 명령어를 사용해 Ubuntu 서버에서 압축한 파일을 Rocky 9 서버로 전송합니다.

scp -i .ssh/id_rsa web-site.tar hyungs@Rocky9_IP:/home/hyungs/

scp: SSH 기반으로 안전하게 파일을 전송하는 명령어입니다.

  • -i .ssh/id_rsa: SSH 키 인증을 사용하여 전송합니다.

Rocky 9 서버에서 파일 압축 해제

Rocky 9 서버에서 Apache 웹 서버의 기본 경로인 /var/www/html/에 압축을 해제합니다.

tar 패키지 설치

sudo dnf install -y tar

압축 해제

 
sudo tar -xvf web-site.tar -C /var/www/html/ --no-same-owner

위 명령어로 파일이 웹 서버 디렉토리에 정상적으로 복사됩니다.


3. Ubuntu 24에서 MariaDB 외부 접근 허용

Ubuntu 서버에서 MariaDB가 외부에서 접근 가능하도록 설정하는 과정입니다.

MariaDB 설정 파일 수정

sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
  • bind-address = 127.0.0.1 줄을 찾아 주석 처리하거나 0.0.0.0으로 변경합니다. 이는 모든 IP에서 접근을 허용한다는 의미입니다.

💡 중요: bind-address 설정을 제대로 수정하지 않으면 외부에서 MariaDB로의 연결이 차단될 수 있습니다.

MariaDB 외부 접근을 허용할 사용자 생성

sudo mysql -u root -p

비밀번호를 입력한 후, 다음과 같이 명령어를 실행합니다.

CREATE USER '사용자이름'@'%' IDENTIFIED BY '비밀번호'; CREATE DATABASE IF NOT EXISTS 데이터베이스이름; GRANT ALL PRIVILEGES ON 데이터베이스이름.* TO '사용자이름'@'%'; FLUSH PRIVILEGES;
  • %: 모든 IP에서 접속을 허용하는 설정입니다.
  • 데이터베이스와 사용자를 정확하게 생성하고, 권한을 부여해야 외부에서 접근이 가능합니다.

MariaDB 서비스 재시작

sudo systemctl restart mariadb

⚠️ 주의: 설정을 변경한 후 반드시 MariaDB 서비스를 재시작해야 적용됩니다.


4. Rocky 9에서 MariaDB 접근

Rocky 9 웹 서버에서 Ubuntu DB 서버의 MariaDB에 연결하려면 다음 명령어를 사용합니다.

mysql -h "Ubuntu_IP" -u 사용자아이디 -p

비밀번호를 입력하면 Ubuntu 서버의 MariaDB에 정상적으로 연결할 수 있습니다.


5. SELinux 설정 수정 및 방화벽 관리

SELinux 설정 확인

Apache 웹 서버에서 파일 접근이 제한되는 경우, SELinux 설정을 확인하고 필요 시 비활성화할 수 있습니다.

sudo sestatus
  • enabled 상태라면, Apache 웹 서버가 파일에 접근하는 데 문제가 생길 수 있습니다.

SELinux 비활성화

설정 파일을 열어 SELinux를 비활성화합니다.

sudo vi /etc/sysconfig/selinux
  • SELINUX=enforcing을 찾아 SELINUX=disabled로 수정합니다.

서버 재부팅

SELinux 설정을 적용하려면 서버를 재부팅해야 합니다.

sudo reboot

💡 SELinux가 비활성화되지 않으면, Apache 웹 서버가 파일에 접근하지 못할 수 있으니 설정을 반드시 확인하세요.

반응형