웹사이트 검색

Debian 9에 Snipe-IT 자산 관리 소프트웨어를 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 시작하기\n
  3. LAMP 서버 설치
  4. MariaDB 설치 및 구성
  5. Snipe-IT 설치
  6. Snipe-IT용 Apache 구성
  7. 방화벽 구성\n
  8. Snipe-IT 액세스
  9. 결론

Snipe-IT는 라이선스, 액세서리, 소모품 및 구성 요소를 추적하는 데 사용할 수 있는 무료 오픈 소스 IT 자산 관리 웹 애플리케이션입니다. PHP 언어로 작성되었으며 MySQL을 사용하여 데이터를 저장합니다. Linux, Windows 및 Mac OS X와 같은 모든 주요 운영 체제에서 작동하는 크로스 플랫폼 애플리케이션입니다. Active Directory, LDAP와 쉽게 통합되고 Google Authenticator를 통한 이중 인증을 지원합니다.

이 튜토리얼에서는 Debian 9 서버에 Snipe-IT를 설치하는 방법을 배웁니다.

요구 사항

  • Debian 9를 실행하는 서버.\n
  • sudo 권한이 있는 루트가 아닌 사용자.\n

시작하기

패키지를 설치하기 전에 시스템 패키지를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.

sudo apt-get update -y
sudo apt-get upgrade -y

그런 다음 시스템을 다시 시작하여 모든 업데이트를 적용하십시오. 그런 다음 다음 명령을 사용하여 다른 필수 패키지를 설치합니다.

sudo apt-get install git curl unzip wget -y

모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

램프 서버 설치

Snipe-IT는 Apache 웹 서버에서 실행되므로 시스템에 LAMP(Apache, MariaDB, PHP)를 설치해야 합니다.

먼저 다음 명령을 사용하여 Apache, PHP 및 기타 PHP 라이브러리를 설치합니다.

sudo apt-get install apache2 libapache2-mod-php php php-pdo php-mbstring php-tokenizer php-curl php-mysql php-ldap php-zip php-fileinfo php-gd php-dom php-mcrypt php-bcmath -y

모든 패키지가 설치되면 Apache 서비스를 시작하고 다음 명령을 사용하여 부팅 시 시작되도록 활성화합니다.

sudo systemctl start apache2
sudo systemctl enable apache2

MariaDB 설치 및 구성

Snipe-IT는 MariaDB를 사용하여 데이터를 저장합니다. 따라서 시스템에 MariaDB를 설치해야 합니다. 기본적으로 최신 버전의 MariaDB는 Debian 9 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 MariaDB 리포지토리를 설치해야 합니다.

먼저 다음 명령을 사용하여 APT 키를 추가합니다.

sudo apt-get install software-properties-common dirmngr -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8

다음으로 다음 명령을 사용하여 MariaDB 리포지토리를 추가합니다.

sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.1/debian stretch main'

다음으로 다음 명령을 사용하여 저장소를 업데이트합니다.

sudo apt-get update -y

리포지토리가 업데이트되면 다음 명령을 사용하여 MariaDB를 설치할 수 있습니다.

sudo apt-get install mariadb-server mariadb-client -y

그런 다음 MariaDB 서비스를 시작하고 다음 명령을 사용하여 부팅 시 시작되도록 활성화합니다.

sudo systemctl start mysql
sudo systemctl enable mysql

다음 명령을 사용하여 MariaDB 서버의 상태를 확인할 수 있습니다.

sudo systemctl status mysql

모든 것이 정상이면 다음 출력이 표시됩니다.

? mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-12-25 08:41:25 EST; 29min ago
  Process: 618 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 615 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 436 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemc
  Process: 429 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 418 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 574 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           ??574 /usr/sbin/mysqld

Dec 25 08:41:07 debian systemd[1]: Starting MariaDB database server...
Dec 25 08:41:14 debian mysqld[574]: 2017-12-25  8:41:14 140488893776448 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as p
Dec 25 08:41:25 debian systemd[1]: Started MariaDB database server.

다음으로 다음 스크립트를 실행하여 MariaDB를 보호합니다.

sudo mysql_secure_installation

아래와 같이 모든 질문에 답하십시오.

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

MariaDB가 보호되면 다음 명령을 사용하여 MariaDB 셸에 로그인합니다.

mysql -u root -p

메시지가 표시되면 루트 비밀번호를 입력하고 다음 명령을 사용하여 Snipe-IT용 데이터베이스를 생성합니다.

MariaDB [(none)]> create database snipeitdb character set utf8;

다음으로 Snipe-IT에 대한 사용자를 생성하고 다음 명령을 사용하여 Snipe-IT에 모든 권한을 부여합니다.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON snipeitdb.* TO 'snipeit'@'localhost' IDENTIFIED BY 'password';

그런 다음 다음 명령을 사용하여 권한을 플러시합니다.

MariaDB [(none)]> flush privileges;

마지막으로 다음 명령을 사용하여 MariaDB 콘솔을 종료합니다.

MariaDB [(none)]> quit

