Install Snipe IT on CentOS

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 7.3

First, add and enable the Remi repository. The latest release of Snipe-IT requires PHP 7.1.3 or later. I’ve set mine up with 7.3 and have had no issues so far.

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

Next, install the latest version of PHP with the modules needed by Snipe-IT. At the time of writing where Snipe-IT is version 4.7.5 all the below modules are there. When I set this up following a guide recently there were modules missing.

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 php-bcmath

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';
FLUSH PRIVILEGES;
EXIT;

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
    </Directory>
</VirtualHost>

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/URL of your host.

http://snipeit.example.com

Thank you for reading.

Leave a Reply

Your email address will not be published. Required fields are marked *