Using HTTP for CasperShare on a separate server

bjbechd
New Contributor

Hi!

I am hoping that someone can clear up something I am having trouble wrapping my head around. To give you some back story, we have in the process of moving out Casper server from Mountain Lion Server to RedHat or Ubuntu. Currently we have the CasperShare, DB, and JSS all on one server. We want to decentralize our setup so that the pieces are all on separate servers. I have a virtual test environment right now, all running Ubuntu. So we have separate servers for the JSS, the DB and the CasperShare is running off our FreeNAS server.

The question I had is how the heck would I setup to allow HTTP for downloads since the CasperShare is not on the sam server as the JSS. Is the article I found on JAMFNation, it says that I would need to use a symbolic link from the caspershare to /www/CasperShare. How can this be achieved if the share is not on the JSS?

Here is the article in question: https://jamfnation.jamfsoftware.com/article.html?id=216

1 ACCEPTED SOLUTION

tuinte
Contributor III

First things first, is the distribution point server (the one hosting CasperShare) currently sharing over SMB or AFP? You have to do that first. Step one is getting a regular old server with a share point called CasperShare. See: https://jamfnation.jamfsoftware.com/article.html?id=325. Where it says "create an account that has read-only permissions", you might consider calling that account casperinstall. For the read/write account, you might use casperadmin. Create those accounts on the server that will be hosting CasperShare. Then create the share called CasperShare and give the permissions as listed in the article I just linked. Share CasperShare over AFP or SMB, depending on your preference. We use OS X servers ( :( ), so tend to use AFP, but that depends on your environment.

When that is done, you now have a server hosting a share (a folder) called CasperShare. Your JSS doesn't know about it, but there is a server sharing files with the sharepoint CasperShare.

You could now tell your JSS about it. Using the web interface, in the settings tab, click either Servers (8.x) or File Distribution Points (9.x) and click to add the server to your JSS's list of available servers. You can follow the Admin Guide here, under Server Infrastructure > File Share Distribution Points > Adding a File Share Distribution Points (ignore the HTTP options for now - and don't select it as your master distribution point yet!).

When that's done, you should be able to open Casper Admin and see the server as a distribution point. You can select it and replicate to it, where the JSS will copy everything from your current master distribution point to it. Gravy. If you don't get this far successfully, serving via HTTP won't work either (you can't replicate via HTTP, so there'd be no way to get files onto the share to share via HTTP*).

Now, with a working AFP or SMB sharepoint, you go to the article you found to enable HTTP. In that article:

Step 1 is simply "turning on" HTTP on the server. When you do that, everything in var/www will/can be shared via HTTP. Problem is, your CasperShare folder will likely not be in var/www. That's what step 2 is about. It just adds your CasperShare folder to var/www without actually moving it there (you don't want it there because you're also sharing over AFP/SMB and hiding your AFP/SMB share in var/www is silly). Step 3 in your article is updating the JSS entry you did above (paragraph 3 of this post) so that the JSS knows you want to share over HTTP when clients are accessing it.

I can elaborate on any point above if you need. I remember learning this. Ugh, but it clicks eventually. It'd be helpful to know which JSS version you're running, though.

Michael

* - not really true, but yeah.

View solution in original post

6 REPLIES 6

tuinte
Contributor III

High-level it looks like this:

  1. Set up a file server, sharing a folder called CasperShare.
  2. Tell the JSS about it.

I think you're getting confused over step 2. The article you posted details it for 8.x and 9.x here:

If you are using v8.x: a. Log in to the JSS with a web browser. b. Click the Settings tab. c. Click the Servers link. d. Click the Edit Server link across from the distribution point. e. Click the HTTP tab and select the HTTP Downloads are enabled for this Distribution Point checkbox. f. Click Save. If you are using v9.0 or later: a. Log in to the JSS with a web browser. b. In the top-right corner of the page, click Settings. c. Click Computer Management. On a smartphone, this option is in the pop-up menu. d. In the "Computer Management - Server Infrastructure" section, click File Share Distribution Points. e. Click Edit. f. Click the HTTP tab and select the Use HTTP downloads checkbox. g. Click Save.

