Learn How To Install Snipe-IT on CentOS 7

January 21, 2019

Table of Contents

If you are using a different system, please check our other tutorials.

Snipe-IT is a free and open source web application for IT assets management. It is written on the Laravel 5.2 framework and uses MySQL to store its data. Snipe-IT is a complete and comprehensive solution for assets management, software license management, and much more.

In this tutorial, you will learn to install Snipe-IT on CentOS 7.


  • An ITWeb.Services CentOS 7 server instance.
  • A sudo user.

Step 1: System update

Before installing any packages on the CentOS server instance, it is recommended to update the system. Log in using the sudo user and run the following commands to update the system.

sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now

Once the system has rebooted, log in again as the sudo user and proceed to the next step.

Step 2: Install Apache web server

Install the Apache web server.

sudo yum -y install httpd

Start Apache and enable it to automatically run at boot time.

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Step 3: Install PHP 5.6

Snipe-IT is compatible with any version of PHP greater than 5.5.9. However, PHP 5.5 has reached end of life, thus you will need to install PHP 5.6. First, add and enable the Remi repository.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php56

Next, install the latest version of PHP with the modules needed by Snipe-IT.

sudo yum -y install php php-openssl php-pdo php-mbstring php-tokenizer php-curl php-mysql php-ldap php-zip php-fileinfo php-gd php-dom php-mcrypt

Step 4: Install MariaDB

MariaDB is a fork of MySQL. Install it using following command.

sudo yum -y install mariadb mariadb-server

Start MariaDB and enable it to automatically start at boot time.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Secure your MariaDB installation.

sudo mysql_secure_installation

You will be asked for the current MariaDB root password. As we have just installed MariaDB, its root password has not been set. Press the enter key to proceed. Set a strong root password for your MariaDB server and answer Y to all of the other questions asked. The questions asked are self explanatory.

Step 5: Create database for Snipe-IT

Log into the MariaDB shell as its root user using the following command.

mysql -u root -p

Provide the password for the MariaDB root user.

Run the following queries to create a database and a database user for Snipe-IT.

CREATE DATABASE snipeit_data;
CREATE USER 'snipeit_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON snipeit_data.* TO 'snipeit_user'@'localhost';

Make sure that you use a semicolon at the end of each query above. You can replace the database name “snipeit_data” and username “snipeit_user” according to your needs. Be sure to change “StrongPassword” to a very strong password.

Step 6: Install Composer

Install Composer using the following command. Composer is a dependency manager for PHP.

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

Step 7: Install Snipe-IT

First, install Git.

sudo yum -y install git

Switch to Apache’s web-root folder and clone the latest version of Snipe-IT.

cd /var/www/
sudo git clone https://github.com/snipe/snipe-it snipe-it

Create the .env file from example file provided.

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

Edit the .env file.

sudo nano .env

Find the following lines and edit the values according to instructions provided.

APP_URL=null       #Provide your domain name or IP address here
APP_TIMEZONE='UTC' #Change it according to your country
DB_DATABASE=null   #Provide the database name you created earlier
DB_USERNAME=null   #Provide database user's username 
DB_PASSWORD=null   #Provide the DB user's password

Leave the default values for all of the other parameters. Save the file and exit the text editor.

Provide the appropriate ownership and file permissions.

sudo chown -R apache:apache storage public/uploads
sudo chmod -R 755 storage
sudo chmod -R 755 public/uploads

Install PHP dependencies using Composer.

sudo composer install --no-dev --prefer-source

Generate the “APP_Key“.

sudo php artisan key:generate

Allow HTTP traffic on port 80 through the firewall.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Step 8: Create virtual host

Run the following command to create a virtual host for your Snipe-IT site.

sudo nano /etc/httpd/conf.d/snipeit.example.com.conf

Add the following lines into the file, then save the file.

<VirtualHost *:80>
    ServerName snipeit.example.com
    DocumentRoot /var/www/snipe-it/public
    <Directory /var/www/snipe-it/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

Restart Apache.

sudo systemctl restart httpd

Step 9: Finish installation

Your Snipe-IT installation is now complete. You can finish configuring Snipe-IT through your web browser. Navigate to the following link, replacing snipeit.example.com with the IP address of your IT Web Services VPS.


Thank you for reading. This concludes the tutorial.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!