728x90
우분투 24.04에서 RackTables를 설치하는 방법
RackTables는 데이터센터 자산 관리 및 데이터베이스 관리를 지원하는 오픈 소스 도구입니다.
테스트 환경
- 웹 서버 : Nginx 1.26
- 미들웨어 서버 : PHP 8.3
- 데이터베이스 : MySQL 8.0
1. 필수 패키지 설치
RackTables에 필요한 의존성 패키지를 설치합니다.
sudo apt update
sudo apt install -y unzip wget graphviz
Nginx 설치
sudo apt-get install -y curl gnupg2 ca-certificates lsb-release
sudo apt-get install -y ubuntu-keyring apt-transport-https
curl -s https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
https://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt-get update
PHP 설치
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update
sudo apt install -y php8.3 php8.3-fpm php8.3-cli php8.3-common php8.3-mysql php8.3-bcmath php8.3-intl \
php8.3-mbstring php8.3-gd php8.3-snmp php8.3-zip php8.3-curl php8.3-xml php-json
MySQL 설치
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
sudo sed -i.bak 's|http://|https://|g' /etc/apt/sources.list.d/mysql.list
sudo apt update
sudo apt install -y mysql-server
2. MySQL 데이터베이스 설정
RackTables용 데이터베이스와 사용자를 생성합니다.
MySQL 로그인
sudo mysql -u root -p
데이터베이스 및 사용자 생성
CREATE DATABASE racktables_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'racktables_user'@'localhost' IDENTIFIED BY 'your_database_password';
GRANT ALL PRIVILEGES ON racktables_db.* TO 'racktables_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. RackTables 소스 다운로드
RackTables 최신 릴리스를 다운로드하고 NGINX 웹 루트에 압축을 해제합니다.
cd /usr/share/nginx
wget https://sourceforge.net/projects/racktables/files/RackTables-0.22.0.tar.gz
tar -xvf RackTables-0.22.0.tar.gz
파일 권한 설정
sudo chown -R www-data:www-data /usr/share/nginx/RackTables-0.22.0
sudo chmod -R 755 /usr/share/nginx/RackTables-0.22.0
4. NGINX 설정
RackTables를 위한 NGINX 가상 호스트 설정 파일을 생성합니다.
sudo vim /etc/nginx/conf.d/racktables
# HTTP -> HTTPS 리다이렉트
server {
listen 80;
server_name racktables.sangchul.kr;
return 301 https://racktables.sangchul.kr$request_uri;
}
# HTTPS 설정
server {
listen 443 ssl;
http2 on;
server_name racktables.sangchul.kr;
root /usr/share/nginx/RackTables-0.22.0/wwwroot;
index index.php index.html;
# 로그 설정
access_log /var/log/nginx/racktables_access.log main;
error_log /var/log/nginx/racktables_error.log warn;
# 기본 위치
location / {
try_files $uri $uri/ =404;
}
# PHP 처리
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# SSL 인증서
ssl_certificate /etc/nginx/ssl/sangchul_kr/cert.pem;
ssl_certificate_key /etc/nginx/ssl/sangchul_kr/key.pem;
# SSL 보안 설정
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# HTTP Strict Transport Security (HSTS)
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# .htaccess 및 숨김 파일 접근 차단
location ~ /\.(?!well-known) {
deny all;
}
# 크기 제한 등 추가 보호 설정
client_max_body_size 10M;
client_body_timeout 12s;
}
NGINX 구성을 테스트한 후 재시작합니다.
sudo nginx -t
sudo systemctl restart nginx
5. PHP-FPM 설정 확인
PHP-FPM이 NGINX와 올바르게 통신하도록 설정을 확인합니다.
sudo vim /etc/php/8.3/fpm/php.ini
확인하거나 활성화합니다.
cgi.fix_pathinfo=0
PHP-FPM 서비스를 재시작합니다.
sudo systemctl restart php8.3-fpm
6. RackTables 웹 설치
웹 브라우저에서 http://your_domain_or_ip로 접속하여 RackTables 설치 마법사를 실행합니다.
https://racktables.sangchul.kr/?module=installer
데이터베이스 정보 입력
- Database Host : localhost
- Database Name : racktables_db
- Database User : racktables_user
- Database Password : your_database_password
7. 보안 강화
설치 마법사가 완료된 후 secret.php(inc/secret.php) 파일이 자동 생성됩니다.
secret.php 파일 권한 설정
cd /usr/share/nginx/RackTables-0.22.0/wwwroot/inc
chown www-data:nogroup secret.php
chmod 440 secret.php
설치 디렉토리 삭제
sudo rm -rf /var/www/racktables/wwwroot/install.php
우분투 24.04에서 Nginx, PHP 8.3, MySQL 8.0을 사용하여 RackTables 0.22.0을 성공적으로 설치할 수 있습니다.
참고URL
- Project's Web-Site : RackTables
- Github : RackTables
- SOURCEFORGE : RackTables Files(Download)
728x90
'리눅스' 카테고리의 다른 글
[draft] 우분투에서 python 명령어를 사용할 수 있도록 설정하는 방법 (0) | 2025.01.17 |
---|---|
[draft] 우분투에서 Logrotate를 설정하는 방법 (0) | 2025.01.15 |
[draft] PHP-FPM Pool을 구성하는 방법 (0) | 2025.01.14 |
[draft] 우분투에서 최신 버전의 Docker를 설치하는 방법 (0) | 2025.01.13 |
[draft] NGINX에서 가상 호스트에 HTTP2를 설정하는 방법 (0) | 2025.01.08 |