Doing that means the distribution point will show up in Casper Admin, so you can mount it to replicate to it, or if it's set as the Master, adding to Casper Admin will just upload pkgs/scripts/etc as you drag them in. It also means you can set it as a default distribution point for whatever network segments you want.

EDIT: What I think is confusing you is that you're seeing the JSS and a distribution point as the same thing because they've historically been on the same box for you. When they are both on the same box, they're really still two independent services. Think of it from the client point of view:

  1. Client checks in with JSS.
  2. JSS says, "I have a package for you."
  3. JSS gives client info for connecting to HTTP server, wherever that might be.
  4. Client goes to HTTP server and gets package.
  5. Client tells JSS whether it got the package OK.

If, in step 3, the HTTP server is the same box as the JSS, it makes no difference, the client still approaches it as though it's connecting to any HTTP server.

bjbechd
New Contributor

Ok than that does make some more sense but then I still don't understand how to setup HTTP downloads. Do i NOT have the use a symbolic link to make it to /var/www?

nessts
Valued Contributor II

you have to setup apache web server on your box that you want to be the DP, then you have to have access to the CasperShare from that Apache web server, if its a separate box you rsync the CasperShare to the web server and then setup apache appropriately to serve that directory. if its the same box as your master SMB DP, you can make a link to the CasperShare directory and not have a separate copy. Does that help?

tuinte
Contributor III

First things first, is the distribution point server (the one hosting CasperShare) currently sharing over SMB or AFP? You have to do that first. Step one is getting a regular old server with a share point called CasperShare. See: https://jamfnation.jamfsoftware.com/article.html?id=325. Where it says "create an account that has read-only permissions", you might consider calling that account casperinstall. For the read/write account, you might use casperadmin. Create those accounts on the server that will be hosting CasperShare. Then create the share called CasperShare and give the permissions as listed in the article I just linked. Share CasperShare over AFP or SMB, depending on your preference. We use OS X servers ( :( ), so tend to use AFP, but that depends on your environment.

When that is done, you now have a server hosting a share (a folder) called CasperShare. Your JSS doesn't know about it, but there is a server sharing files with the sharepoint CasperShare.

You could now tell your JSS about it. Using the web interface, in the settings tab, click either Servers (8.x) or File Distribution Points (9.x) and click to add the server to your JSS's list of available servers. You can follow the Admin Guide here, under Server Infrastructure > File Share Distribution Points > Adding a File Share Distribution Points (ignore the HTTP options for now - and don't select it as your master distribution point yet!).

When that's done, you should be able to open Casper Admin and see the server as a distribution point. You can select it and replicate to it, where the JSS will copy everything from your current master distribution point to it. Gravy. If you don't get this far successfully, serving via HTTP won't work either (you can't replicate via HTTP, so there'd be no way to get files onto the share to share via HTTP*).

Now, with a working AFP or SMB sharepoint, you go to the article you found to enable HTTP. In that article:

Step 1 is simply "turning on" HTTP on the server. When you do that, everything in var/www will/can be shared via HTTP. Problem is, your CasperShare folder will likely not be in var/www. That's what step 2 is about. It just adds your CasperShare folder to var/www without actually moving it there (you don't want it there because you're also sharing over AFP/SMB and hiding your AFP/SMB share in var/www is silly). Step 3 in your article is updating the JSS entry you did above (paragraph 3 of this post) so that the JSS knows you want to share over HTTP when clients are accessing it.

I can elaborate on any point above if you need. I remember learning this. Ugh, but it clicks eventually. It'd be helpful to know which JSS version you're running, though.

Michael

* - not really true, but yeah.

bjbechd
New Contributor

Thank you everyone that posted, all your input helped me better understand! Thanks you especially @tuinte, what you said makes PERFECT sense not. it just "clicked". I feel very stupid now. I was making it out to be WAY harder than it is. I was kinda thrown in the the role as JSS admin so all this helps a great deal. I know these are questions a JSS admin should already know.

tuinte
Contributor III

No need to beat yourself up, we've all been there. Enjoy Casper and life!