Snipe-IT 설치

다음 명령을 사용하여 Git 리포지토리에서 Snipe-IT의 최신 버전을 다운로드할 수 있습니다.

git clone https://github.com/snipe/snipe-it snipe-it

다음으로, 다음 명령을 사용하여 다운로드한 디렉터리를 apache 루트 디렉터리로 이동합니다.

sudo mv snipe-it /var/www/

다음으로 Composer를 시스템에 설치해야 합니다. 다음 명령으로 설치할 수 있습니다.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

다음으로 디렉터리를 snipe-it으로 변경하고 다음 명령과 함께 Composer를 사용하여 PHP 종속성을 설치합니다.

cd /var/www/snipe-it
sudo composer install --no-dev --prefer-source

다음으로 다음 명령을 사용하여 "APP_Key"를 생성합니다.

sudo php artisan key:generate

다음 출력이 표시되어야 합니다.

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:uWh7O0/TOV10asWpzHc0DH1dOxJHprnZw2kSOnbBXww=] set successfully.

다음으로 Snipe-IT의 기본 데이터베이스 스키마로 MySQL을 채워야 합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.

sudo php artisan migrate

마이그레이션을 수행할 것인지 확인하는 메시지가 표시되면 yes를 입력합니다.

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.

다음으로 샘플 .env 파일을 복사하고 일부 변경합니다.

sudo cp .env.example .env
sudo nano .env

다음 줄을 변경합니다.

APP_URL=http://example.com
APP_TIMEZONE=US/Eastern
APP_LOCALE=en

# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=snipeitdb
DB_USERNAME=snipeit
DB_PASSWORD=password
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'

완료되면 파일을 저장하고 닫습니다.

그런 다음 다음 명령을 사용하여 적절한 소유권 및 파일 권한을 제공합니다.

sudo chown -R www-data:www-data storage public/uploads
sudo chmod -R 755 storage public/uploads

Snipe-IT용 Apache 구성

다음으로 Snipe-IT용 아파치 가상 호스트 지시어를 생성해야 합니다. /etc/apache2/sites-available 디렉토리 안에 snipeit.conf 파일을 생성하여 이를 수행할 수 있습니다.

sudo nano /etc/apache2/sites-available/snipeit.conf

다음 줄을 추가합니다.

<VirtualHost *:80>
ServerAdmin 
<Directory /var/www/snipe-it/public>
        Require all granted
        AllowOverride All
   </Directory>
    DocumentRoot /var/www/snipe-it/public
    ServerName example.com
        ErrorLog /var/log/apache2/snipeIT.error.log
        CustomLog /var/log/apache2/access.log combined
</VirtualHost>

완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 가상 호스트를 활성화합니다.

sudo a2ensite snipeit.conf

다음으로 다음 명령을 사용하여 PHP mcrypt, mbstring 모듈 및 Apache 재작성 모듈을 활성화합니다.

sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite

마지막으로 Apache 웹 서버를 다시 시작하여 모든 변경 사항을 적용합니다.

sudo systemctl restart apache2

방화벽 구성

기본적으로 Snipe-IT는 포트 80에서 실행되므로 방화벽을 통해 포트 80을 허용해야 합니다. 기본적으로 UFW 방화벽은 Debian 9에 설치되어 있지 않으므로 먼저 설치해야 합니다. 다음 명령을 실행하여 설치할 수 있습니다.

sudo apt-get install ufw -y

UFW가 설치되면 다음 명령을 사용하여 부팅 시 시작되도록 활성화합니다.

sudo ufw enable

그런 다음 다음 명령을 사용하여 포트 80을 허용합니다.

sudo ufw allow 80

다음으로 다음 명령을 사용하여 UFW 방화벽 규칙을 다시 로드합니다.

sudo ufw reload

Snipe-IT 액세스

이제 모든 것이 설치되고 구성되었으며 Snipe-IT 웹 인터페이스에 액세스할 시간입니다.

웹 브라우저를 열고 http://example.com URL을 입력하면 다음 페이지로 리디렉션됩니다.

위의 페이지는 구성이 올바른지 확인하기 위해 시스템 검사를 수행합니다. 다음으로 Create Database Table 버튼을 클릭하면 다음 페이지가 표시됩니다.

여기에서 사용자 만들기 페이지를 클릭하면 다음 페이지가 표시됩니다.

여기에서 사이트 이름, 도메인 이름, 관리자 사용자 이름 및 비밀번호를 제공한 다음 사용자 저장 버튼을 클릭하면 아래와 같이 Snipe-IT 기본 대시보드가 표시됩니다.

결론

위의 튜토리얼에서는 Debian 9 서버에 Snipe-IT를 설치하는 방법을 배웠습니다. 또한 웹 인터페이스를 통해 Snipe-IT를 구성하는 방법도 배웠습니다. 이제 프로덕션 환경에서 Snipe-IT를 배포할 수 있는 충분한 지식을 갖추셨기를 바랍니다. 자세한 내용은 Snipe-IT 설명서 페이지를 참조하십시오.