Snipe-IT


SnipeIT - Background

Snipe-IT adalah aplikasi open source IT Asset Management (ITAM) yang digunakan untuk mencatat, mengelola, dan melacak aset perusahaan, seperti hardware, software, lisensi, peripheral, dan kontrak.
Aplikasi ini berbasis web (web-based) sehingga bisa diakses melalui browser, baik di server lokal maupun cloud.


Fitur Utama Snipe-IT

  1. Asset Management

    • Mencatat detail aset (serial number, merk, model, lokasi, user).

    • Tracking lifecycle dari procurement hingga disposal.

  2. User & Assignment Tracking

    • Menentukan siapa pemilik/pengguna dari suatu aset.

    • Riwayat siapa pernah menggunakan aset tersebut.

  3. License Management

    • Mencatat lisensi software (key, jumlah seat, masa berlaku).

    • Memberi peringatan sebelum lisensi habis.

  4. Accessories & Consumables

    • Melacak peripheral (keyboard, mouse, headset, charger).

    • Mengatur barang habis pakai (toner, tinta printer, baterai).

  5. Audit & History

    • Mencatat setiap perubahan (check-in, check-out, pindah lokasi).

    • Laporan histori aset secara lengkap.

  6. Notification & Alert

    • Email notifikasi untuk lisensi expired, perpanjangan kontrak, atau masa garansi.

  7. API & Integrasi

    • REST API untuk integrasi dengan sistem lain (misalnya Helpdesk, ERP).


Arsitektur Snipe-IT


Kelebihan

Kekurangan

SnipeIT - Prerequisites Recommended

Spesification Requirement

DependenciesSnipe-IT (latest version) di Ubuntu 24.04

  1. Web Server

    • Nginx Stable Version.

  2. PHP (versi 8.2 – 8.4) dengan extension :

    php-bcmath
    php-ctype
    php-curl
    php-dom
    php-gd
    php-iconv
    php-json
    php-mbstring
    php-mysql
    php-openssl
    php-tokenizer
    php-xml
    php-zip
  3. Database

      • Mariadb  Ver 15.1 Distrib 10.11.13-MariaDB, for debian-linux-gnu (x86_64)

      • Pastikan ada user & database khusus untuk Snipe-IT.

  4. Composer

    • Dependency manager untuk PHP (wajib untuk install paket Laravel).

  5. Git
  6. Dependencies tambahan
    software-properties-common
    unzip
    curl
    zip
    nano

SnipeIT - Install SnipeIT

  1. Pastikan server ubuntu sudah mempunyai koneksi internet.
  2. Pastikan Ubuntu yang digunakan LTS.
    lsb_release -a
    Output OS Ubuntu version.
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 24.04.3 LTS
    Release:        24.04
    Codename:       noble
  3. Update dan Upgrade Ubuntu 24.04.
    apt update && apt upgrade -y
  4. Install Dependencies.
    apt install software-properties-common -y
    apt install curl -y
    apt install unzip -y
    apt install zip -y
    apt install nano -y
  5. Install PHP 8.4.
    add-apt-repository ppa:ondrej/php -y
    apt update
    apt install -y php8.4 php8.4-bcmath php8.4-common php8.4-ctype php8.4-curl php8.4-fileinfo php8.4-fpm php8.4-gd php8.4-intl php8.4-mbstring php8.4-mysql php8.4-soap php8.4-xml php8.4-xsl php8.4-zip php8.4-cli
  6. Cek Version
    php -v

    Output PHP version.
    PHP 8.4.11 (cli) (built: Aug  3 2025 08:42:27) (NTS)
    Copyright (c) The PHP Group
    Built by Debian
    Zend Engine v4.4.11, Copyright (c) Zend Technologies
        with Zend OPcache v8.4.11, Copyright (c), by Zend Technologies
  7. Install Composer.
    wget -O composer-setup.php https://getcomposer.org/installer
    php composer-setup.php --install-dir=/usr/local/bin --filename=composer
  8. Cek Version
    composer -V
    Output Composer version.
    Composer version 2.8.11 2025-08-21 11:29:39
    PHP version 8.4.11 (/usr/bin/php8.4)
    Run the "diagnose" command to get more detailed diagnostics output.
  9. Install MariaDB Server & Client.
    apt install mariadb-server mariadb-client -y
  10. Cek Version
    mariadb -V
    Output MariaDB version.
    mariadb  Ver 15.1 Distrib 10.11.13-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper
  11. Create Database.
    mysql
    mysql> CREATE DATABASE db_snipeit;
    mysql> GRANT ALL on db_snipeit.* to user_snipeit@localhost identified by 'ilusidigital.com';
    mysql> FLUSH PRIVILEGES;
    mysql> \q
  12. Create Folder & Download Snipe-IT ( Versi yang diunduh tergantung pada yang ingin diinstal.)
    mkdir -p /var/www/
    cd /var/www/
    wget https://github.com/grokability/snipe-it/archive/refs/tags/v8.2.1.zip
    unzip v8.2.1.zip
    mv snipe-it-8.2.1 snipe-it 
    cd snipe-it
    cp .env.example .env
    nano .env
  13.  Basic & Simple Config .env
    APP_URL=https://assets.ilusidigital.com
    APP_TIMEZONE=Asia/Jakarta
    #
    DB_DATABASE=db_snipeit
    DB_USERNAME=user_snipeit
    DB_PASSWORD=ilusidigital.com
  14. Change Ownership.
    chown -R nginx:nginx /var/www/snipe-it
  15. Update Dependencies Composer & Laravel.
    cd /var/www/snipe-it/
    composer update --no-plugins --no-scripts
    composer install --no-dev --prefer-source --no-plugins --no-scripts
    php artisan migrate --seed
    php artisan key:generate
  16. Klik link berikut untuk Install Nginx Ubuntu
  17. Backup file config default nginx.
    cd /etc/nginx/conf.d/
    mv default.conf default.conf.backup
  18. Create Folder Log dan Edit Konfigurasi Nginx untuk SnipeIT  :
    mkdir -p /var/log/nginx/snipeit/
    nano /etc/nginx/conf.d/snipeit.conf
  19. Konfigurasi Nginx SnipeIT :
    server {
        listen 80;
        server_name assets.ilusidigital.com;
    
        root /var/www/snipe-it/public;
        index index.php;
    
        access_log /var/log/nginx/snipeit/snipeit_access.log;
        error_log  /var/log/nginx/snipeit/snipeit_error.log warn;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_pass unix:/run/php/php8.4-fpm.sock;
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_read_timeout 300;
            fastcgi_connect_timeout 300;
            fastcgi_send_timeout 300;
    
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
  20. Ubah default user.
    nano /etc/nginx/nginx.conf
  21. Edit pool config PHP-FPM (biasanya di /etc/php/8.4/fpm/pool.d/www.conf):
    listen = /run/php/php8.4-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
  22. Restart Service Nginx dan PHP-FPM
    systemctl restart php8.4-fpm
    systemctl restart nginx
  23. Verifikasi Socket
    ls -l /run/php/php8.4-fpm.sock
  24. Hasil dari verfikasi socket. 
    srw-rw---- 1 nginx nginx 0 Sep 22 13:05 /run/php/php8.4-fpm.sock

  25. Create User Admin pada SnipeIT
    cd /var/www/snipet-it/
    php artisan snipeit:create-admin --first_name="Admin" --last_name="Ilusi Digital" --email=ilusi.digtal2022@gmail.com --username=ilusidigital --password="P@ssw0rd!"
  26. Snipe-IT sudah bisa digunakan.

    image.png


  27. Selesai