Asset Management - Hướng dẫn build Asset Management Snipe-IT trên Centos 7


Qua tìm hiểu thì thấy Snipe-IT khá là chất, hỗ trợ quản lý các trang thiết bị của IT khá hưu ích, tại sao phải dùng nó, dùng nó có lợi ích gì.


Nhìn cái logo thấy cái mặt là bá đạo rồi :) ok, Snipe-IT nó là hệ thống open souce quản lý các tài sản của IT, hiện tại nó là open source nếu bạn cài đặt trên máy cá nhân mình và có phí khi bạn đăng ký mua hosting của họ, và họ sẽ hỗ trợ tận răng cho bạn. Hôm nay thì nói về nó nên chơi trên server của chính mình.



Snipe-IT hỗ trợ trên mọi nền tảng Windows, Linux.. mã nguồn chính của nó là PHP Laravel  Framework nên lựa chọn linux chạy là sướng nhất.

Để cài đặt nó thì cần những gì :


Ở trên là những yêu cầu nó và một kinh nghiệm nho nhỏ nữa là cái đặt nó dùng MariaDB(10.1) sẽ chạy ngon lành không bị lỗi, tôi đã cố găng chơi phiên bản cao nhất hiện hành bây giờ theo cài đặt mặt định nó sẽ cài phiên bản mới nhất, thế là bầm dập hôi ê luôn, quyết không downgrade để fix tới cùng, nhưng thua, thôi đợi vậy.

Bắt đầu cài thôi :

Cài đặt Httpd : Đầu tiên cài đặt Httpd trước với các lệnh sau




[root@localhost ~]#yum install httpd -y

[root@localhost ~]#systemctl start httpd

[root@localhost ~]#systemctl enable httpd

OK, sau khi cái đặt xong mình sẽ tạo một Vitual host như sau, trước khi tạo nó cần xác định trước sẽ để code ở đâu, vị trí nào, có thể lên list hoặc hình dung ra trước hoặc làm sau cũng ko sao :)

[root@localhost ~]#vi /etc/httpd/conf.d/it.phamquangloc.local.conf



NameVirtualHost *:80
 
 
     ServerName it.phamquangloc.local
     ServerAlias www.it.phamquangloc.local
     DocumentRoot /var/www/it.phamquangloc.local/public_html/public
     ErrorLog /var/log/httpd/error.log 
     CustomLog /var/log/httpd/access.log combined
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
   

Dựa vào file .conf ta sẽ chọn nơi lưu trữ code cho phù hợp như sau :



[root@localhost ~]#mkdir -p /var/www/it.phamquangloc.local/public_html

[root@localhost ~]#chown apache:apache -R /var/www/it.phamquangloc.local/public_html

[root@localhost ~]#chmod -R 775 /var/www/it.phamquangloc.local/


Cài đặt MariaDB : Trên phiên bản hiện tại cài MariaDB cao quá phát sinh ra lỗi, nên chọn bản 10.1 là chạy ngon lành, hy vọng vài hôm nữa sẽ hỗ trợ tốt hơn.

[root@localhost ~]#vi /etc/yum.repos.d/MariaDB.repo



# MariaDB 10.1 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name =  MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

[root@localhost ~]#yum repolist

[root@localhost ~]#yum install MariaDB-server MariaDB-client MariaDB-devel MariaDB-shared -y

[root@localhost ~]#systemctl start mysql.service

[root@localhost ~]#mysql_secure_installation



[root@localhost ~]#systemctl start mysql.service

[root@localhost ~]#systemctl start mysql.service

[root@localhost ~]#systemctl start mysql.service

Tạo Database cho SnipeIT :



[root@localhost ~]#CREATE DATABASE snipeit_db;

[root@localhost ~]#CREATE USER 'snipeit_admin'@'localhost' IDENTIFIED BY 'conchimnon';

[root@localhost ~]#GRANT ALL PRIVILEGES ON snipeit_db.* TO 'snipeit_admin'@'localhost';

[root@localhost ~]#FLUSH PRIVILEGES;

Cài đặt PHP :

Tiếp theo là cài đặt PHP trên Centos 7, quá trình cài đặt cũng đơn giản như sau

[root@localhost ~]#yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

[root@localhost ~]#yum install yum-utils

[root@localhost ~]#yum-config-manager --enable remi-php72   [Install PHP 7.2]

[root@localhost ~]#yum install 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 php-gd

Config cấu hình của file php.ini

[root@localhost ~]#vi /etc/php.ini



post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Ho_Chi_Minh


Cài đặt Composer : Nó cho phép bạn khai báo các thư viện mà dự án của bạn phụ thuộc và nó sẽ quản lý (cài đặt / cập nhật) chúng cho bạn, giống như khi bạn đi cày thuê, có người đem trâu bò sẵn cho bạn, bạn chỉ bay xuống cày thôi, không lo nghĩ gì, rất tiện lợi.


[root@localhost ~]#sudo curl -sS https://getcomposer.org/installer | php

[root@localhost ~]#sudo mv composer.phar /usr/local/bin/composer

Cài đặt Git để getcode SnipeIT : Như mặc định thì Centos 7 không có cài sẵn Git, vì vậy phải cài nó để getcode như sau



[root@localhost ~]#yum install git

Get source code SnipeIT : Sau khu mọi thứ đã xong, bắt đầu tiến hành get code về bằng git.

Ở trên đã tạo ra sẵn thư mục chứa code, thì ta đi đến thẳng thư mục đó

[root@localhost ~]# cd /var/www/it.phamquangloc.local/public_html/

Tiến hàng get source

[root@localhost ~]#sudo git clone https://github.com/snipe/snipe-it.git



Sau khi get về sẽ thấy một thư mục : Snipe-it, nhưng như ban đầu dự tình và tạo vitual host ở trên thì mọi thứ phải được cài đặt trên /public_html chứ không phải bất cứ thư mục nào, và khi chạy web phải chạy thư mục public bên trong sộ source này, vì vậy cần di chuyển tất cả các code ra bên ngoài public.

Chuyển toàn bộ file trong snipe-it ra public_html

[root@localhost public_html]#mv snipe-it/* .

Dùn lệnh trên chỉ chuyển các file và thư mục chính ra bên ngoài, còn lại file .conf như .env .. vẫn chưa ra, vậy nên chạy lệnh tiếp theo

[root@localhost public_html]#mv snipe-it/.* .

Như vậy tất cả source code từ trong đã chuyển ra ngoài và ta xóa thư mục này đi

[root@localhost public_html]#rm -rf  /snipe-it



Config file .env, file này là file config chính để connect tới database

[root@localhost public_html]#cp .env.example .env

[root@localhost public_html]#vi .env


Chạy file Composer để load thư viện :

[root@localhost public_html]#composer install


Sau khi chạy Composer xong, tiến hành chạy để tạo key cho project

[root@localhost public_html]#php artisan key:generate



Tắt Selinux trên centos 7 : sau khi change sang disabled rồi khởi động lại server

[root@localhost public_html]#vi /etc/selinux/config



Mọi thứ đã ok bắt đầu khởi động lại Httpd rồi chạy web lên để cài đặt Snipe-IT

[root@localhost public_html]#systemcli restart httpd

Chạy web để config trên webpage :

Bây giờ chạy lên nếu bị lỗi thì đồng nghĩa quá trình chmod có vấn đề, vậy thì chmod lại một lần nữa

[root@localhost public_html]#chown apache:apache -R /var/www/it.phamquangloc.local/public_html


[root@localhost public_html]#chmod -R 775 /var/www/it.phamquangloc.local/





Và cứ thế Next để bắt đầu tạo Database


Nếu bước chạy DB này bị lỗi thì quay lại Terminal Centos chạy dòng sau và refresh lại page

[root@localhost public_html]#php artisan migrate




Tiếp theo là setup User



Quá trình hoàn thành



Snipe IT có hỗ trợ import Data vào, exam có danh sách thiết bị trên file excel sẵn, ta chỉnh sửa nó thành template và import vào với số lượng lớn, hỗ trợ khá tốt điều này. Nếu không chắc thốt lên rằng
"What the 2019(hợi)" :) Quá trình uplaod và tạo template sẽ bổ sung ở bào sau :)


Nhãn: