Snipe-IT adalah aplikasi web manajemen aset TI sumber terbuka dan gratis yang dapat digunakan untuk melacak lisensi, aksesori, bahan habis pakai, dan komponen. Itu ditulis dalam bahasa PHP dan menggunakan MySQL untuk menyimpan datanya. Ini adalah aplikasi lintas platform yang bekerja pada semua sistem operasi utama seperti, Linux, Windows, dan Mac OS X. Aplikasi ini terintegrasi dengan mudah dengan Active Directory, LDAP dan mendukung autentikasi dua faktor dengan Google Authenticator.
Dalam tutorial ini, kita akan mempelajari cara menginstal Snipe-IT di server Debian 9.
Persyaratan
- Server yang menjalankan Debian 9.
- Pengguna non-root dengan hak istimewa sudo.
Memulai
Sebelum menginstal paket apa pun, disarankan untuk memperbarui paket sistem dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:
sudo apt-get update -y
sudo apt-get upgrade -y
Selanjutnya, restart sistem untuk menerapkan semua pembaruan. Kemudian instal paket lain yang diperlukan dengan perintah berikut:
sudo apt-get install git curl unzip wget -y
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Server LAMP
Snipe-IT berjalan di server web Apache, jadi Anda perlu menginstal LAMP (Apache, MariaDB, PHP) ke sistem Anda.
Pertama, instal Apache, PHP dan library PHP lainnya dengan perintah berikut:
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
Setelah semua paket diinstal, mulai layanan Apache dan aktifkan untuk memulai saat boot dengan perintah berikut:
sudo systemctl start apache2
sudo systemctl enable apache2
Instal dan Konfigurasi MariaDB
Snipe-IT menggunakan MariaDB untuk menyimpan datanya. Jadi, Anda perlu menginstal MariaDB ke sistem Anda. Secara default, versi terbaru MariaDB tidak tersedia di repositori Debian 9. Jadi, Anda perlu menginstal repositori MariaDB ke sistem Anda.
Pertama, tambahkan kunci APT dengan perintah berikut:
sudo apt-get install software-properties-common dirmngr -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
Selanjutnya, tambahkan repositori MariaDB menggunakan perintah berikut:
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.1/debian stretch main'
Selanjutnya, perbarui repositori dengan perintah berikut:
sudo apt-get update -y
Setelah repositori diperbarui, Anda dapat menginstal MariaDB dengan perintah berikut:
sudo apt-get install mariadb-server mariadb-client -y
Selanjutnya, mulai layanan MariaDB dan aktifkan untuk memulai saat boot dengan perintah berikut:
sudo systemctl start mysql
sudo systemctl enable mysql
Anda dapat memeriksa status server MariaDB dengan perintah berikut:
sudo systemctl status mysql
Jika semuanya baik-baik saja, Anda akan melihat output berikut:
? 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.
Selanjutnya, amankan MariaDB Anda dengan menjalankan skrip berikut:
sudo mysql_secure_installation
Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:
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
Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:
mysql -u root -p
Masukkan kata sandi root Anda saat diminta, lalu buat database untuk Snipe-IT dengan perintah berikut:
MariaDB [(none)]> create database snipeitdb character set utf8;
Selanjutnya, buat pengguna untuk Snipe-IT dan berikan semua hak istimewa ke Snipe-IT dengan perintah berikut:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON snipeitdb.* TO 'snipeit'@'localhost' IDENTIFIED BY 'password';
Selanjutnya, siram hak istimewa dengan perintah berikut:
MariaDB [(none)]> flush privileges;
Terakhir, keluar dari konsol MariaDB menggunakan perintah berikut:
MariaDB [(none)]> quit
Instal Snipe-IT
Anda dapat mengunduh versi terbaru Snipe-IT dari repositori Git dengan perintah berikut:
git clone https://github.com/snipe/snipe-it snipe-it
Selanjutnya, pindahkan direktori yang telah diunduh ke direktori root apache dengan perintah berikut:
sudo mv snipe-it /var/www/
Selanjutnya, Anda perlu menginstal Komposer ke sistem Anda. Anda dapat menginstalnya dengan perintah berikut:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Selanjutnya, ubah direktori menjadi snipe-it dan Instal dependensi PHP menggunakan Composer dengan perintah berikut:
cd /var/www/snipe-it
sudo composer install --no-dev --prefer-source
Selanjutnya, buat "APP_Key" dengan perintah berikut:
sudo php artisan key:generate
Anda akan melihat output berikut:
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Application key [base64:uWh7O0/TOV10asWpzHc0DH1dOxJHprnZw2kSOnbBXww=] set successfully.
Selanjutnya, Anda perlu mengisi MySQL dengan skema database default Snipe-IT. Anda dapat melakukannya dengan menjalankan perintah berikut:
sudo php artisan migrate
Ketik yes, saat diminta untuk mengonfirmasi bahwa Anda ingin melakukan migrasi:
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Migration table created successfully.
Selanjutnya, salin contoh file .env dan buat beberapa perubahan di dalamnya:
sudo cp .env.example .env
sudo nano .env
Ubah baris berikut:
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'
Simpan dan tutup file setelah Anda selesai.
Selanjutnya, berikan kepemilikan dan izin file yang sesuai dengan perintah berikut:
sudo chown -R www-data:www-data storage public/uploads
sudo chmod -R 755 storage public/uploads
Konfigurasi Apache Untuk Snipe-IT
Selanjutnya, Anda perlu membuat arahan host virtual Apache untuk Snipe-IT. Anda dapat melakukannya dengan membuat snipeit.conf
file di dalam /etc/apache2/sites-available
direktori:
sudo nano /etc/apache2/sites-available/snipeit.conf
Tambahkan baris berikut:
<VirtualHost *:80> ServerAdmin [email protected] <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>
Simpan dan tutup file setelah Anda selesai. Kemudian, aktifkan virtual host dengan perintah berikut:
sudo a2ensite snipeit.conf
Selanjutnya, aktifkan PHP mcrypt, mbstring module dan Apache rewrite module dengan perintah berikut:
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
Terakhir, restart server web Apache untuk menerapkan semua perubahan:
sudo systemctl restart apache2
Konfigurasi Firewall
Secara default, Snipe-IT berjalan pada port 80, jadi Anda harus mengizinkan port 80 melalui firewall. Secara default, firewall UFW tidak diinstal di Debian 9, jadi Anda harus menginstalnya terlebih dahulu. Anda dapat menginstalnya hanya dengan menjalankan perintah berikut:
sudo apt-get install ufw -y
Setelah UFW diinstal, aktifkan untuk memulai saat boot dengan perintah berikut:
sudo ufw enable
Selanjutnya, izinkan port 80 menggunakan perintah berikut:
sudo ufw allow 80
Selanjutnya, muat ulang aturan firewall UFW dengan perintah berikut:
sudo ufw reload
Akses Snipe-IT
Semuanya sudah terinstal dan terkonfigurasi, saatnya mengakses antarmuka web Snipe-IT.
Buka browser web Anda dan ketik URL http://example.com, Anda akan diarahkan ke halaman berikut:
Halaman di atas akan melakukan pemeriksaan sistem untuk memastikan konfigurasi Anda terlihat benar. Selanjutnya, klik Buat Tabel Database tombol Anda akan melihat halaman berikut:
Di sini, klik tombol Buat Pengguna halaman, Anda akan melihat halaman berikut:
Di sini, berikan nama Situs, Nama domain, nama pengguna Admin, dan kata sandi Anda, lalu klik tombol Simpan Pengguna tombol, Anda akan melihat dasbor default Snipe-IT seperti di bawah ini:
Kesimpulan
Dalam tutorial di atas, kita telah belajar menginstal Snipe-IT di server Debian 9. Kami juga telah belajar untuk mengonfigurasi Snipe-IT melalui antarmuka web. Saya harap Anda sekarang memiliki pengetahuan yang cukup untuk menerapkan Snipe-IT di lingkungan produksi Anda. Untuk informasi lebih lanjut, Anda dapat merujuk ke Halaman Dokumentasi Snipe-IT.