How to install Snipe-IT on CentOS 7

Introduction

Snipe-IT is a Free Open Source (FOSS) project built on Laravel 5.5
Snipe-IT was made for IT asset management, to enable IT departments to track who has which laptop, when it was purchased, which software licenses and accessories are available, and so on.
This guide will show you how to install Snipe-IT on CentOS 7.



Requirements

web software :Nginx-1.16.1 or  Apache

PHP 7.1.2 or higher   

PHP Extensions:

OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
cURL PHP Extension
MySQL PHP Extension
LDAP PHP extension (only if using LDAP)
PHPZIP PHP extension
Fileinfo PHP extension
PHP BCMath PHP extension
PHP XML PHP extension

MySQL , or MariaDB.

GD Library (>=2.0) or Imagick PHP extension (>=6.3.8)
For barcode generation and image resting for image uploads.


Before you begin

Check the CentOS version.

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

Set up the timezone.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'


Ensure that your system is up to date.

sudo yum check-upgrade || sudo yum upgrade -y
Install the needed packages.

sudo yum install -y socat git vim unzip epel-release


Disable SELinux and Firewall.

sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld




Install  Nginx 

Setup the ngnix Yum repository


echo '[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
' | sudo tee /etc/yum.repos.d/nginx.repo


sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx


Install PHP 

Setup the Remi Yum repository

sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/remi-safe.repo

sudo yum --enablerepo=remi-safe -y install php72 php72-php-fpm php72-php-pear php72-php-openssl php72-php-pdo \
php72-php-mbstring php72-php-tokenizer php72-php-curl php72-php-mysql php72-php-ldap php72-php-zip php72-php-fileinfo \
 php72-php-gd php72-php-dom php72-php-mcrypt php72-php-bcmath \

Setting  environment variables


sudo  vim /etc/profile.d/php72.sh 
#!/bin/bash
source /opt/remi/php72/enable
export X_SCLS="`scl enable php72 'echo $X_SCLS'`" 

php --version

Start and enable PHP-FPM service.

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service


Install MariaDB
Setup the MariaDB repo. Run sudo vi /etc/yum.repos.d/MariaDB.repo and populate it with the following text.

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Install the MariaDB database server.

sudo yum install -y MariaDB-server MariaDB-client
Check the version.

mysql --version && sudo mysqld --version

Start and enable MariaDB.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Run the mysql_secure_installation script to improve the security of your MariaDB installation.

sudo mysql_secure_installation
Log into MariaDB as the root user.

sudo mysql -u root -p
# Enter password:

Create a new MariaDB database and user and remember the credentials.


Create Snipe-it database

#Log in to the database

sudo mysql -u root -p

mysql> create database snipeit;
mysql> grant all on snipeit.* to 'snipe_user'@'192.168.0.%' identified by 'Aniusnipeit123.';
mysql> flush privileges;


Install Composer

#Use the following command to install composer, a dependency manager for PHP

sudo curl -sS https://getcomposer.org/installer | php
sudo mv /root/composer.phar /usr/bin/composer


Install Snipe-IT

#git clone
sudo cd /data
sudo git clone https://github.com/snipe/snipe-it snipeit

#Create. Env file
sudo cd /data/snipeit
sudo cp .env.example .env


#edit.env file

# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=production
APP_DEBUG=false 
APP_URL=192.168.0.220
APP_TIMEZONE='Asia/Shanghai'


# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=192.168.0.222
DB_DATABASE=snipeit
DB_USERNAME=snipe_user
DB_PASSWORD=Aniusnipeit123.
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci




Permission settings

sudo cd /data/snipeit
sudo chown -R nginx:nginx 
sudo chmod -R 755 storage
sudo chmod -R 755 public/uploads



#Composer (this step will take a long time)

sudo curl - sS https://getcomposer.org/installer | php
sudo mv composer.phar /data/snipeitsnipe-it
sudo php composer.phar install --no - dev --prefer - source

#APP_KEY

[root@ops-01 snipeit]# php artisan key:generate
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:yRuvb8BjQhuBDo6tYRToAbQ8PwiIKt0xko2TOVk5QqM=] set successfully.


Nginx configuration

sudo cat snipeit.aniu.so.conf 
server {
    listen 80;
    server_name localhost;

    root /data/snipeit/public;
    index index.php index.html index.htm;
    access_log /var/log/nginx/snipeit/access.log  main;
    error_log /var/log/nginx/snipeit/error.log;  

    location =/.env{ 
        return 404; 
    } 

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        root /data/snipeit/public;
        try_files $uri $uri/ =404;
        fastcgi_pass phpfpm-pool;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}


As the last step, open your web browser and navigate to the URL of your uploaded Snipe-IT: http://yoursite.com/ and you will see the “Snipe-IT Installation Welcome Screen”.


作者头像
南宫俊逸创始人

做一个积极主动热情的人,为了想要完成的事情和实现的目标,拼命投入力量。

上一篇:How to install MATOMO on CentOS 7
下一篇:Install Gitlab on CentOS 7

发表评论

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