티스토리 뷰
이번 포스팅은 지난 https://ekeprl.tistory.com/52
서버호스팅 (1) – [Ubuntu] OS 업데이트와 웹/DB 환경 세팅
이전에 작성했던 웹호스팅을 이어서 서버호스팅을 해보려고 합니다.https://ekeprl.tistory.com/51 웹 호스팅 - 닷홈(DOTHOME) 무료호스팅로컬환경에서만 프로젝트를 활용하다가직접 웹 서비스를 진행하
ekeprl.tistory.com
설정 이후에 직접 서버 초기 세팅을 진행하려합니다.
Ubuntu 서버를 처음 세팅할 때 필요한 작업은 다음과 같습니다
- Apache 웹 서버 설치
- MariaDB 성치 및 관리자 계정 생성(본인이 사용하는 DB)
- 호스트 네임 변경
- 시스템 패키지 업데이트
위 세팅을 끝내면 웹/DB서버로 사용이 가능합니다.
#!/bin/bash
set -e
- - #!/bin/bash : bash 환경 선언
- - set -e : 에러 발생 시 즉시 종료
* bash : 사용자가 명령을 입력해 시스템을 제어하고, 쉡 스크립트를 사용해 작업을 자동화하는 작업*
# 0.사용자 설정
NEW_HOSTNAME="변경할 HOSTNAME"
ADMIN_USER="DB 관리자계정"
ADMIN_PASS="DB 관리자 비밀번호"
# 1. 패키지 업데이트
echo "[1/5] Updating system packages..."
apt update -y
apt upgrade -y
- echo : logger와 같은 용도
- apt update : 패키지 목록 최신화
- apt upgrade : 설치된 패키지 모두 최신 버전으로 업데이트
- -y : “Yes” 선택을 자동으로 처리
# 2. Apache 설치
echo "[2/5] Installing Apache..."
apt install -y apache2
systemctl enable apache2
systemctl start apache2
- apt install -y apache2 : Apache 웹 서버 설치
- systemctl enable apache2 : 서버 재부팅 후 자동으로 실행
- systemctl start apache2 : 설치 후 바로 실행
# 3. 호스트네임 변경
echo "[3/5] Changing hostname to $NEW_HOSTNAME..."
hostnamectl set-hostname $NEW_HOSTNAME
sed -i "s/127.0.1.1.*/127.0.1.1 $NEW_HOSTNAME/" /etc/hosts
- hostnamectl set-hostname : 서버 이름 변경
- /etc/hosts 수정 : 내부 시스템에서도 새 호스트네임을 인식하도록 적용
* 호스트네임을 바꾸는건 로그, 스크립트 등에서 서버 이름을 정확하게 확인하기 위해서다*
# 4. MariaDB 설치
echo "[4/5] Installing MariaDB..."
apt install -y mariadb-server
systemctl enable mariadb
systemctl start mariadb
- apt install -y MariaDB-SERVER : MariaDB 설치
- systemctl enable mariadb / systemctl start mariadb : 재부팅 시 자동 실행 설정
# 5) 안전한 DB 초기화: root 비번을 건드리지 않고, 관리계정(ADMIN_USER)을 생성/갱신
echo "5) Creating/Updating admin DB user (${ADMIN_USER}@localhost)..."
mysql -e "CREATE USER IF NOT EXISTS '${ADMIN_USER}'@'localhost' IDENTIFIED BY '${ADMIN_PASS}'; \
GRANT ALL PRIVILEGES ON *.* TO '${ADMIN_USER}'@'localhost' WITH GRANT OPTION; \
FLUSH PRIVILEGES;"
- root 비밀번호를 건드리지 않고 새 계정을 만들어 관리 가능
- CREATE USER IF NOT EXISTS : 계정이 없으면 생성
- GRANT ALL PRIVILEGES : 모든 권한 부여
- FLUSH PRIVILEGES : 권한 즉시 적용
${ADMIN_USER} / ${ADMIN_PASS} 는 0번에서 입력한 값입니다.
직접 명령어를 입력해서 사용하는 방법도 있지만, 스크립트로 저장해서 다른방법으로 세팅을 할 수 도있습니다.
이만 포스팅을 마치겠습니다.
감사합니다.
반응형
'Project > Server' 카테고리의 다른 글
| 서버호스팅 (4) – [Ubuntu] 서버에 Git으로 프로젝트 배포하기 (0) | 2025.11.06 |
|---|---|
| 서버호스팅 (3) – [Ubuntu] Nginx 설치 (0) | 2025.11.04 |
| 서버호스팅 (1.5) – [Ubuntu] SSH KEY를 이용한 서버 (0) | 2025.10.16 |
| 서버호스팅 (1) – [Ubuntu] OS 업데이트와 웹/DB 환경 세팅 (0) | 2025.10.15 |
| 웹 호스팅 - 닷홈(DOTHOME) 무료호스팅 (0) | 2025.10.15 |