리눅스

VMware 3-Tier 구성 (Maria DB ,apache2 ,PHP , 그누보드(게시판))

짱구는굿 2024. 2. 5. 23:59

DB Server 구성 (데이터 계층)

- Mariadb DB Server 설정

apt-get update
apt install mariadb-server mariadb-client -y
mysqladmin -u root -p password 'pass' - Linux가 아닌 db의 root 계정의 패스워드
Enter password: <루트_패스워크>

 

- DB 접속

mysql -u root -p
Enter password: <pass>
DB 접속 후 
show databases; - 테이블 확인

 

 

Web Server 구성 (프로젝트 계층)

- Apache Web Server 설정

apt-get install apache2  -y
systemctl status apache2

아파치 설치 및 상태 확인

  

- 웹페이지 생성 및 웹서버 접속

cd /var/www/html - apache2의 웹 문서 저장 경로
cat > index.html - 문서입력
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>웹 페이지의 구성 요소</title>
</head>
<body>
<h3>Elvis Presley</h3>
<hr>
He was an American singer and actor. In November 1956, 
he made his film debut in <span>Love Me Tender</span>.
He is often referred to as "<span>the King of Rock and Roll</span>".
</body>
</html>

Ctrl+d 로 종료

curl localhost - 접속하여 설정 확인

ip addr - IP 확인

 

- 홈페이지 접속

 

WAS Server 구성 (애플리케이션 계층)

- Business Logic 또는 Tansaction 계층이라고도 합니다, 

- PHP로 WAS server 설정

 

- PHP 설치

apt install php libapache2-mod-php php-mysql php-gd -y 

libapache2-mod-php - php와 apache를 연동해줍니다
php-mysql - php와 mysql을 연동해줍니다
php-gd - GD 라이브러리를 사용하여 그래픽 작업 및 이미지 처리를 해줍니다

 

- PHP 웹 문서 만들기

cd /var/www/html/
cat > index.php   
<?php phpinfo(); ?>
<Ctrl><d>

// <?php : php 구문의 시작
// phpinfo() : php 상태정보를 출력하는 함수
// ?> : php 구문의 끝

 

- PHP 웹 서비스 확인

 

Apache, PHP, MariaDB를 연동하여 게신판을 만들기

- 그누보드(게시판) 설치

wget https://github.com/gnuboard/gnuboard5/archive/master.zip - 파일 다운로드
unzip master.zip - 압축 해제
mv gnuboard5-master /var/www/html/gnuboard - 웹 서버로 파일 이동
cd /var/www/html/gnuboard/

 

- 홈페이지 접속

 

설치하기 클릭

 

 

설치 클릭 후 홈페이지 내용대로 진행해 준다

/var/www/html/gnuboard# mkdir data
/var/www/html/gnuboard# chmod 707 data

브라우저 새로고침

 

 

체크 후 동의 해줍니다.

 

- 그누보드 관리에 사용할  db 관리자 생성

 

 

mysql -u root -p
create database gnuboard; - 데이터베이스 생성
grant all privileges on gnuboard.* to btcuser@localhost identified by 'pass'; - 그누보드 관리자 계정 생성

gnuboard.* : gnuboard 안에있는 모든 table에 대해서
grant all privileges : 전체 권한을 가지는
btcuser@localhost : localhost에 접속할 수 있는 btcuser
identified by 'pass' : 비밀번호 pass

 

 

 

 

접속성공

 

로그인 성공

 

그누보드 장점

  1. 커뮤니티 지원:
    • 그누보드는 국내에서 많은 웹사이트와 커뮤니티에서 사용되어 사용자 간의 정보 공유와 소통이 활발합니다. 이로 인해 다양한 플러그인, 테마, 확장 기능 등을 지원받을 수 있습니다.
  2. 한글 지원 및 한국어 특화:
    • 그누보드는 한글을 기반으로 하는 특화된 솔루션으로, 한글 사용자를 위한 편의성을 고려한 기능들이 많이 포함되어 있습니다. 한글 검색, 한글 URL 지원 등이 특징입니다.
  3. 다양한 플러그인 및 테마:
    • 그누보드는 다양한 플러그인과 테마를 지원하며, 이를 통해 사용자는 자신의 웹사이트를 다양하게 커스터마이징할 수 있습니다.
  4. 쉬운 사용 및 설치:
    • 간단한 설치 과정과 사용자 친화적인 인터페이스를 제공하여, 비전문가들도 쉽게 그누보드를 설치하고 운영할 수 있습니다.
  5. SEO 최적화:
    • 검색 엔진 최적화를 고려한 기능들이 포함되어 있어, 검색 엔진에서의 웹사이트 노출이 용이합니다.
  6. 확장성 및 유연성:
    • 다양한 플러그인과 확장 기능들을 통해 그누보드는 다양한 용도로 확장 가능합니다. 웹사이트의 필요에 따라 원하는 기능을 추가하거나 확장할 수 있습니다.
  7. 오픈 소스:
    • 그누보드는 오픈 소스로 개발되어 커뮤니티의 기여와 개선이 가능하며, 라이선스 비용이 없어 저비용으로 이용할 수 있습니다.
  8. 안정성과 신뢰성:
    • 오랜 기간동안 다양한 웹사이트에서 사용되어 왔으며, 안정성과 신뢰성이 검증되어 있습니다.
  9. 모바일 친화적:
    • 다양한 디바이스에서 원활한 이용을 위한 반응형 디자인과 모바일 친화적인 기능을 제공합니다.
  10. 업그레이드 및 지속적인 개발:
    • 그누보드는 지속적으로 업그레이드 및 개발이 이루어져 사용자들에게 새로운 기능과 최신 기술을 제공합니다.

 

 

 

오류 발생시 파일 확인

 

- 로그 파일 -

 

/var/log/apache2/error.log