setting up vmware fusion 7 for tendenci development

Tendenci install docs – latest version – are in the git repo here: https://github.com/tendenci/tendenci/blob/master/docs/source/installation/installation.txt  Please note that Tendenci is a FAST moving project and you should update your install before submitting issues given the rapid pace of change.

I am adding this as a blog post instead of a help file as things change so quickly it might be outdated in a week. Anyway, part 1 of probably several on setting up vmware fusion with Ubuntu 14.04 to develop Tendenci Open Source Software for Non Profits and NGOs. (disclosure – I work there, blah, disclaimer, blah, etc….)

First – install vmware Fusion 7. They have a 30 day trial so you can start with that.

Second – download ubuntu 14.04 from the official distro. Given Ubuntu appears to be heading towards the dark side lately, you will be fine just using Debian Linux as almost all commands are identical. In fact as one of the lead developers on Tendenci I can tell you I’ll be testing it on Debian, CoreOS in Dockers.

(As an FYI – you can also spin up a demo site of tendenci right now at https://create.tendenci.com if you just want to kick the tires. But I’d much RATHER see you join the community to provide future-tools to change the world.)

Now in pictures setting up vmware with ubuntu (14.04.2 and 14.04.3 are both fine – 14.04.3 will save you time on updates. So do that first after install:

sudo apt-get update && sudo apt-get upgrade -yy

1-vmware-fusion-tendenci

2-vmware-fusion-tendenci

  1. 3-vmware-fusion-tendenci

5-vmware-fusion-tendenci

 

This is mostly a useless graphic saying to install your preferences as you see fit. Other stuff happens before and after this. Carry on.

6-vmware-fusion-tendenci

 

Not a useless graphic. VMware’s console is a pain so you are definitely going to want to have openssh installed. 9-vmware-fusion-tendenci

stuff

7-vmware-fusion-tendenci

more stuff8-vmware-fusion-tendenci

confirm you did stuff

4-vmware-fusion-tendenci

now do more stuff – in this case install vmware tools so you can share the file system and don’t have to suffer through VI/Nano or whatever. Sublime is way better.

10-vmware-fusion-tendenci

In this image it says “reinstall vmware tools” but on yours it will probably say “Install vmware tools” – pick that one.

Next, what SHOULD be simple is definitely NOT simple. You have to configure Ubuntu guest machine to support vmware tools. Vmware exposes the tools into the guest OS but you still have to mount the drive, install, configure. What a pain in the arse. Anyway, Some helpful commands and from there you have to google your way.

Note at this point I’m assuming you are SSH’ed into your VM on the local and have done a “sudo su” so you are operating as root.

In the properties of your virtual machine make sure the CDROM drive is set to “mount”. In the guest OS you should then be able to do this:

sudo mount /dev/cdrom /media/cdrom/

and

cd /mnt/
ls
cdrom hgfs

This mounts your drive from vmware into the host. The fact that you don’t have a cdrom drive on a mac is irrelevant – it still maps it and gives you access to source files for vmware.

Next add your debian package keys or nothing else will work. Again, it is up to YOU to check if the paths are still correct as time changes everything. As I type this today these are correct

wget -qO - http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-DSA-KEY.pub | sudo apt-key add -
wget -qO - http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub | sudo apt-key add -

Verify they installed correctly

apt-key list

Add/create your files. Maybe check if they exist first so you don’t overwrite but the basics are:

touch /etc/apt/sources.list.d/vmware-tools.list
nano /etc/apt/sources.list.d/vmware-tools.list

Next edit your vmware-tools.list file to include the repo

deb http://packages.vmware.com/packages/ubuntu precise main

NOTE- if you aren’t on “precise” that won’t work so check your distribution (‘trusty’ etc…). Now install.

apt-get install open-vm-tools-deploypkg
root@tendenci:/# cd ~
root@tendenci:~# ls
vmware-tools-distrib
root@tendenci:~# cd vmware-tools-distrib/
root@tendenci:~/vmware-tools-distrib# ls
bin doc etc FILES INSTALL installer lib vmware-install.pl
root@tendenci:~/vmware-tools-distrib# ./vmware-install.pl

From there I take all of the defaults except for this one which I answer yes (it’s just vm after all.)

Would you like to enable VMware automatic kernel modules?
[no] yes

Check your mount points if needed

ls mount-point

If everything worked, which is unlikely out of the box as vmware has unfortunately not gotten along with Mac’s lately, but hey, if you got lucky you should now have a mounted drive at

cd /mnt/hgfs/ with vmware in it.

NOTE – several points in there, it doesn’t hurt to reboot your vmware host os. I apologize for not being more precise in this post but I know if I get the basics out there google or ddg will solve it for you. That is my only goal – to point you in the right direction if not perfect.

Lastly if the above, or a derivative of the above worked, then you should be close to doing something like this.

Clone the git repo down to your mac. For me I put it on my Mac in ~/Documents/code/webapps/repos/

then inside of the guest machine, assuming the above worked for you (test test test people) then you should be able to FIRST install tendenci the normal way using the instructions here

THEN, and only THEN, move your dist repo on the host (after you can pull up the site in a browser) to a different folder and sym link in your cloned repo.

For my dev environment this is done with:

ln -s /mnt/hgfs/webapps/repos/tendenci/tendenci /usr/local/lib/python2.7/dist-packages/tendenci

I’ll try to tighten these instructions up over time but wanted to get them out there as I honestly lost hours and hours getting just the basics working with VMWare. I get that it is faster than vagrant, but almost not worth the grief with the difficulty of getting the vmware tools working.

Helpful source links used in the creation of this wonderful blog post. Categorize this one as “something is better than nothing” and use your google fu (or is it “foo”?) to fill in the details. I’m only sharing it because my google fu ain’t bad, and it was a challenge for me. So…. helpful further links:

Tendenci issues: https://github.com/tendenci/tendenci/issues

VMWare file sharing: http://hplgit.github.io/teamods/ubuntu/vmware/mac.html

Ask Ubuntu notes: http://askubuntu.com/questions/29284/how-do-i-mount-shared-folders-in-ubuntu-using-vmware-tools