Snipe-IT (Asset management tool that works on a Linux, Apache, MySQL, and PHP (LAMP) stack.)

Hakan Olcay Coruk
Turk Telekom Bulut Teknolojileri
3 min readJul 26, 2022

Bu yazımda çoğu firma içerisinde kullanılan ve belli bir seviyeden sonra takip edilmesi zorlaşan ve bunun sonucunda firmaya extra maliyet olarak yansıyan envanter yönetimini ve parça takibini anlatmaya çalışacağım. Bunun için ise açık kaynak kodlu bir yazılımdan bahsetmek istiyorum. Umarım faydalı olur.

İlk olarak bahsetceğim yazılım Snipe-IT ücretsiz bir yazılım olup Linux, Apache, MySQL, PHP üzerinde çalışabiliyor. Gayet kullanışlı bir arayüzü olup belli girdileri yaptıktan sonra envanter yönetim işini gayet çabuklaştıran ve takibini kolaylaştıran bir yazılım olduğu kesin. Tabi eksileri yok değil ücretsiz olması herkesin kafasnda soru işareti oluşturabilir. Fakat gerekli backup ve kontrol işlemlerinden sonra bence rahatca kullanılabilir.

Kurulum ve arayüz bilgilerini burada paylaşmaya çalışcağım. Kurulum aşamalarına gelince Linux üzerinde belli bazı aşağıda paylaşıcağım komutları çalıştırarak kendi repository’sini indirdikten sonra diğer komutlar ile kurulumu basitce tamamlayabiliriz.

İlk olarak bir ubuntu server kurulumu yapıyoruz.Ben ubuntu 20.04 versiyonuna kurulumu yaptım.Ubuntu sunucumuzda OpenSSH servisini aktif edelim. Kurulum sonrasında sunucumuza bağlanmamız gerekecek.Sonrasında sırası ile,

1. Install LAMP (Apache, MySQL, PHP)

Kurduğumuz sunucunun update işlemi için ;

$ sudo apt update && sudo apt -y upgrade
$ sudo apt install -y apache2
$ sudo apt install -y mariadb-server mariadb-client
$ sudo apt install -y php
$ sudo apt install -y php-{common,mysql,xml,xmlrpc,curl,gd,imagick,cli,dev,imap,mbstring,opcache,soap,zip,intl}

2. Install Snipe-IT on Ubuntu

2.1 Install Dependencies

Apache’nin mod_rewrite modülünü etkinleştirin,

$ sudo a2enmod rewrite

Hem PHP hemde Snipe-IT uygulaması için PHP extension’ları yüklenmesi için,

$ sudo apt install -y php-{opcache,pdo,bcmath,bz2,calendar,ctype,exif,ffi,fileinfo,ftp,gd,iconv,intl,json,mbstring,mysqli,phar,posix,readline,shmop,sockets,sysvmsg,sysvsem,sysvshm,tokenizer,zip,curl,ldap}

Ve ardından Apache web server restart edilebilir.

$ sudo systemctl restart apache2

2.2 Install PHP Composer

Snipe-IT ortamınızda kitaplıkları kurmak ve güncellemek için bir PHP Composer’ı kuruyoruz.

Home Directory altında Composer installerı indiriyoruz.

$ curl -sS https://getcomposer.org/installer | php

Composer.phar executable dosyasını /usr/local/bin/ altına taşıyoruz.

$ sudo mv composer.phar /usr/local/bin/composer

3. Create a Database

Snipe-IT, veri depolama için MySQL/MariaDB kullanır. Veritabanını oluşturmak için MySQL/MariaDB sunucunuzda root olarak oturum açın.Aşağıda verilen girdide kullanıcı adı ve şifreyi kendinize göre düzenleyip devam edebilirsiniz.

$ sudo mysql -u root -pmysql> CREATE DATABASE snipe_it;
CREATE USER ‘snipe_it_user’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘EXAMPLE_PASSWORD’;
GRANT ALL PRIVILEGES ON snipe_it.* TO ‘snipe_it_user’@’localhost’;
FLUSH PRIVILEGES;

4. Install Snipe-IT

Ve sonunda Snipe-IT kurulumu başlıyor :)

web sunucumuzda root directoty’e erişiyoruz.

$ cd /var/www/

En güncel Snipe-IT sürümü için https://github.com/snipe/snipe-it adresine gidiyoruz.

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

Snipe-IT dizinine geçiş yapalım.

$ cd /var/www/snipe-it$ sudo cp /var/www/snipe-it/.env.example /var/www/snipe-it/.env

Configuration dosyasını editleyelim,

$ sudo nano /var/www/snipe-it/.env

save edip çıkabiliriz.

Ardından Snipe-IT klasörüne sahiplik ve izinleri verelim.

$ sudo chown -R www-data:www-data /var/www/snipe-it
$ sudo chmod -R 755 /var/www/snipe-it

Unzip tool’unu kuruyoruz çünkü PHP zip uzantılı eklentilerini açmamız gerekiyor.

Snipe-IT dosyalarını Composer ile kuruyoruz. Snipe-IT kurulumuna root olarak devam etmenizde bir sakınca yoktur, bu yüzden yesyazıp ENTER’a basın.

$ sudo apt-get install -y unzip$ sudo composer update — no-plugins — no-scripts
$ sudo composer install — no-dev — prefer-source — no-plugins — no-scripts

Composer çalışmayı bitirdiğinde, daha önce oluşturduğunuz /var/www/snipe-it/.env yapılandırma dosyasında bir Laravel APP_Key değeri oluşturun. Evet yazın ve devam etmeniz istendiğinde ENTER’a basın.

$ sudo php artisan key:generate

5. Create a Virtual Host File

Apache default sanal host dosyası (000-default.conf)ile birlikte gelir. Snipe-IT için yeni bir Apache konfig dosyası oluşturuyoruz.

Önce var olan default Apache konf dosyasını disable ediyoruz.

$ sudo a2dissite 000-default.conf

Yeni bir konfig dosyası oluşturmak için,

$ sudo nano /etc/apache2/sites-available/snipe-it.conf
<VirtualHost *:80>
ServerName your_ip_address
DocumentRoot /var/www/snipe-it/public
<Directory /var/www/snipe-it/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
sudo a2ensite snipeit.conf
sudo systemctl restart apache2

Kayıt edip Çıkıyoruz.

Yeni oluşturduğumuz konfig doyamızı aktif hale getimek için,

$ sudo a2ensite snipe-it.conf

Apache web server restart edip verdiğimiz IP üzerinden erişip kullanmaya başlayabiliriz. Bu yazılımın sitesi üzerinden de detaylı şekilde programı inceleyip demo olarak kullanabilirsiniz.

--

--