Asset Management - How to deploy Asset Management Snipe-IT on Centos 7 Google Cloud


Nói về Snipe IT thì chắc hẳn ai cũng biết rồi, thông tin chi tiết có thể tham khảo bài Hướng dẫn build Asset Management Snipe-IT trên Centos 7 (rất là chi tiết). Hôm nay làm cũng bài như thế này trên Google Cloud, về bản chất thì không có gì thay đổi nhiều, vì sao, có một bạn chat cho mình nhờ mình check hộ Snipe IT cài trên Google Clound và vấn đề bullshit là... haizz

Khi làm được 80%, mình có nhờ reboot con Centos 7 Google Cloud thế là nó giới hạn session , sau khi reboot nó không cho ssh tới luôn, hài vãi chưởng, với lại phải làm về rồi nên định hướng cho bạn ấy tự xử, hôm nay mới đăng ký tài khoản là làm lại bài nay, nói chung hôm nay là copy paste kaka

Sau khi đăng kí Google Cloud ta tạo máy ảo Centos 7




Sau đó ta đăng nhập vào Centos 7 này trên Google Cloud và access bằng tài khoản root .


Cứ y chang bài trước mà xúc :)



Rồi cũng tạo folder chứa source code, không gì thay đổi


Cấu hình file host :



Thêm repo và cài đặt Maria DB, nó không khác gì bài kia cả, chỉ là trên  Google Cloud :)




Sau khi cài đặt thì tạo Database


Sơ tới đây là thấy không gì thay đổi nhiều, phần nào quan trọng sẽ bôi đậm lại dễ focus

Cài đặt php, và cấu hình thông số, tinh chỉnh PHP






Phần quan trọng :
Cài composer để get thư viện về và chạy như trong hình, nếu không chạy báo lỗi thì dùng /usr/local/bin/composer install



Tiếp theo tạo key và cập nhật file config





Tiếp theo tắt selinux đi với lệnh sau, cái này khá quan trọng nhá, để tránh phát sinh nhiều cái




Vì khi tắt selinux xong sẽ không bị lỗi phân quyền một số folder về permissions ví dụn như báo và vào debug chọn true nó sẽ show lỗi chính xác ra (vi .env -> from -> APP_DEBUG=false to APP_DEBUG=true )




Tiếp theo thì theo bài trước và hoàn thành




Báo lỗi thì chạy php artisan migrate








Vậy thế là xong một bài How to deploy Asset Management Snipe-IT on Centos 7 Google Cloud bla bla bla :) Bài này sẽ chỉ điểm những cái quan trọng mắc phải, lỗi này đã gặp khi hỗ trợ một bạn cài trên Google Clound, bài này không nói kỹ càng như bàio trước vì copy paste và chỉ điểm nơi quan trọng. Khi bạn đã tiềm kiếm cách cài Snipe-IT thì bạn đã biết dùng nó để làm gì rồi, đừng mất khá nhiều thời gian để cài đi cài lại àm hãy ngâm cứu thật kỹ trước khi cài :) Bài này cài khoản 15 phút nếu bạn hiểu nó.

Nhãn:

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


Nói đến Asset Management thì đa số những doanh nghiệp vừa và lớn thường dùng thì chắc hẳn ai cũng biết GLPI. Một công cụ quản lý khá hoàn hảo.



GLPI là một công cụ phần mềm ITSM đáng kinh ngạc giúp bạn lập kế hoạch và quản lý các thay đổi CNTT một cách dễ dàng, giải quyết vấn đề hiệu quả khi chúng xuất hiện và cho phép bạn có được quyền kiểm soát hợp pháp đối với ngân sách CNTT và chi phí của bạn.


Tính ra thì GLPI sử dụng khá trực quan, dễ hiểu, lần đâu tiên tiếp xúc thì chắc hẳn một IT chịu khó để ý xíu thì sử dụng nó khá nhanh dễ hiểu, còn đặt thì ôi thôi cũng đơn giản không nhức đầu gì nhiều.

