ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Installing Snipe-IT on CentOS 7 and MariaDB

    IT Discussion
    how to snipe-it centos linux centos 7 centos 7.1
    37
    290
    2.9m
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AmbarishrhA
      Ambarishrh
      last edited by Ambarishrh

      Fixed it. I had to manually create a db user called snipeit with a pass and rerun the setup. Everything got installed fine and tables are all available.

      Tried a new server ended up with same issue and only fix was to create the db user

      JaredBuschJ 1 Reply Last reply Reply Quote 2
      • scottalanmillerS
        scottalanmiller
        last edited by

        Great. Glad to hear that it is working.

        1 Reply Last reply Reply Quote 0
        • JaredBuschJ
          JaredBusch @Ambarishrh
          last edited by

          @Ambarishrh said in Installing Snipe-IT on CentOS 7 and MariaDB:

          Fixed it. I had to manually create a db user called snipeit with a pass and rerun the setup. Everything got installed fine and tables are all available.

          Tried a new server ended up with same issue and only fox was to create the db user

          Interesting result. I do not recall having to make a DB user manually. Then again, my system has been running for a year or so now and I likely forgot any issues I had during setup.

          1 Reply Last reply Reply Quote 0
          • B
            brandon.hay
            last edited by

            I am receiving the error when running the php artisan app:install command. This seems to be my only hold up for getting Snipe-IT running. Any help is greatly appreciated.

            0_1470234107277_Capture.JPG

            S A 2 Replies Last reply Reply Quote 1
            • S
              sawgwa @brandon.hay
              last edited by sawgwa

              @brandon.hay
              I am getting the same error. Prior to the red box warning the system says "sed: can't read app/config/app.php: No such file or directory"

              Oddly SnipeIT starts, I can even reach it from another PC on the network though after I log in the screen is blank.
              EDIT: SO I cannot find app/config/app.php, there is an app.php under var/www/html/snipe/config.

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller
                last edited by

                Hey guys, I'm tied up most of the afternoon but I'll totally look into this for you. Sorry for the delay.

                S rejivincentcR 3 Replies Last reply Reply Quote 0
                • S
                  sawgwa @scottalanmiller
                  last edited by

                  @scottalanmiller
                  Thanks in advance!

                  1 Reply Last reply Reply Quote 0
                  • hobbit666H
                    hobbit666
                    last edited by

                    Any idea on the best way to upgrade from V2.1.1 to the latest V3 release??

                    1 Reply Last reply Reply Quote 0
                    • S
                      sawgwa @scottalanmiller
                      last edited by

                      @scottalanmiller Any chance you've has an opportunity to look at this?

                      scottalanmillerS 1 Reply Last reply Reply Quote 0
                      • A
                        Amit Shrestha
                        last edited by Amit Shrestha

                        When i run the command i got the following error,please help.
                        [root@oc snipeit]# php artisan app:install
                        PHP Warning: require(/var/www/html/snipeit/vendor/composer/../aws/aws-sdk-php/src/functions.php): failed to open stream: No such file or directory in /var/www/html/snipeit/vendor/composer/autoload_real.php on line 66
                        PHP Fatal error: require(): Failed opening required '/var/www/html/snipeit/vendor/composer/../aws/aws-sdk-php/src/functions.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/snipeit/vendor/composer/autoload_real.php on line 66

                        1 Reply Last reply Reply Quote 0
                        • NashBrydgesN
                          NashBrydges
                          last edited by

                          I finally nailed the install to Ubuntu 16.04. It's no single line code and was very manual but I wanted to debug where this was failing and finally figured it out. Here is what I had to do (pardon the elementary nature of the process, I'm still a real Linux noob)...

                          CAUTION:
                          These instructions only work for Ubuntu 16.04 Xenial because I deleted all code referencing other builds. If your version is different, make sure to retain what is relevant for your build.

                          AMATEUR HOUR WARNING
                          As I mentioned before, as I'm still very new to Linux, If someone here can likely figure out a much better way to get this setup, even better. I hadn't been able to find any instructions on the internet that proved useful even though my google-foo is quite strong, and I was determined to get this setup, if for no other reason than this would be a great learning experience.

                          • Setup a VM in Hyper-V and completed a fresh install of Ubuntu 16.04 server
                          • During the install I selected to manually install the necessary packages so this was a minimal server install
                          • Full update
                            sudo apt-get update
                            sudo apt-get upgrade
                            sudo apt-get dist-upgrade
                          • Manually install apache
                            sudo apt-get install apache2 apache2-utils
                          • Enable apache to autostart
                            sudo systemctl enable apache2
                          • Set ownership of root directory
                            sudo chown www-data /var/www/html/ -R
                          • Install MariaDB
                            sudo apt-get install mariadb-server mariadb-client
                          • Enable MariaDB to autostart
                            sudo systemctl enable mysql
                          • Complete MariaDB setup. When prompted, select pwd, remove anonymous, disallow remote root, remove test db and reload db
                            sudo mysql_secure_installation
                          • Install PHP
                            sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0
                          • Enable apache PHP module and restart apache
                            sudo a2enmod php7.0
                            sudo systemctl restart apache2

                          That got me to my base LAMP install. I was now ready to download Snipe-IT. From the documentation I selected #3 and ran each command one at a time.
                          sudo wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh
                          chmod 744 install.sh

                          Then before running the final command I decided to examine the "install.sh" contents to see what was happening. Turns out it downloads and calls another script so before running that second script, I wanted to have a look at it so I commented out the final command that executes the second script so it would only download the file to my home directory and set permissions. I then ran the script and got the second script so I could look at it.
                          sudo ./install.sh

                          Once I looked in the second script (snipeit.sh) I noticed there is a lot of content that is trying to account for various Linux builds so I went through and deleted everything that didn't have anything to do with my version of Linux in order to simplify the debugging process. I also deleted every code reference to >> /var/log/snipeit-install.log 2>&1 since I had noticed on a previous run that this was causing permissions errors. Rather than have to deal with permissions, I didn't care about saving the install log and instead allowed it to display on the terminal session.

                          The next error I got was related to the composer where the code was trying to install using sudo (you'll note that this is set at the top of the script). Apparently composer cannot be installed this way. Keep reading for how I addressed that.

                          I then also removed most references to updates or installing the LAMP stack as I had already done this. Something that kept causing errors in the script even when I chose to run from nothing but a minimal Ubuntu install without apache, mysql or php. I ended-up modifying the script quite a bit, hard-coding some of the variables to make debugging a little easier. This is the final script I had saved as "snipeit.sh"

                          #!/bin/bash
                          
                          ######################################################
                          #           Snipe-It Install Script                  #
                          #          Script created by Mike Tucker             #
                          #            [email protected]                   #
                          # This script is just to help streamline the         #
                          # install process for Debian and CentOS              #
                          # based distributions. I assume you will be          #
                          # installing as a subdomain on a fresh OS install.   #
                          # Right now I'm not going to worry about SMTP setup  #
                          #                                                    #
                          # Feel free to modify, but please give               #
                          # credit where it's due. Thanks!                     #
                          ######################################################
                          
                          # ensure running as root
                          if [ "$(id -u)" != "0" ]; then
                            exec sudo "$0" "$@"
                          fi
                          #First things first, let's set some variables and find our distro.
                          clear
                          
                          name="snipeit"
                          si="Snipe-IT"
                          hostname="$(hostname)"
                          fqdn="$(hostname --fqdn)"
                          ans=default
                          hosts=/etc/hosts
                          file=master.zip
                          tmp=/tmp/$name
                          fileName=snipe-it-master
                          
                          rm -rf $tmp/
                          mkdir $tmp
                          
                          
                          echo "
                          	   _____       _                  __________
                          	  / ___/____  (_)___  ___        /  _/_  __/
                          	  \__ \/ __ \/ / __ \/ _ \______ / /  / /
                          	 ___/ / / / / / /_/ /  __/_____// /  / /
                          	/____/_/ /_/_/ .___/\___/     /___/ /_/
                          	            /_/
                          "
                          
                          echo ""
                          echo ""
                          echo "  Welcome to Snipe-IT Inventory Installer for Centos and Debian!"
                          echo ""
                          
                          #Get your FQDN.
                          
                          echo -n "  Q. What is the FQDN of your server? ($fqdn): "
                          read fqdn
                          if [ -z "$fqdn" ]; then
                                  fqdn="$(hostname --fqdn)"
                          fi
                          echo "     Setting to $fqdn"
                          echo ""
                          
                          #Do you want to set your own passwords, or have me generate random ones?
                          until [[ $ans == "yes" ]] || [[ $ans == "no" ]]; do
                          echo -n "  Q. Do you want me to automatically create the snipe database user password? (y/n) "
                          read setpw
                          
                          case $setpw in
                                  [yY] | [yY][Ee][Ss] )
                                          mysqluserpw="$(echo `< /dev/urandom tr -dc _A-Za-z-0-9 | head -c16`)"
                                          ans="yes"
                                          ;;
                                  [nN] | [n|N][O|o] )
                                          echo -n  "  Q. What do you want your snipeit user password to be?"
                                          read -s mysqluserpw
                                          echo ""
                          				ans="no"
                                          ;;
                                  *) 		echo "  Invalid answer. Please type y or n"
                                          ;;
                          esac
                          done
                          
                          #Snipe says we need a new 32bit key, so let's create one randomly and inject it into the file
                          random32="$(echo `< /dev/urandom tr -dc _A-Za-z-0-9 | head -c32`)"
                          
                          #db_setup.sql will be injected to the database during install.
                          #Again, this file should be removed, which will be a prompt at the end of the script.
                          dbsetup=$tmp/db_setup.sql
                          echo >> $dbsetup "CREATE DATABASE snipeit;"
                          echo >> $dbsetup "GRANT ALL PRIVILEGES ON snipeit.* TO snipeit@localhost IDENTIFIED BY '$mysqluserpw';"
                          
                          #Let us make it so only root can read the file. Again, this isn't best practice, so please remove these after the install.
                          sudo chown root:root $dbsetup
                          sudo chmod 700 $dbsetup
                          
                          ## TODO: Progress tracker on each step
                          
                          #####################################  Install for Ubuntu  ##############################################
                          
                          		webdir=/var/www
                          
                          		#Update/upgrade Debian/Ubuntu repositories, get the latest version of git.
                          		echo ""
                          		echo "##  Updating ubuntu in the background. Please be patient."
                          		echo ""
                          		apachefile=/etc/apache2/sites-available/$name.conf
                          		echo "##  Installing packages."
                          
                          		echo "##  Setting up LAMP."
                          
                          		sudo apt-get install -y git unzip php php-mcrypt php-curl php-mysql php-gd php-ldap php-zip php-mbstring
                          		#Enable mcrypt and rewrite
                          		echo "##  Enabling mcrypt and rewrite"
                          		sudo phpenmod mcrypt
                          		sudo phpenmod mbstring
                          		sudo a2enmod rewrite
                          		#  Get files and extract to web dir
                          		echo ""
                          		echo "##  Downloading snipeit and extract to web directory."
                          		sudo wget -P $tmp/ https://github.com/snipe/snipe-it/archive/$file
                          		sudo unzip -qo $tmp/$file -d $tmp/
                          		sudo cp -R $tmp/$fileName $webdir/$name
                          
                          		sudo ls -al /etc/apache2/mods-enabled/rewrite.load
                          
                          		#Create a new virtual host for Apache.
                          		echo "##  Create Virtual host for apache."
                          		echo >> $apachefile ""
                          		echo >> $apachefile ""
                          		echo >> $apachefile "<VirtualHost *:80>"
                          		echo >> $apachefile "ServerAdmin webmaster@localhost"
                          		echo >> $apachefile "    <Directory $webdir/$name/public>"
                          		echo >> $apachefile "        Require all granted"
                          		echo >> $apachefile "        AllowOverride All"
                          		echo >> $apachefile "   </Directory>"
                          		echo >> $apachefile "    DocumentRoot $webdir/$name/public"
                          		echo >> $apachefile "    ServerName $fqdn"
                          		echo >> $apachefile "        ErrorLog /var/log/apache2/snipeIT.error.log"
                          		echo >> $apachefile "        CustomLog /var/log/apache2/access.log combined"
                          		echo >> $apachefile "</VirtualHost>"
                          
                          		echo "##  Setting up hosts file."
                          		echo >> $hosts "127.0.0.1 $hostname $fqdn"
                          
                          		sudo a2ensite $name.conf
                          
                          		cat > $webdir/$name/.env <<-EOF
                          		#Created By Snipe-it Installer
                          		APP_TIMEZONE=$(cat /etc/timezone)
                          		DB_HOST=localhost
                          		DB_DATABASE=snipeit
                          		DB_USERNAME=snipeit
                          		DB_PASSWORD=$mysqluserpw
                          		APP_URL=http://$fqdn
                          		APP_KEY=$random32
                          		EOF
                          
                          		# Setup Mysql, then run the command.
                          		/usr/bin/mysql_secure_installation
                          		echo "##  Creating MySQL Database and user. "
                          		echo "##  Please Input your MySQL/MariaDB root password: "
                          		mysql -u root -p < $dbsetup
                          
                          		echo "##  Securing Mysql"
                          
                          		# Have user set own root password when securing install
                          		# and just set the snipeit database user at the beginning
                          
                          echo ""
                          echo ""
                          echo "##  Cleaning up..."
                          rm -f snipeit.sh
                          rm -f install.sh
                          rm -rf $tmp/
                          echo "##  Done!"
                          sleep 1
                          

                          This got me about 90% of the way there. I then had to run the following commands one at a time (note that composer is not run from the elevated command)

                          cd /var/www/snipeit
                          curl -sS https://getcomposer.org/installer | php
                          php composer.phar install --no-dev --prefer-source

                          To finish it off, I set the required permissions.

                          sudo chmod -R 755 /var/www/snipeit/storage
                          sudo chmod -R 755 /var/www/snipeit/storage/private_uploads
                          sudo chmod -R 755 /var/www/snipeit/public/uploads
                          sudo chown -R www-data:www-data /var/www/snipeit
                          sudo service apache2 restart
                          

                          Because I'm using this internally, I edited the sites-available/snipeit.conf file as follows...

                          <VirtualHost *:80>
                          ServerAdmin [email protected]
                              <Directory /var/www/snipeit/public>
                                  Require all granted
                                  AllowOverride All
                             </Directory>
                              DocumentRoot /var/www/snipeit/public
                              ServerName snipeit.domain.com
                              ServerAlias XXX.XXX.XXX.XXX #This is the server IP address
                              ServerAlias localhost
                              ErrorLog ${APACHE_LOG_DIR}/sniptit.error.log
                              CustomLog ${APACHE_LOG_DIR}/snipeit.access.log combined
                          </VirtualHost>
                          

                          The installation will have created a .env file in your root folder however, I figured out that this file was incomplete. So I added the missing values based on documentation for Snipe-IT and this is the resulting /var/www/snipeit/.env file...

                          #Created By Snipe-it Installer
                          # --------------------------------------------
                          # REQUIRED: BASIC APP SETTINGS
                          # --------------------------------------------
                          APP_TIMEZONE=Canada/Eastern 
                          #The above is set during install
                          APP_ENV=production
                          APP_DEBUG=false
                          APP_LOCALE=en
                          APP_URL=http://snipeit.domain.com 
                          #This has to be exactly the correct FQDN to get to your Snipt-IT install. If you are using local IP address only then this must be in the IP address format like http://XXX.XXX.XXX.XXX
                          APP_KEY=XXXXXXXXXXXXXXXX
                          #The above is set during install
                          
                          # --------------------------------------------
                          # REQUIRED: DATABASE SETTINGS
                          # --------------------------------------------
                          DB_CONNECTION=mysql
                          DB_HOST=localhost
                          DB_DATABASE=snipeit
                          DB_USERNAME=XXXXXXXXX
                          #The above is set during install
                          DB_PASSWORD=XXXXXXXXXXXX
                          #The above is set during install
                          DB_PREFIX=null
                          DB_DUMP_PATH='/usr/local/bin'
                          
                          # --------------------------------------------
                          # REQUIRED: OUTGOING MAIL SERVER SETTINGS
                          # --------------------------------------------
                          MAIL_DRIVER=smtp
                          MAIL_HOST=outlook.office365.com 
                          #This is correct if you are using Office 365 for your email
                          MAIL_PORT=587
                          MAIL_USERNAME=XXXXXXXXXXX 
                          #Mail username, usually same as email address
                          MAIL_PASSWORD=XXXXXXXXXXX 
                          #Your email password
                          MAIL_ENCRYPTION=TLS
                          [email protected]
                          [email protected]
                          
                          # --------------------------------------------
                          # REQUIRED: IMAGE LIBRARY
                          # This should be gd or imagick
                          # --------------------------------------------
                          IMAGE_LIB=gd
                          
                          # --------------------------------------------
                          # OPTIONAL: SESSION SETTINGS
                          # --------------------------------------------
                          SESSION_LIFETIME=12000
                          EXPIRE_ON_CLOSE=false
                          ENCRYPT=false
                          COOKIE_NAME=snipeit_session
                          COOKIE_DOMAIN=null
                          SECURE_COOKIES=false
                          

                          Once that was updated, I rebooted the server for good measure and was able to navigate to my server IP address http://XXX.XXX.XXX.XXX and was presented with the Pre-flight & Setup screen.

                          For reference, this is where to find the .env file config details.

                          Once you're at the pre-flight page and everything is green, you can navigate your way to setting up the db and user and begin to enter your first assets.

                          Hope this proves useful.

                          C 1 Reply Last reply Reply Quote 3
                          • J
                            Jstear
                            last edited by

                            Is Snipe-IT still recommended?

                            NashBrydgesN scottalanmillerS 2 Replies Last reply Reply Quote 0
                            • NashBrydgesN
                              NashBrydges @Jstear
                              last edited by

                              @Jstear Sadly I just got it installed so can't comment on how effective it will be for me. Will report back when I have more.

                              1 Reply Last reply Reply Quote 0
                              • scottalanmillerS
                                scottalanmiller @Jstear
                                last edited by

                                @Jstear said in Installing Snipe-IT on CentOS 7 and MariaDB:

                                Is Snipe-IT still recommended?

                                Getting ready to test again. It's certainly recommended to try out, not many products like it out there.

                                1 Reply Last reply Reply Quote 0
                                • scottalanmillerS
                                  scottalanmiller @sawgwa
                                  last edited by

                                  @sawgwa said in Installing Snipe-IT on CentOS 7 and MariaDB:

                                  @scottalanmiller Any chance you've has an opportunity to look at this?

                                  Getting the VM fired up now.

                                  J 1 Reply Last reply Reply Quote 1
                                  • J
                                    jfc @scottalanmiller
                                    last edited by

                                    @scottalanmiller Im new to the forum, any update with Centos 7 and Maria DB installation and configuration? Haven't started since Snipe IT documentation looks confusing and less details for a not so linux expert like me....

                                    RomoR 1 Reply Last reply Reply Quote 0
                                    • RomoR
                                      Romo @jfc
                                      last edited by

                                      @jfc Setup you CentOS 7 vm and only use their install script.

                                      wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh
                                      chmod 744 install.sh
                                      ./install.sh
                                      

                                      It will download everything you need and get you to a working Snipe IT installation, I just setup my own Snipe IT vm like this =).

                                      T 1 Reply Last reply Reply Quote 2
                                      • hobbit666H
                                        hobbit666
                                        last edited by

                                        Can't seem to grasp how to upgrade from V2 to V3 as I've used the above method and used the install.sh

                                        So not sure if I should be using GIT to clone the new version and then how to install/move the latest version and what files need editing.

                                        https://snipe-it.readme.io/docs/upgrading

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tiagom @Romo
                                          last edited by

                                          @Romo said in Installing Snipe-IT on CentOS 7 and MariaDB:

                                          @jfc Setup you CentOS 7 vm and only use their install script.

                                          wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh
                                          chmod 744 install.sh
                                          ./install.sh
                                          

                                          It will download everything you need and get you to a working Snipe IT installation, I just setup my own Snipe IT vm like this =).

                                          Tested on centOS 7 installs great. Wonder how we update.

                                          RomoR 1 Reply Last reply Reply Quote 1
                                          • RomoR
                                            Romo @tiagom
                                            last edited by

                                            @tiagom Taken from here https://snipe-it.readme.io/docs/how-to-upgrade:

                                            Upgrading
                                            Updating Snipe-IT should be pretty straightforward. Simply pull down the newest release, copy the files over, and run whatever commands the release notes specify. Your configuration won’t be overwritten, since the .env file isn't checked into version control.

                                            Always backup your database and configuration files before upgrading. We try very hard to make sure that all database changes are non-destructive, but you should always backup beforehand anyway. You will never regret backing up your database. You may regret not doing so, so it’s just better to get into the habit.

                                            Whenever you pull down a new version from master or develop, or when you grab the latest official release, make sure to run the following commands via command line:

                                            php composer.phar install --no-dev --prefer-source
                                            php composer.phar dump-autoload
                                            php artisan migrate
                                            php artisan config:clear
                                            php artisan config:cache
                                            (Developers should remove the --no-dev flag, so they have unit test frameworks and debugging tools.)

                                            Forgetting to run these commands can mean your DB might end up out of sync with the new files you just pulled, or you may have some funky cached autoloader values.

                                            It’s a good idea to get into the habit of running these every time you pull anything new down. If there are no database changes to migrate, it won't hurt anything to run migrations anyway, you’ll just see "Nothing to migrate".

                                            If you have any issues upgrading, check the Common Issues page for a fix. If you don’t see your issue listed there, open an issue on Github and we’ll try to get you sorted out. Be sure to provide the information outlined in the Getting Help section of this site so that we have the info we need to assist you.

                                            hobbit666H 1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 11
                                            • 12
                                            • 13
                                            • 14
                                            • 15
                                            • 15 / 15
                                            • First post
                                              Last post