반응형
오라클 버추얼 박스에서 설치를 진행했으며, 사용 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 를 사용하여 변경할 수 있습니다.
반응형