Để cài đặt GLPI  trên Centos 7 thì rất là nhanh, hầu như biết cấu hình php, mariadb, host apache ... thì được rồi.

Để cài đặt GLPI sẽ trình tự theo các bước sau :

Cài đặt Apache Httpd : Đến hẹn thì lại lên cứ theo motif cũ mà làm

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

[root@localhost ~]#systemctl start httpd

[root@localhost ~]#systemctl enable httpd

Cũng như đã nói ở bài Hướng dẫn build Asset Management Snipe-IT trên Centos 7 cứ hình dung lên kế hoạch trước là xúc thôi.

Tạo Virtual host như sau :

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





NameVirtualHost *:80
     ServerName glpi.phamquangloc.local
     ServerAlias www.glpi.phamquangloc.local
     DocumentRoot /var/www/glpi.phamquangloc.local/public_html
     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
   

Cài đặt PHP :

[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

Chỉnh sửa vài thông số cho PHP

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



memory_limit = 128M ;    
file_uploads = on ;
max_execution_time = 600 ; 
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Ho_Chi_Minh

Cài đặt MariaDB :  Thằng này thì không cần lăng tăng chọn phiên bản Database, cứ mới nhất là xúc sài thôi :)

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

# MariaDB 10.2 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name =  MariaDB
baseurl = http://yum.mariadb.org/10.2/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

Tạo Database cho GLPI

[root@localhost ~]#mysql -u root -p

MariaDB [(none)]> CREATE DATABASE glpi_db;

MariaDB [(none)]> CREATE USER 'glpi_admin'@'localhost' IDENTIFIED BY 'conchimnon';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glpi_db.* TO 'glpi_admin'@'localhost';

MariaDB [(none)]> FLUSH PRIVILEGES;

[root@localhost ~]#quit



Cài đặt Git 

[root@localhost ~]#yum install git

Tạo thư mục chứa code GLPI

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

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

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

Git source code GLPI về host

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

[root@localhost public_html]#git clone https://github.com/glpi-project/glpi.git

[root@localhost public_html]# mv /glpi/* .

[root@localhost public_html]# mv /glpi/.* .

[root@localhost public_html]# rm -rf  glpi/

Cài đặt Install Composer

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

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

[root@localhost public_html]# composer install


Disable SELinux

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

SELINUX=disabled

Chmod thư mục :

[root@localhost public_html]#  chmod -R 755 config/

[root@localhost public_html]#  chown -R apache:apache config/

[root@localhost public_html]# chmod -R 755 files/

[root@localhost public_html]# chown -R apache:apache files/


Mở trình duyệt tiến hành cài đặt :

Chọn OK


Chọn Accept Continue



Chọn Install


Check lỗi và fix lỗi GLPI



Ở đây ta thấy có 4 lỗi :

imap extension test 

[root@localhost public_html]# yum install php-imap

[root@localhost public_html]#systemctl restart httpd

Zend OPcache extension test

[root@localhost public_html]#yum install php-opcache

[root@localhost public_html]#vi /etc/php.d/10-opcache.ini

opcache.enable_cli=1
opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1

[root@localhost public_html]#systemctl restart httpd

CAS extension test

[root@localhost public_html]#composer require jasig/phpcas

APCu extension test

[root@localhost public_html]#yum install php-apcu

xmlrpc extension test

[root@localhost public_html]#yum install php-xmlrpc -y



Nhập thông in Database


Chọn Database GLPI đã tạo sẵn









Thông tin đăng nhập :

glpi/glpi : admin account,
tech/tech : technical account,
normal/normal : “normal” account,
post-only/postonly : post-only account.

Sau khi đăng nhập hệ thống sẽ yêu cầu đổi tất cả password các user, đổi xong mở Terminal lên xóa file : Install/intall.php đi là xong

Cuối cùng là chiến thôi :)




Nhãn:

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: