공부를 함시다/리눅스

[리눅스] Centos 9 에 Snipe-it 설치하기

갈룩시노테7 2025. 3. 23. 23:06
반응형

오라클 버추얼 박스에서 설치를 진행했으며, 사용 Centos OS 버전은 9 버전입니다.

 

su - root

# 시스템 업데이트 및 방화벽 설정
sudo dnf update -y  # 시스템 패키지 업데이트
sudo systemctl start firewalld  # 방화벽 시작
sudo systemctl enable firewalld  # 부팅 시 자동 실행

# HTTP 포트(80) 오픈
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

# Apache 웹 서버 설치 및 실행
sudo dnf install -y httpd  # Apache 설치
sudo systemctl start httpd.service  # Apache 시작
sudo systemctl enable httpd.service  # 부팅 시 자동 실행
httpd -v  # Apache 버전 확인

# 네트워크 설정 확인 (필요 시 NAT 네트워크로 변경)
ifconfig  # 서버의 현재 IP 주소 확인 (ex: http://192.168.0.X 로 접속 테스트)

# 추가 패키지 설치
sudo dnf install -y epel-release vim git wget

# PHP 8.3 설치 및 설정
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm  # EPEL 저장소 추가
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm  # Remi 저장소 추가
sudo dnf module reset php  # 기존 PHP 모듈 초기화
sudo dnf module install php:remi-8.3  # PHP 8.3 설치
sudo dnf -y install php-mysql php-ldap php-zip  php-gd php-mcrypt php-bcmath php-sodium
php -v  # PHP 버전 확인

# MariaDB 설치 및 설정
nano /etc/yum.repos.d/mariadb.repo

[MariaDB]
name = MariaDB
baseurl = https://mirror.mariadb.org/yum/11.2/centos/9/x86_64/
gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
module_hotfixes=1
gpgcheck=1

sudo dnf makecache  # 저장소 캐시 생성
sudo dnf install -y mariadb-server  # MariaDB 설치
sudo systemctl start mariadb  # MariaDB 시작
sudo systemctl enable mariadb  # 부팅 시 자동 실행
sudo systemctl status mariadb  # 상태 확인

# MariaDB 초기 보안 설정 및 데이터베이스 생성
sudo mariadb-secure-installation

# Snipe-IT용 데이터베이스 및 사용자 생성
mysql -u root -p

CREATE DATABASE snipeit;
CREATE USER 'snipeituser'@'localhost' IDENTIFIED BY 'password'; 
# snipeituser : 사용자 ID, password : 사용자 PW
GRANT ALL PRIVILEGES ON snipeit.* TO 'snipeituser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

# Composer 설치
sudo wget https://getcomposer.org/installer -O composer-installer.php
sudo php composer-installer.php --filename=composer --install-dir=/usr/local/bin
which composer  # Composer 설치 확인

# Snipe-IT 다운로드 및 설정
sudo git clone https://github.com/snipe/snipe-it /var/www/html/snipe
cd /var/www/html/snipe
sudo cp .env.example .env

# Snipe-IT 환경 설정 파일 수정
nano .env

APP_URL=http://192.168.0.x
APP_TIMEZONE='Asia/Seoul'
APP_LOCALE=ko

DB_DATABASE=snipeit
DB_USERNAME=snipeituser
DB_PASSWORD='password'


# 파일 권한 설정
sudo chown -R apache:apache storage public/uploads # 웹 서버가 접근할 수 있도록 소유권 변경
sudo chmod -R 755 storage public/uploads  # 디렉터리 접근 권한 부여

# Snipe-IT 설치
sudo /usr/local/bin/composer install --no-dev --prefer-source # 약 10분 정도 대기
sudo php artisan key:generate

# Apache 가상 호스트 설정
cd /etc/httpd/conf.d/
vi snipe.conf

# Snipe-IT용 Apache VirtualHost 설정 파일 생성
<VirtualHost *:80>
 ServerName 192.168.123.94
 DocumentRoot /var/www/html/snipe/public
 <Directory /var/www/html/snipe/public>
  Options Indexes FollowSymLinks Multiviews
  AllowOverride All
  Require all granted
 </Directory>
</VirtualHost>

# Apache 재시작
sudo systemctl restart httpd

# SELinux 설정 (필요 시 적용)
sudo yum install -y policycoreutils-python-utils  # SELinux 정책 도구 설치
sudo restorecon -R -v /var/www/html/snipe/  # SELinux 컨텍스트 복원
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/snipe/storage(/.*)?" # 저장소 폴더에 쓰기 권한 부여
sudo restorecon -RF /var/www/html/snipe/storage  # 변경 적용
sudo setsebool -P httpd_can_network_connect on  # 외부 네트워크 연결 허용

# 최종적으로 소유권 설정 확인
sudo chown -R apache:apache /var/www/html/snipe  # 전체 프로젝트 디렉터리에 대한 소유권 재설정

 

완료 후 버추얼 박스 안에서 해당 IP로 접속 시 아래와 같은 홈페이지가 조회될 경우 정상적으로 설정된 것입니다.

 

 

IP 변경이 필요할 경우 nmtui 를 사용하여 변경할 수 있습니다.

반응형