Installing Snipe-IT on CentOS 7 and MariaDB


  • Service Provider

    Doing this on a Digital Ocean CentOS 7.1 Droplet with 1GB of RAM. Always fully update before starting.

    [[email protected] ~]# cat /etc/redhat-release
    CentOS Linux release 7.1.1503 (Core)
    
    setenforce 0
    yum -y install epel-release
    mkdir -p /var/www/html; cd /var/www/html/
    wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh && chmod 744 install.sh && ./install.sh
    

    0_1448040360288_snipeit1.png

    0_1448040368852_snipeit2.png

    Just accepts the defaults for MariaDB and set the root password. Remember to record this!!

    Now a little more, the site should be up but will have errors because we aren't quite done yet...

     cd snipeit
    vi app/config/app.php
    

    Now modify the timezone line so that it looks like this...

    0_1448040906873_snipe3.png

    Now we just have to do one final step to get everything configured and running. Just run this command to configure your first user:

    php artisan app:install
    

    Follow the prompts. Once completed, you are done. You can navigate to http://ipaddress/ and you should be able to log in and begin using your Snipe-IT system on CentOS 7 with MariaDB.


  • Service Provider

    Trying to turn this into a single command install (assuming UTC time zone like I like to use):

    yum -y install wget firewalld; setenforce 0 && yum -y install epel-release; mkdir -p /var/www/html; cd /var/www/html/; wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh && chmod 744 install.sh && ./install.sh && cd snipeit; sed -i "s/'timezone' => '',/'timezone' => 'UTC',/" app/config/app.php; php artisan app:install; firewall-cmd --zone=public --add-port=80/tcp --permanent; firewall-cmd --reloadrpm

  • Service Provider

    @scottalanmiller said:

    Trying to turn this into a single command install (assuming UTC time zone like I like to use):

    setenforce 0 && mkdir -p /var/www/html; cd /var/www/html/; wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh && chmod 744 install.sh && ./install.sh && cd snipeit; sed -i "s/'timezone' => '',/'timezone' => 'UTC',/" app/config/app.php; php artisan app:install
    

    Single line.


  • Service Provider

    @JaredBusch said:

    @scottalanmiller said:

    Trying to turn this into a single command install (assuming UTC time zone like I like to use):

    mkdir -p /var/www/html; cd /var/www/html/; wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh && chmod 744 install.sh && ./install.sh && cd snipeit; sed -i "s/'timezone' => '',/'timezone' => 'UTC',/" app/config/app.php; php artisan app:install
    

    Single line.

    Well you can save it as a file and then it is a single command. Or wrap in it echo $(). Or if you host it and run it via curl, for example.


  • Service Provider

    Confirmed working. You can now take a vanilla new install of CentOS 7 and with a single line it will take you to working server. Just follow the on screen prompts and when it is done you can log right into your Snipe-IT system remotely. http://myserver/

    Takes about two minutes to build your box, nothing needed beyond that line.



  • Just tried but I still get no page.
    😢



  • Also might be worth mentioning this site for the time zones
    http://php.net/manual/en/timezones.php


  • Service Provider

    @hobbit666 said:

    Just tried but I still get no page.
    😢

    Screenshots? Was there any errors during your install?

    What is the output of ...

    netstat -tulpn


  • Going to try again with a CentOS7 install with GUI so I can try locally incase its a Firewall/Network issue onto the VM.
    Will post screen shots if I still have issues.


  • Service Provider

    @hobbit666 said:

    Going to try again with a CentOS7 install with GUI so I can try locally incase its a Firewall/Network issue onto the VM.
    Will post screen shots if I still have issues.

    No need for a GUI to test if the page is up 🙂 You can look at the local web server via curl or just use netstat to see if it is running.

    Even if Snipe-IT fails, HTTPS should be up and there should he something to see.



  • What's the latest one line command to get this working on a fresh install (minimum iso)?



  • @scottalanmiller said:

    Trying to turn this into a single command install (assuming UTC time zone like I like to use):

    setenforce 0 && yum -y install epel-release; mkdir -p /var/www/html; cd /var/www/html/; wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh && chmod 744 install.sh && ./install.sh && cd snipeit; sed -i "s/'timezone' => '',/'timezone' => 'UTC',/" app/config/app.php; php artisan app:install
    

    Seems if I use this the PHP stuff doesn't install. but if I go through it line by line and edit the files all seems to work. With the added steps of disabling SELINUX and adding
    firewall-cmd --zone=public --add-port=http/tcp --permanent
    firewall-cmd --reload

    But I have a working SnipIT to play with.



  • Also one issue is it's installed it to http://name
    but when you click Dashboard it tries to go to https://name


  • Service Provider

    @hobbit666 said:

    Also one issue is it's installed it to http://name
    but when you click Dashboard it tries to go to https://name

    That's odd. Did not see that happen on our install. We used it a bit for testing.


  • Service Provider

    @hobbit666 said:

    @scottalanmiller said:

    Trying to turn this into a single command install (assuming UTC time zone like I like to use):

    setenforce 0 && yum -y install epel-release; mkdir -p /var/www/html; cd /var/www/html/; wget https://raw.githubusercontent.com/snipe/snipe-it/master/install.sh && chmod 744 install.sh && ./install.sh && cd snipeit; sed -i "s/'timezone' => '',/'timezone' => 'UTC',/" app/config/app.php; php artisan app:install
    

    Seems if I use this the PHP stuff doesn't install. but if I go through it line by line and edit the files all seems to work. With the added steps of disabling SELINUX and adding
    firewall-cmd --zone=public --add-port=http/tcp --permanent
    firewall-cmd --reload

    But I have a working SnipIT to play with.

    I had the PHP portion repeatedly fail due to a problem with their installer each time that I let their installer do the EPEL. That's why I put the EPEL back in the list. Each time I did it with the EPEL done manually it worked.

    I think that because they are doing a custom script rather than a YUM command (it even complains that they are not using YUM) they have some fragility that makes you need to run it over and over again or watch for install errors. This is why people should write RPM packages rather than trying to get all weird and fancy.



  • I stood up a CentOS 7 and ran Scott's single line install.

    It asked me if I wanted to have the system make it's own password, then it asked me to setup a password for the maria DB, then do I want fake data, and allow anonymous user access, and a test db.

    Then it asked me again to create a user and to put in fake data and a test db and remove anonymous, etc and ended with this error.

    0_1448687453749_error.JPG



  • Everything seems to be working pretty well. I'll get some of our data into it this week.

    Scott's single line install was pretty nice. I looked over the docker setup, huh.. for someone like me who can barely spell Linux let alone admin it - Docker looks like a pain to configure.


  • Service Provider

    @Dashrender said:

    Everything seems to be working pretty well. I'll get some of our data into it this week.

    Scott's single line install was pretty nice. I looked over the docker setup, huh.. for someone like me who can barely spell Linux let alone admin it - Docker looks like a pain to configure.

    Docker is still non-trivial at this point. It's for people moving to DevOps models.


  • Service Provider

    Can someone provide screen shots of stuff being tracked and such? I do need to get our company assets all tracked someplace. I am always up for something more than a spreadsheet.


  • Service Provider

    I did look at the online demo they have. It looks nice, but it works like crap on my iPad.



  • @scottalanmiller said:

    @Dashrender said:

    Everything seems to be working pretty well. I'll get some of our data into it this week.

    Scott's single line install was pretty nice. I looked over the docker setup, huh.. for someone like me who can barely spell Linux let alone admin it - Docker looks like a pain to configure.

    Docker is still non-trivial at this point. It's for people moving to DevOps models.

    Ya I agree. If you want to start with containers LXC is easier to get started with IMO. It's not as separated as docker is and you can open a console on the container and use it just like a regular system.


  • Service Provider

    @JaredBusch said:

    Can someone provide screen shots of stuff being tracked and such? I do need to get our company assets all tracked someplace. I am always up for something more than a spreadsheet.

    http://mangolassi.it/topic/6984/snipe-it-asset-management-screenshots


  • Service Provider

    Couple questions,

    1. can I assume that fail2ban will work out of the box since it is just apache?
    2. Has anyone seen a community support channel for snipe-it? Because I have not seen one.


  • Hello Team,

    i'm facing the below issue while open the http://localhost/ with my ip address

    **
    Error **

    Error in exception handler: The stream or file "/var/www/html/snipeit/app/storage/logs/log-apache2handler-2015-12-19.txt" could not be opened: failed to open stream: Permission denied in /var/www/html/snipeit/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87

    Kindly let me know how to fix the issue,

    Thanks Team,
    Golden John S


  • Service Provider

    @golden3 said:

    Hello Team,

    i'm facing the below issue while open the http://localhost/ with my ip address

    **
    Error **

    Error in exception handler: The stream or file "/var/www/html/snipeit/app/storage/logs/log-apache2handler-2015-12-19.txt" could not be opened: failed to open stream: Permission denied in /var/www/html/snipeit/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87

    Kindly let me know how to fix the issue,

    Thanks Team,
    Golden John S

    Did you ensure selinux was disabled? setenforce 0
    That is pretty much a standard troubleshooting step on CentOS 7. If that fixes it, then you can look into what specific thing need allowed.



  • @JaredBusch This seemed to work for me. I'm extremely new to the linux world. How would one go about finding out why I need to do this every time I restart the server?



  • @hartmm90 said:

    @JaredBusch This seemed to work for me. I'm extremely new to the linux world. How would one go about finding out why I need to do this every time I restart the server?

    Here are the selinux info

    https://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-enable-disable-enforcement.html



  • @hartmm90 said:

    @JaredBusch This seemed to work for me. I'm extremely new to the linux world. How would one go about finding out why I need to do this every time I restart the server?

    You will want to change the context of the files instead of disabling SELinux. Most likely you will need to run

    chcon -R -t httpd_sys_rw_content_t /var/www/html
    

    Then if you type

    ls -lZ
    

    In /var/www/html/ it should show the context for each file and it should be

    httpd_sys_rw_content_t

  • Service Provider

    @hartmm90 said:

    @JaredBusch This seemed to work for me. I'm extremely new to the linux world. How would one go about finding out why I need to do this every time I restart the server?

    The high level reason is because whatever your setup is, it is not set up properly for SELinux. And the command being used does not change the SELinux setting but disables it temporarily. When your system reboots it turns SELinux back on since the configuration for it was not changed - it is still set to run when the system starts.


  • Service Provider

    @scottalanmiller said:

    @hartmm90 said:

    @JaredBusch This seemed to work for me. I'm extremely new to the linux world. How would one go about finding out why I need to do this every time I restart the server?

    The high level reason is because whatever your setup is, it is not set up properly for SELinux. And the command being used does not change the SELinux setting but disables it temporarily. When your system reboots it turns SELinux back on since the configuration for it was not changed - it is still set to run when the system starts.

    Right, using setenforce 0 is a troubleshooting step only. by using it to disable SELinux, and everything then worked, you know that you then just need to look at what the application is doing that SELinux does not like. Starting with what @johnhooks said above. Then use setenforce 1 to turn it back on and see if it still works right.



Looks like your connection to MangoLassi was lost, please wait while we try to reconnect.