Step 4: Configuring Apache2 to serve GLPI
8. Apache2 in Debian systems is setup a little differently than other distributions. Some find it easier to manage and others find it more difficult.
This tutorial will keep things as simple as possible and will assume that GLPI is the only website being served by this Apache2 server and that it will be served on the traditional port 80 HTTP port.
This will allow for the least amount of modifications to the default Apache2 install and will allow users to get GLPI up and running quickly. Let’s begin!
The first thing to do is switch directories to the Apache2 configuration files directory. The configuration directory is ‘/etc/apache2/sites-available
‘ and the command:
# cd /etc/apache2/sites-available
9. The only items in this directory by default will be the two default Apache2 site configuration files. A new configuration file should be created for GLPI and can be created from the default in this directory using the copy command.
This will copy the configuration of the default site into a new configuration file for GLPI.
# cp 000-default.conf glpi.conf
This new GLPI configuration file needs to be modified so that apache2 knows where the files to serve for GLPI reside. Open ‘glpi.conf
‘ with a text editor and proceed to configure as follows:
- nano glpi.conf → open glpi.conf in the nano text editor.
- DocumentRoot /var/www/glpi → This tells Apache2 where the files for GLPI start. This line isn’t a command but rather something that is added to the glpi.conf file.
# nano glpi.conf DocumentRoot /var/www/glpi
10. Apache2 has a TON of other options but for brevity’s sake, this change is the only change needed in this file. Now apache2 has to be made aware of the new GLPI site as well as told to stop serving the “default” page. This is easily accomplished with two tools a2ensite and a2dissite.
- a2dissite 000-default.conf → This will disable the default website Apache2 serves.
- a2ensite glpi.conf → This will enable the newly created GLPI website configuration.
- service apache2 reload → This will be necessary for Apache2 to stop/start serving the above changes.
# a2dissite 000-default.conf # a2ensite glpi.conf # service apache2 reload
At this point, Apache2 should be configured and serving the GLPI site information, the MySQL database is created and has an assigned user. The next step is to run the GLPI installer.
Step 5: Installing and Configuring GLPI
11. To start the installation of GLPI, simply visit the IP address of the server running Apache2. This can be done from the server itself if a graphical desktop environment has been installed; otherwise the other machine requested for this tutorial will be needed.
Upon visiting the IP address of the Apache2 server, the user will be presented with the GLPI installation page:
http://Your-IP-Address
12. At this point, select the appropriate language and click ‘OK‘. The next prompt will ask if this install is an upgrade or a fresh installation. This tutorial is assuming that this will be a fresh installation of GLPI.
13. The next screen will be a quick dependency check by GLPI. Everything on this next page should come back with a green light. Anything with a red light should be addressed and corrected on the server.
14. When all the lights are green, the next step is to inform the GLPI installer where the MySQL database is as well as the credentials to access the database. This information was determined earlier in this guide and should be as follows:
The server name of ‘localhost‘ can be used in this example due to the fact that this installer is running from the same server as the MySQL server.
Click continue after the three fields are filled in and the GLPI installer will run a SQL check to ensure that it can make contact with the SQL database. Since a database was already created earlier be sure to select that database in this step.
15. This next step will take a couple of minutes depending on the speed of the MySQL server. The final page that the GLPI installer will show will be the default username/password page.
The only user account that will be needed for this guide will be the administrator account which defaults to username: ‘glpi
‘ and password: ‘glpi
‘.
16. At this point, GLPI is ready for usage. Click the ‘Use GLPI‘ button to be taken to the login screen and log in as the administrator. Once logged in to GLPI, the GLPI landing screen will issue some warnings about the user-names above having the default passwords configured.
For now this can be ignored but should be changed when moving GLPI to production! The other warning will be a warning that recommends removing the installer file. This is easily accomplished by running the following ‘rm‘ command on the Debian server:
# rm /var/www/glpi/install/install.php
This concludes the installation of GLPI. At this point users can start adding inventory, creating tickets, creating a document library, and many other tasks. However, the rest of this guide will talk about how to setup the Fusion Inventory plug-in to further extend the capabilities of GLPI.
fusion inventory and assets in glpi cant synchronize. I am using fusion inventory agent but they can’t send inventory to assets module.
hi Rob,
1) actually I want to use it as secure site (https)
2) I need only hardware inventory, not software inventory
3) And I want I know server utilization will happen when agent communicate with server (In both end server utility as well as client also)
Can you please help me out in this.
Parthiban,
Thanks for the comment. GLPI does support HTTPS but you’ll have to either use a self-signed certificate or purchase one from a Certificate Authority like Verisign. As for hardware only, I’ve not looked into this yet. I will do some research and see if there is a way to disable software inventory. As for server resources, obviously when hosts start communicating back with the GLPI system resources are going to be used. Watching the unit we have setup, 30 or so clients connecting only uses about 80Mb of RAM during the connection and then frees up when they are done.
Rob
Fantastic and simple article, it worked out perfect for me! Thanks a bunch! As I wanted to eliminate OCS server.
Rob,
You’re quite welcome. Do realize that GLPI does have a newer version out now as well. The new version looks a lot nicer than the version in this article.
Please ignore my comment, I was using a corrupted version of the glpi, it works now. Thanks!
Chaitra,
Glad to hear you got things working! GLPI is a wonderful tool.
Thanks for the insightful article Rob.
I followed the steps you mentioned above, when i enter the IP address of the Apache2 server, I get a 500 error. Any ideas?
Danielle,
Could you provide some more information about which version of GLPI you are using as well as which plugin? There is a much newer version of GLPI out there now and you may be trying to use a plugin or version of GLPI that aren’t compatible with one another.
good day rob!
i now installed fusioninventory and configured the ‘agent.cfg’ file, but how and where do i activate the “fusioninventory-agent” command?
hope for your speedy reply
Danielle,
Once you’ve configured the agent.cfg file, all you need to do is run the “fusioninventory-agent” from the command line interface of the machine you wish to inventory.
Hi Rob Thank You for this wonderful post.
I have successfully install GLPI on Centos 6.7 and add windows and linux system with fusion-inventory.
But How to deploy fusion-inventory remotely from GLPI server because it is not possible to install fusion-inventory one by one in client system.
Regards,
Raghu
Greetings,
I have managed to install GLPI v0.9 on Ubuntu 14.04 LTS with plugin for FusionInventory. The FusionInventory agent on my Ubuntu 16.04 client was also registered in the GLPI database. However, the FusionInventory agent (fusioninventory-agent_windows-x64_2.3.17.exe) on my MS WIndows 7 client was not.
The agent appears to install without error. The host page also loads indicating the version running and an option to manually inventory. I have observed a reference to Strawberry Perl which I was unclear if was required.
Grateful for your support and assistance in resolving this matter.
Pierre Bowrin
I’m having problems with Fusion inventory also.
I cannot start the agent, it shows 404 error.
I think that the error is because I used a Rosehosting tutorial first and then stumbled upon yours article after which i continued from where I left off and installed Fusion inventory.
I think I have to start a new installation.
Ryan,
404 just means that it couldn’t find the resource on the web server. This is still potentially correctable! First thing I would do is make sure that you have the file “/plugins/fusioninventory/front/plugin_fusioninventory.communication.php” where web root is the location of the files for GLPI. If this file exists, check the permissions on all the folders leading up to the file. They must be readable and executable by the user running the webserver (should be apache2 from this guide).
The next thing I would check is on the GLPI client. Make sure that it can ping the webserver that is hosting the GLPI files. Then in the file “/etc/fusioninventory/agent.cfg” be sure that the “server=” line maps correctly to the file above for example: server=http://192.168.1.10//plugins/fusioninventory/front/plugin_fusioninventory.communication.php
Let me know what happens!
Hi Rob i have a problem with LinuMint, when i started the agent i see this :
testmint minttest # fusioninventory-agent start
[error][http client] communication error : 404 not found
[fault] No answer from the Server at /usr/share/fusioninventory/Lib/FusionInventory/Agent.pm line 261.
How can I fix this ? Thanks !
Sam,
This likely means that the url placed in the configuration file is not resolving. Open the agent file located at “/etc/fusioninventory/agent.cfg”. Inside this file there is a line that will start with “server = ” be sure that after the equal sign you place the url for the GLPI system. For example: “server = http://tecmint.tecmint.local/plugins/fusioninventory/front/plugin_fusioninventory.communication.php“. Be sure to change “tecmint.tecmint.local” to your systems hostname. Also make sure that the mint machine you are trying to configure can ping that hostname as well.
yes I followed your guide and I successed install agent in Ubuntu 14.04.3 LTS
My enviroment is
sever: debain jessie installed glpi-0.85.5.tar fusioninventory-for-glpi_0.85.1.3.tar
agent:Ubuntu 14.04.3 LTS
Patrick,
Glad to hear! Hope you enjoy GLPI.
Hi Rob! why is it every time i click the plugin it says “The action you have requested is not allowed.” i correctly installed everything and the plugin just wont work..hope you reply.
Very good post! I follow de instructions, but my instalation have a trouble, the last light (Web access to files directory is protected) is red with red note “Web access to the files directory, should not be allowed. Check the .htaccess file and the web server configuration.” I’m newbe on linux and I lost on this. Any hint? Regards
Douglas,
I’d be sure to check the permissions on the files in the GLPI web directory. Make sure that your apache user owns those files (typically www-data). If that’s not the issue, check in the file /etc/apache2/sites-available/glpi.conf file that there is a line that states “AllowOverride All” or “AllowOverride Limit”. Reply back with the results of these two and we’ll keep trouble shooting.
Hi, i have the same problem than Douglas.
Add Allowoverride All didnt fix it & my /var/www/glpi is owned by www-data:www-data.
I dont’ have a clue why this problem happens..
Any advices ?
Make sure “AllowOverride All” is added between the brackets { } in the htaccess file. What is the path to the htaccess file you manipulated?
I’m currently away from the GLPI system but I will take a look at the installation when I get back but will attempt to help in the meantime.
have you ever thought about adding anything in relation to SSL between agents and the webserver? I have been having much difficulty with having the agent connect through SSL. Would you be updating your instructions to include SSL config as well?
Craig,
I hadn’t thought about that but I will take a look and see if I can get it working. If so, I’ll update the instructions appropriately. Thank you for the idea!
Awesome, I’ve tried a few times but still no luck. If i do get it, i will make sure to add it to the comment section!
While we are adding a host we are facing issue it is detected in fusion inventory & shown in fusion inventory ignored import devices. so these are not added.
I have checked that these device serial no is blank so these are not being added kindly confirm how we can add devices like these in glpi.
Regards
Kapil Kumar
Kapil,
I’m not exactly sure what you are asking. Is fusion not obtaining the serial number for the devices or are the devices not being inventoried?
Hi Rob,
Sorry for the double posts. I was trying to discover computers, not printers, I guess I am unclear of how the Fusion Agent really works. I was under the impression that I could have one agent and be able to scan the network for other computers and populate their info in GLPI. Or do I need an agent installed on every computer on the network? Sorry for the newbie question.
Wayne
Wayne,
Thanks for the clarification. There are a couple of different options available. For computer inventory, generally companies want to know what software is installed, revision numbers, etc. As such, the fusion inventory agent client would need to be installed on the computer in order to report that information. However the network discovery would provide some basic functionality but it does require the use of SNMP. So if there was a computer that needed to be inventoried but you don’t want to install fusion agent on the machine, you could configure an SNMP user on that machine and then provide the Fusion Inventory server with the SNMP user credentials to access that machine. Does that help? If not let me know and I’ll come up with an illustration or better description.
Hi Rob,
Fantastic post! Thank you. Any assistance with Network Discovery or a place a you could direct me to? I cannot get Fusion Inventory to scan my network, through GLPI. After setting an IP range, changing the agent settings, adding a task including target and actor…I cannot perform a Network Discovery.
Hi Rob,
Fantastic post! I have followed your instructions but I have one question regarding network discovery. I was hoping you could help me out or point me in the right direction. I cannot seem to get network discovery to work. I have entered IP ranges, created a task through Task Management, configured the agent module for network discovery on an agent, and added targets and actors but nothing seems to happen after that. Any assistance would be appreciated. Again, great post!
Wayne
Wayne,
Do you mean network discovery as in locating devices on a network or locating network devices? If you are referring to the later, I had to configure SNMP users on the network devices themselves in order for Fusion Inventory to query/inventory those devices. If you are talking about simple network discovery of hosts, I’ll check what I did later this evening.
GLPI fusioninventory agent not working with ubuntu-14.04.2
Sarfaraz, Could you provide some more detail? I tested Fusion inventory from Mint 17.1 which is based on Ubuntu 14.04 and it has worked flawlessly.
Ryan,
Not a problem at all! Best of luck and if you run into any issues, please let us know. We’ll be glad to assist.
Tremendous Job. Excellent
Sarfaraz,
Thank you. GLPI/Fusion Inventory are wonderful pieces of software that have saved me tons of time. Hoping that others can benefit as much from these two pieces of software.
Hi Rob !
Thank you so much for this guide, it helped me a lot !! Especially the part with fusion inventory, I’ll set it up tomorrow thanks to you !
Regards
Ryan