Installing Snipe-IT on CentOS 7 and MariaDB



  • 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



  • @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.



  • @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.



  • @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.



  • 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.



  • 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.



  • @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



  • 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



  • @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


  • @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.



  • @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.



  • If installing a CentOS7 on a local VM, what base enviroment/addons are needed to have the one line installer work?



  • @subi15wrx said:

    If installing a CentOS7 on a local VM, what base enviroment/addons are needed to have the one line installer work?

    Good question. This was done before I had our Scale HC3 cluster with capacity to do all of our testing on vanilla OSes. It was only tested on DO, as far as I know. I'll test this on a CentOS 7 Minimal and let you know....



  • @subi15wrx and welcome to the community, by the way!!



  • @subi15wrx said:

    If installing a CentOS7 on a local VM, what base enviroment/addons are needed to have the one line installer work?

    All I did on a min install was add net-tools and wget.
    Then followed the step by step commands as the one line command didn't work for me. In fact I've just created a new VLAN for "Misc" servers so will be re-installing Snipe very soon (today if I get time - FogServer First)



  • Just ran through the one line installer and it worked.

    Indeed wget is missing. So before starting you need to...

    yum -y install wget

    And on some CentOS 7 minimal installs there is no firewall. If that is the case for you, you should be good. If you have a firewall you will need to open port 80 like so...

    firewall-cmd --zone=public --add-port=80/tcp --permanent; firewall-cmd --reload



  • In theory, this single line should do the trick:

    yum -y install wget; 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 --reload
    

    Assuming that you run as root.



  • I updated the command up top to add in the installation of a firewall, wget and to configure the firewall.



  • @scottalanmiller said:

    I updated the command up top to add in the installation of a firewall, wget and to configure the firewall.

    Will give that a go once I got Fog installed.



  • @scottalanmiller Thanks Scott got everything up and running, except I get a nasty red bar across the top of my screen "WARNING: This application is running in production mode with debugging enabled. This can expose sensitive data if your application is accessible to the outside world. Disable debug mode by setting the debug value app/config/production/app.php to false."

    Could you point me in the right direct.



  • @subi15wrx said:

    @scottalanmiller Thanks Scott got everything up and running, except I get a nasty red bar across the top of my screen "WARNING: This application is running in production mode with debugging enabled. This can expose sensitive data if your application is accessible to the outside world. Disable debug mode by setting the debug value app/config/production/app.php to false."

    Could you point me in the right direct.

     nano /var/www/html/app/config/production/app.php
    

    Change the Disable debug mode line to end with false instead of true.
    Save and close. Restart the webserver

    systemctl restart httpd
    

    Shouldn't be all that difficult, the error message spells it out quite clearly.