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