Skip to Content
Technical Articles
Author's profile photo dylan drummond

Installing SAP NetWeaver Developer Edition on an Ubuntu desktop VM – the non-concise guide

This blog explains in great detail, how you can get an SAP NetWeaver Developer Edition running on an Ubuntu virtual machine.

If you want the concise guide to installing on Ubuntu, then I published one here:

https://blogs.sap.com/2019/10/20/concise-guide-to-install-sap-netweaver-developer-edition-on-ubuntu-vm/

[UPDATE (June 2021): for installing on Ubuntu, you will find this blog useful, for modifying the installer script so that the installation succeeds:

https://blogs.sap.com/2021/06/07/adjusting-installer-script-for-sap-netweaver-dev-edition-for-distros-with-kernel-version-5.4-or-higher/

.. so highly recommend also checking that blog, as otherwise you might get stuck].

We illustrate using hosts running mac OS (High Sierra) or Windows 10, and using two free hypervisors: Oracle VirtualBox, and VMWare Workstation Player. [Tested these instructions ok on following Ubuntu Desktop releases(yy.mm): 16.04, 18.04, 19.04, 19.10. Over time the screenshots and procedures noted here may become obsolete, as distros and NetWeaver implementations change. Try to adapt what you see here to the newer reality. From 2020 onwards this non-concise blog is not being updated any longer].

If you like, you can view this blog as the “Ubuntu sibling” of the official SAP blog for installing on openSUSE VM: https://blogs.sap.com/2017/09/04/newbies-guide-installing-abap-as-751-sp02-on-linux/

There are quite a few differences to take into account when installing on Ubuntu.

Before we go through the many steps of this How-To … here’s what the screen looked like one afternoon at Stockholm-Arlanda airport, waiting for the flight to Helsinki…  the first successful Ubuntu SAP NetWeaver installation has just occurred (ummm, first time it occurred on any of my machines, certainly not the first time this installation has ever happened in the world)… the hypervisor was VirtualBox, running on Mac OS (High Sierra):

So, the steps are as follows:

Register for an SAP NW752 SP04 Developer Edition (or whatever is the most current edition, this was the newest one in October 2019). You may need to get a so-called “P-user” from SAP, by registering when trying to log in to the following site… anyway the idea is to download the set of rar files that are accessible from https://developers.sap.com/trials-downloads.html (might take a while depending on your Internet download speed, for example in October 2019 the 7.52 edition is in 11 rar part files – don’t miss out the 11th rar since default search result displays 10 files… each file is about 1.4 GB in size; if using Google Chrome, which usually provides a maximum of 6 concurrent download sockets, you can get the last 4 downloaded more quickly by opening another Chrome persona/profile or using an additional Incognito persona, since the limit applies per persona).

If needed, download and install a tool that can extract multipart rar files, which tool you need depends on whether you intend to do the unpacking on the host machine or in the VM itself (see below for more details on those two options). (Mac: e.g. The Unarchiver – https://theunarchiver.com/ ; Ubuntu: sudo apt install rar unrar ).

Download and install a hypervisor, VirtualBox and/or VMware Workstation Player / Fusion Pro.

VirtualBox website: https://www.virtualbox.org/

VMware website: https://www.vmware.com/products.html (Download -> Free Product Downloads / Free Product Trials and Demos).

Oracle VirtualBox is available for Windows, Mac, and Linux; VMWare Workstation Player available for Windows and Linux (if you are running a non-virtual Ubuntu distro, you can of course choose to just install NetWeaver without using a hypervisor, if you like); VMware Fusion Pro is the trial product for Mac (30 day trial). Anyway the examples in this blog are done using VirtualBox on mac OS (High Sierra) and VMWare Workstation Player on Windows 10).

Install the new Ubuntu VM (maybe the latest LTS version, e.g. in March 2018 we used the version LTS 16.04..4, though this process has also tested ok on 18.10 and 19.04 releases; you can download the .iso from https://ubuntu.com/desktop ), so yes, install a new Ubuntu VM into the hypervisor: (screenshots are taken from an Ubuntu install on VirtualBox on a MacMini; VMWare Player has a similar GUI-based process (not shown in this blog) to create a VM from an image).

[Selected New… then “Expert Mode”…]:

I used VHD in these examples, other virtual disk formats should also work. Allocate at least 5GB of RAM (6GB or more is better, but in above example only 8GB RAM on the host, so 5 or 6GB is a practical maximum for guest VM to use…if you have a machine with available RAM for guest VM of 4GB or less, it is unlikely you can follow this tutorial using that machine); then give the VM around 100GB of storage space (though e.g. 80GB may be enough). When you Power On, you will be asked to specify a boot-disk, we give the path to our Ubuntu .iso file:

When the actual Ubuntu installation process starts, I chose not to use Logical Volumes (anyway with VirtualBox you have snapshots available from the hypervisor); selected option “Download with updates” as it reduces the amount of time spent doing updates later; language English US (default – safest not to change this); keyboard, well that depends on what keyboard you have, for example for standard Finnish keyboards on Windows I selected Finnish → Finnish, on MacBook Pro and MacMini used Finnish → Finnish (Macintosh).

[In this blog we assume that you use NAT networking i.e. the Hypervisor gives the VM an IPv4 address. Although there are use cases where e.g. bridged networking and statically setting the VM’s IPv4 address make more sense, still the NAT solution is the easiest until you know what you are doing].

As part of the installation, it is a good idea to give your computer the hostname: vhcalnplci (although if you are reasonable in naming choices, other hostnames should meet the SAP rules, tested this… watch out for Fiori apps in Launchpad expecting the hostname to be vhcalnplci though; also testing HTTP services in tcode SICF such as “/sap/public/info” etcetera, tests tend to fail; and also I noticed that RFC connections e.g. from JCo client testing with remote-enabled Function Module STFC_CONNECTION, only seems to work if the host was named vhcalnplci – probably the install script has hardcoded some of the RFC server config details according to this hostname).

… you need an OS user (in this example, “marmot”; in other examples screenshotted in this blog, the OS user might be called something else, e.g. “dylan” or “murmeister” or whatever); and why not call your computer “vhcalnplci” since rolling your own name can lead you into dark areas of error log messages 🙂

 

After installing, a popup asks you to Restart to finish setup… You will be asked to “remove the installation media, and press Enter”, just press Enter and the machine will power off, and hopefully boot up again.

Now you can open a terminal, from the Dash-icon in top left and with a search string, then click on the icon for Terminal

(If you are shown as user “ubuntu” then you are still working off the “CD-trial-instance”, and so you still need to shutdown the VM to finish the installation, and power on to log on as your actual newly created OS user).

So the state of play should be that you have a Terminal window open, and it should show that it is indeed you who is there, ready to continue this installation adventure…

 

Commands to run on login:

sudo apt update                                                #updates the package repositories. Note that if e.g. Ubuntu Software Updater is also silently checking the “update-status” (e.g. just after logon) and thus locking the package management tools, then you might get an error message when trying to use the “apt”-utility…

if so, get coffee, come back it should work after a few minutes, or at least Software Updater should be informing you that it wants to install updates. You could also use Software Updater, which is basically a GUI-wrapper application for executing the update and upgrade commands then informing you whether you need to restart to finish the upgrade process.

sudo apt upgrade                                             #upgrades the actual packages with newer versions. Hit <Enter> or “Y” to answer any “upgrade this?” questions that may come up.

sudo reboot now                                              #quite often needed just after “initial” apt upgrades

sudo apt install terminator                              #(optional) an arguably neater command terminal than the standard Ubuntu terminal, in case you are into that kind of thing

sudo apt install tree                                         #(optional) tree is a neat way for viewing directory structures from a terminal

sudo ufw status                                               #the basic Ubuntu firewall should be in status inactive, e.g.:

(If not inactive, you can inactivate it using: sudo ufw disable )

Next, we need to set up a shared folder, so a folder on the host machine that is accessible by the Ubuntu VM, or in Linux/Unix jargon, the host folder is mounted on the Ubuntu filesystem. This works slightly differently according to which host OS and which hypervisor you are using, but mostly the differences are to do with the hypervisor, so we will describe for VirtualBox (mac OS), and for VMWare Player (Windows 10).

VirtualBox: …

For Ubuntu 19.04, before running the Guest Additions CD, install these tools, like so:

sudo apt install virtualbox-guest-dkms build-essential linux-headers-virtual

Before Ubuntu 19.04, e.g 18.04, 16.04, 18.10… the usual pre-install line to run before Guest Additions is:

sudo apt install gcc make perl

Then Menu path: Devices -> Insert Guest Additions CD image… and press the “Run” button:

Authenticate (your OS user’s password needed, in order to sudo):

 

Anyway, you should arrive at something like this:

 

Now in this example, I have the rar files in a folder on the host machine called “netweaver”, and then in a subfolder I have already unpacked the rar files (in this case using The Unarchiver). If you want to copy across the rar files themselves into the VM and unpack them inside Ubuntu, see advice on that below. In this example, we instead make the directory of unpacked files available to Ubuntu’s filesystem. So, we set up our shared folder according to that logic. Machine -> Settings -> Shared folders; click “Add folder”, then select the folder from host:

Checkboxes ON for: “Auto-mount”, and “Make permanent”. Give the folder a sensible name for Ubuntu to understand later… Then press OK-button.

Then we need to reboot the computer. And check from inside Ubuntu that we can access this folder …

Since I gave it the folder name “nw-unpacked”, then it gets mounted in the Ubuntu filesystem at /media/sf_nw-unpacked/

Using the Nautilus “Filesystem GUI” as your non-super-user, you will not be able to open the shared folder. But you can view its contents using a terminal and of course the sudo magic potion:

So, the files are all owned by the root user (which is why you need “sudo” to list them), and any members of group “vboxsf” also have full permissions. So you could make yourself a member of group “vboxsf”, or we can just keep using sudo. Epiphenomenally, let’s mention that the tree-command is good in case you want to view the directory structure at “-L n” levels of the hierarchy:

 

Next, we look at VMware and its Linux Guest Additions: …

And here is the official help article from VMWare, in case you need that:

https://kb.vmware.com/s/article/1022525

It might be a good idea to eject the Ubuntu installation disk first from the (virtual) CD/DVD drive, so that you can “play” the VMWare Tools virtual CD, so first press the “Eject” icon:

Then the Manage -> Install VMware Tools… menu-command should work, so you see them in the virtual DVD-drive:

 

Now you can extract the tools e.g. to your home directory using right-click on the zip, Extract To -> Choose Other location e.g. ~/vmwaretools-local (Create the new subdirectory as you go along). Or we dig out a terminal and sudo make-me-a-sandwich ( https://imgs.xkcd.com/comics/sandwich.png ). Either way you end up with something like this:

So then you can switch to that directory and run the installer sudo ./vmware-install.pl with default answers to script’s questions, except that we answer the first question with “yes” (we want to install the Guest additions): if our Ubuntu installation already contains open-vm-tools, so that is nice… but probably we should still run these config-tools… first run the installer, and that will probably also run the config tools for us (if we answered the first question as “yes”), but if not then change to directory ./bin/ and run the config script from there.

Then… shutdown (Power Off) the VM. (Either use the menu bar, or in terminal: sudo shutdown now  ).

For the Ubuntu VM, from the “Management Screen” choose “Edit virtual settings”, or choose menu path Player -> Manage -> Virtual Machine Settings, or choose Ctrl-D.

Then from Options tab, Shared folders – change to “Always enabled”. Then click “Add…” and use the wizard to add and name the shared folder.  So for example I call it “nw-unpacked” for an unpacked (from rar) set of files:

 

Restart your Ubuntu VM, and the shared folder should be visible, mounted in the filesystem at /mnt/hgfs (hgfs – probably an acronym meaning “host-guest-file-system” … I am guessing yeh).

If not visible, try running the vmware-config-tools.pl script again, from the bin subdirectory:

sudo ./vmware-config-tools.pl

You can also check (if you have the VMware tools installed) for Ubuntu’s new “insider host-like knowledge” about the mounted filesystem (i.e. shared folder) using the command: vmware-hgfsclient

If you are still not finding the shared folder, another thing to try is the following, assuming there is an output from the command vmware-hgfsclient and also that you have installed the Ubuntu open-vm-tools:

sudo apt install open-vm-tools open-vm-tools-desktop

Then you can mount the shared folder(s) using this command, in this case to a directory called “localmnt” in my home directory:

vmhgfs-fuse .host:/$(vmware-hgfsclient) ~/localmnt/

More details in the answer by user1225999 on this thread:

https://askubuntu.com/questions/580319/enabling-shared-folders-with-open-vm-tools

Note that this command using vmhgfs-fuse does not survive a reboot. For a solution that does survive reboot, the trick is to add a line to /etc/fstab as follows:

sudo nano /etc/fstab

Add the line at the end of the table:

.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0

Save and close. Now to pick up this line, we need to run:

sudo mount -a

which rereads the /etc/fstab. Now under /mnt/hgfs/ we will find all the folders we are currently sharing via VMware hypervisor. (If not found and e.g. subdirectory /mnt/hgfs/ not yet created, then it should appear after the next reboot).

Now the shared folder is owned by root (you can check this using ls -l ). We can uproot ourselves a bit later to become root, sudo -i and then we can use the files in this shared folder ok…well I am not sure if that is good practice, but it will make it easier to operate inside that shared folder. First though, we need to install some more stuff in the Ubuntu VM.

 

So anyway, that was enough about the shared folders and the different ways of setting them up, now we start doing hypervisor-neutral config again i.e. stuff you need to do in Ubuntu, independently of which hypervisor you are using.

More terminal commands:

sudo apt install csh                                                 #the C-shell, needed for the install of NetWeaver to work. You can check whether this shell is available by looking at the contents of /etc/shells :

sudo apt search libaio                                          #this libaio is needed, but unlike say with installing MySQL, we cannot expect the SAP installer to have included such a library for convenience. Now there is no package for Ubuntu called libaio, so you need to search for it, hence this “apt search” 🙂 Typical output is:

sudo apt install libaio1                                         #So we just want the nice standard implementation, which in this case is package libaio1

sudo apt install uuid                                            #this is needed for generating unique id numbers. When installed, it is not automatically switched on (not in active-running state), and using the “enable” option doesn’t seem to get it to start automatically after reboot; so, the command to activate it or reactivate it after every system reboot is (note there are 2 ‘d’-letters in the name of the daemon, unlike in the name of the package containing the daemon):

sudo systemctl start uuidd

There would be various ways to automate this, one not very automatic workaround is just to put a reminder at the login screen:

sudo nano /etc/gdm3/greeter.dconf-defaults

…adding the following two lines:

banner-message-enable=true
banner-message-text=’Remember: sudo systemctl start uuidd’

Then Ctrl-O (‘O’ as in ‘Orange’) and <Enter> to save te file, Ctrl-X to exit. Then next time you reboot, your login screen gives the greeting message you specified:

 

Next, check the LANG value:

cat /etc/default/locale                                           #check that LANG=”en_US.UTF-8”, that is the default and is needed by the NW-installer as OS language. If something else, try changing and reboot, e.g. sudo nano /etc/default/locale and recheck

ip addr show                                                         #You need to find out your (relevant) IP address, on a VMWare adapter network it will be something like 192.168.48.129 , on a VirtualBox adapter network it will be something like 10.0.2.15.

sudo nano /etc/hosts                                            #comment out the line mapping the Ubuntu loopback IP 127.0.1.1 to vhcalnplci, and add the line mapping your network IP address to the short name and FQDN of your ubuntu VM. Short name is: vhcalnplci , and FQDN is: vhcalnplci.dummy.nodomain

sudo reboot now                                                  #reboot. (Good idea after reboot to check using “ip addr show” that your IP address has not changed!).

sudo systemctl start uuidd                                  #start up the uuidd (the 2nd “d” probably refers to the “daemon” of uuid).

systemctl status uuidd                                         #should be up and running, like this:

(Use the letter ‘q’ to exit from the “service-report” back to the user-command-ready state of the terminal).

At this point, if you are using VirtualBox, it is a good idea to take a snapshot of the VM, in case the later steps which are closer to the “actual installation of NetWeaver instance” fail, you can revert back to this pre-NetWeaver-install state. So (mac OS or Windows), use menu-path Machine -> Take snapshot… , and afterwards you can view your snapshots from the management screen under Machine Tools -> Snapshots:

 

So-ohhhhhh… now it is time to become the root user (but without “su”, since “sudo” is better from an auditability angle):

sudo -i

And we cd into the shared folder, which depending on which hypervisor you configured, is either at /media/sf_yourfoldername/ (VirtualBox) or at /mnt/hgfs/yourfoldername e.g. :

cd /mnt/hgfs/nw-unpacked/ or:                       cd /media/sf_nw-unpacked/

If the install script has not been made into an executable, then we can fix that using:

chmod +x install.sh

And then we press go… ok just joking, there is no “press go” button in the terminal, so instead:

./install.sh

If you get a warning about missing packages, write “yes” then press Enter, to let Ubuntu handle getting these missing packages:

Or if you prefer, you can say no, cancel the install.sh processing, and manually call:

sudo apt install libc6 libstdc++6

… anyway once the install.sh gets started, you need to accept the license agreement(s)… then you have to specify a password which will be given to the “SAP OS users” (such as “npladm”), and if everything goes well, then about 25 minutes till an hour-and-a-half later (depending on various things, but mostly on the number of processors your VM has and the amount of RAM it has), you have an SAP NetWeaver system up and running in your VM.

 

If you get the “Installation of NPL successful” message, then congratulations.

(If the installation fails, then you will need to look around on the various internet forums and so on to troubleshoot that, unfortunately or rather fortunately I have not been able to replicate all the failure cases I have read about on the SAP community pages and elsewhere, nor am I clever enough to invent all workarounds. If you have a VirtualBox snapshot from just before installation phase, then that gives you better chances to try different workarounds from the same “about to install”-state).

So if installation was successful, next step is to become the SAP OS user “npladm”, command: su -l npladm (then enter the npladm user’s password). Then you can execute the basic “healthcheck command” of sapcontrol utility. Note that npladm uses the C-shell (“/bin/csh”):

We aim our healthcheck at the instance 00: sapcontrol -nr 00 -function GetProcessList

 

Which was nice!

If not all 4 instance 00 processes have status green, this can often be solved as follows (as npladm user):

stopsap ALL

startsap ALL

Another installation-option (in computing, and maybe especially in Linux and Unix, there are usually different ways to get something done), is to copy the rar files into the VM itself, and unpack them from inside the VM… that will take up say 15GB of your 100GB, but as an anecdotal aside of low interest to most readers, that was the way I chose, the first time I got the NetWeaver installation procedure to work on Ubuntu.

E.g. copy the rar files (still as rar files) to e.g. /home/<my-os-user>/nw-local/ or similar so in the shared folder, if you were OS user marmot, you would (su)do:

sudo cp -a rarfolder/. /home/marmot/nw-local/

And unpack the rar files there in the local subdirectory. First, we need a tool to unpack stuff:

sudo apt install unrar rar

Then the GUI-based Archive Manager knows how to unrar the files, just use it like normal. Or you can use the terminal if you like. Anyway you should end up with the unpacked files in the local directory.

And set the sudo chmod +x install.sh there. And then sudo ./install.sh from the local folder. Worked for me (in the airport departure area).

 

So, all that is left to do is to get it working with SAPGUI, HTTP, and so on… so the port forwarding, it works differently depending on which hypervisor you are using…

For VirtualBox, follow the advice from the main blog here, on setting up the needed Port Forwarding configuration for your VM:

https://blogs.sap.com/2016/11/03/linux-for-newbies-installing-opensuse-on-oracle-virtualbox/

You should end up with something that looks like this:

 

Now for the Windows 10 and VMWare case… so, the network adapters that come with VMWare Workstation Player, are quite clever, so we can just use those adapters and the IP address that the Ubuntu VM has on the VMNet adapter (in your VM, use the command ifconfig or ip addr show to see this address).

So, it is enough to set up a new SAPGUI Connection Entry, knowing that on VMnet8 our VM has, say, IP address 192.168.48.131 (you may not be able to ping it from host machine without some tricks, as it is not set up to allow ICMP by default, but don’t worry about that, just try using the IP address in SAPGUI config), e.g.:

If you are running SAPGUI for Java and VirtualBox, e.g. on a Unix or Linux host machine, then connection config is simple, since in VirtualBox you did the Port Forwarding mapping already:

(This blog is not going to go into the details of how to set up Java and SAPGUI clients and so on, for that you can search the Internet including SAP Community pages for tutorials).

So now we can logon ok… (use the Default password (in the readme file somewhere – if “Appl1ance” does not work try “Down1oad”) e.g. for default user “Developer”):

(Interesting to note that the official “Kernel Compilation” is for “Linux GNU SLES-11 x86_64 cc4.8.5 use-pr170509”, but hey, that is nice, that although the target VM is from the Debian distro-branches, everything seems to work using this SUSE-focused compilation).

From this link:

https://blogs.sap.com/2017/09/04/sap-as-abap-7.51-sp2-developer-edition-to-download-concise-installation-guide/

… you find info about renewing abap license (in client 000 with user SAP*). Once you have the hardware key from tcode SLICENSE (client 000, login as user=SAP* – if “Appl1ance” does not work try “Down1oad”), you then go to:

https://go.support.sap.com/minisap/#/minisap

The “NPL.txt” file that you download, is what you then upload as the new license key into SLICENSE of client 000 – remember to delete the temp license before uploading the new one.

After that you can log in to client 001 as user=Developer, and do your SAP programming or whatever it is that you want to do in the NetWeaver box:

 

Once you have logged off, you can pause the VM (don’t just shut it down!), and resume the VM next time you want to use the NetWeaver box.

If want to shut down the VM (some people, e.g. me, prefer shutting down to suspending VMs), then:

(as OS user npladm): stopsap ALL

and wait for all the sap stuff to stop. Or, if you like to do things the long way round, there is this other way also:

sapcontrol -nr 00 -function StopSystem ALL

Check that nothing belonging to the sapcontrol Process List is running, using:

sapcontrol -nr 00 -function GetProcessList

AND: sapcontrol -nr 01 -function GetProcessList

(the instance number 01 has the NetWeaver Message Server and NetWeaver Enqueue Server).

If anything shows “GREEN” or “YELLOW” or any status other than “GRAY” then there is still stuff stopping, so wait until everything is a uniform grey status.

Once everything is stopped, then you can logout e.g. command: exit from being OS user root or OS user npladm etc, and shut down the Ubuntu VM (e.g. via GUI, or as your own OS user: sudo shutdown now ).

When you reboot, there are 2 ways you can get your NetWeaver instance up and running again… one way is quite easy, the other is a bit tricky…

The first way is for npladm ( su -l npladm ) to say:

startsap ALL

This should work 🙂

The second way, it’s maybe pointlessly difficult compared to the first way, but since I used it up until I realised that startsap ALL would work, so just in case anyone else wants to do things the hard way:

You will want to activate the UUIDD daemon again (as your OS user: sudo systemctl start uuidd && systemctl status uuidd ), and then start up the SAP server again (as OS npladm).

This probably won’t work on your Ubuntu VM (though it works on the openSUSE variant of this installation):

sapcontrol -nr 00 -function StartSystem ALL

If you get an error “FAIL: NIECONN_REFUSED (connection refused) ….” then the solution is here:

https://blogs.sap.com/2015/09/07/how-to-solve-nieconnrefused-issues-during-sapcontrol-execution/

So for example, as OS user npladm, I changed directory to /usr/sap/hostctrl/exe directory (which contains the executable file called sapstartsrv)

cd /usr/sap/hostctrl/exe/  … and then ran the command:

./sapstartsrv pf=/sapmnt/NPL/profile/NPL_D00_vhcalnplci  …so here we assign the “start profile for instance NPL (D00 (instance number 00)) running on host vhcalnplci;

also, we must assign the start profile for the ASCS01 (instance number 01, the Abap Central Services instance)), like so:

./sapstartsrv pf=/sapmnt/NPL/profile/NPL/NPL_ASCS01_vhcalnplci

Now you can (maybe in another window) as OS user npladm move back to the /home/npladm directory (optional, but generally I like to stay at home unless there is a good excuse to go hillwalking in the Unix filesystem). Now if you run, say, the GetProcessList command, it should provide some non-error information:

So, now you can finally get started, with that command:

sapcontrol -nr 00 -function StartSystem ALL

This time it should work ok.

Again, wait for all “GREEN” statuses from

sapcontrol -nr 01 -function GetProcessList

sapcontrol -nr 00 -function GetProcessList

[The instance 01 will actually start up first, as it has components that the “main” instance 00 knows it needs. But you don’t need to worry about that, though if you like you can go read about the internals e.g. from some of the better SAP Press books, or google it, etc].

After all statuses are showing GREEN, then you can logon to your SAP instance again, here for example the SAP user has gone to tcode SM51, looks fine:

quod erat demonstrandum, etcetera etcetera. Any mistakes or suggestions for improvement, feel free to comment.

UPDATE June 2018: tested Ubuntu 18.04, installs ok, but see my blog about dealing with the differences in how to handle ‘ifconfig’:

https://blogs.sap.com/2018/06/10/installing-netweaver-dev-edition-with-ifconfig-considered-harmful-opensuse-leap15-and-ubuntu-18.04/

 

UPDATE for Fiori: If you want to use Fiori links easily (and many other SICF services), such as to the Fiori Launchpad and the apps within it, then you probably want to modify the hosts file of your host machine (not of your VM running NetWeaver), so that the hostname of the VM is mapped to whatever the IPv4 address is that you are using… so in the example, where URLs for ports 8000 and 44300 of, say, vhcalnplci, should be reached behind VirtualBox’s port forwarding rules, i.e. by forwarding those ports from localhost, then your modified hosts file might look something like this:

Of course, if your VM is reached a different way, e.g. on a non-NAT network at some other IPv4 address, then your hosts file should NOT tag the VM hostname onto the localhost line (because then the URL with “vhcalnplci” would resolve to the wrong IPv4 address; instead, you would specify some new line that maps the IPv4 address of your Ubuntu VM to the hostname (short name and “dummy” FQDN) of the VM e.g.

192.168.56.101    vhcalnplci vhcalnplci.dummy.nodomain

Tip for Mac users: If your machine is set up to look for DNS resolution of IPv6, then you have three choices for e.g. HTTP or RFC destination naming of the host:

(1) add the suffix “.local”  e.g “vhcalnplci.local” in your address strings, then mDNS somehow knows to also check for an IPv4 resolution.

(2) turn off IPv6 Configuration from System Preferences -> Network -> Select e.g. Wi-FI if that is what you are using to connect to Internet… Advanced -> TCP/IP -> Set “Configure IPv6” to “Off”. Seems that from Catalina macOS release onwards, turning this off from the Settings GUI isn’t possible any longer, in that case see screenshot for a hint how to do this via Terminal:

(3) use any IPv4-to-IPv6 converter (free on the Internet, just search for one) on the IPv4 dot-notation address, then add a line to /etc/hosts resolving this IPv6 address. In the example below, 172.16.106.135 maps to IPv6 address 0:0:0:0:0:ffff:ac10:6a87 – which we then also map to vhcalnplci, like so:

Once this hosts file mapping is working, the FLP will be more easily callable, and since inside FLP it uses the hostname of the VM, then also the apps themselves will be callable without strange error messages. If all goes well you can use the supplied Fiori demo apps ok:

References (like during most of my hobbyist “mini-projects”, there were many useful websites including https://stackoverflow.com/ and https://askubuntu.com/ visited; below is just a more “official” subset of relevant sites):

https://blogs.sap.com/2017/09/04/sap-as-abap-751-sp02-developer-edition-to-download/

– main blog for nw 751. Links to:

https://blogs.sap.com/2017/09/04/newbies-guide-installing-abap-as-751-sp02-on-linux/

https://blogs.sap.com/2017/09/04/sap-as-abap-7.51-sp2-developer-edition-to-download-concise-installation-guide/

Also, the main blog has a link to the SAPstore for the actual rar files (first you fill in a form, then you get an email link, valid for 48 hours; check you are getting the latest NW version e.g. if you want 7.51, don’t register for 7.50));

Also a link to the new ASE license needed from April 2018 (not mentioned in the blog, but worth having a valid license and easy enough to replace the old one):

https://sap.sharepoint.com/sites/101566/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites%2F101566%2FShared%20Documents%2FASE%20Licenses_2019%2Ezip&parent=%2Fsites%2F101566%2FShared%20Documents&p=true&slrid=47b6579e-d07c-5000-270b-b2844d1ca9d6

 

Older links:

https://blogs.sap.com/2016/11/03/sap-nw-as-abap-7.50-sp2-developer-edition-to-download-consise-installation-guide/

– for the 7.50 edition, notes the need for: csh, uuidd, and libaio

https://lauton.me/how-to-install-a-mini-sap-netweaver-as-abap-7-50/

– interesting blog by SAP guy and Linux enthusiast

https://blogs.sap.com/2016/11/03/linux-for-newbies-installing-opensuse-on-oracle-virtualbox/

– older blog, with some people noting a modlib error, my guess is that the root cause was not having libaio1 installed.

Assigned Tags

      40 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Matt Fraser
      Matt Fraser

      "Non-concise" guide is right! Wow, that's a lot of material. But, nicely done.

      Author's profile photo Bartosz Jarkowski
      Bartosz Jarkowski

      Great blog again! Full of details – deserves a like! ?

       

      Author's profile photo sushma narayan
      sushma narayan

      Hi, I couldn't install VMware tools on (Windows 10(host) and Ubuntu 14.04.4(guest) machine. Do you suggest using the virtual box instead? Thanks in advance!

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello,

      in general, VirtualBox is my preference as free Type-2 ("hosted") Hypervisor. Because it works fine on bare-metal Mac, Windows, and several Linux desktop distros. Also, it makes taking snapshots easy, which is a major advantage when using "sandpit"-boxes such as the SAP NetWeaver AS Developer Edition.

      As to your specific issue, VMWare tools on Win10 for Ubuntu 14.04, I haven't tried it and am unlikely to, so unfortunately can't suggest any workarounds. If you want any advice about Ubuntu versions to use, then my advice is "download 16.04.4 LTS, or wait  two weeks and download 18.04 LTS all shiny and new and Gnome!" 🙂

      Author's profile photo sushma narayan
      sushma narayan

      Hi Dylan,

      I installed VirtualBox and Ubuntu 16.04.4. I wasn't successful in spite of multiple attempts due to unsupported oracle/java version on Ubuntu 16.04. Now, I downloaded 18.03 Mate and still facing minor VirtualBox related issues. Will update upon successful installation. Thanks!

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello,

      ubuntu desktop comes "preinstalled" with OpenJDK java, not Oracle Java. There are plenty of easy to follow tutorials out there though, should you want to make e.g. Oracle Java8 your default java framework on Ubuntu.

      As regards Linux Mint, I have seen it now and then, but I have never felt the need to install it even as a VM. This is one of the great yet not-so-great aspects of Linux - the proliferation of distros, and there isn't enough computer-screen-time for any vaguely sociable people to investigate all possible distros 🙂

      Author's profile photo sushma narayan
      sushma narayan

      Hi Dylan,

      Thanks for the information. Currently, am stuck at below screen at the terminal. It freezes there and doesn't proceed. I have tried it twice but no success. Any suggestions?

       

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      It can take a long time to extract that data archive... depends on many factors such as how much memory your VM has, how many processors the VM got from the host, and so on. But otherwise I have no suggestions, as the install has never stalled for me there.

      Author's profile photo sushma narayan
      sushma narayan

      Hi Dylan,

      Thanks for responses. I followed specifications as mentioned in the blog. Memory is closed to 6.6 GB and 1 processor assigned. Do you suggest assigning 2 processors to VM?

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Well the more CPUs you can assign without starving the host machine, the better. (Though I have no idea if that will solve your specific issue).

      Author's profile photo Kay S
      Kay S

      Hello Sir.

      I have successfully installed sap_netweaver_as_abap_751_sp02_ase_dev_edition_part01, do I need to install all packages i.e. part01-1. part01-2 etc?

       

      also whenever I try to open SAP GUI for JAVA 7.40 REV 8,  I get the following error message and am unable to use the SAP GUI, please see attachement. Thank you for your help and advice.

       

       

      Regards, Kay S

       

      Author's profile photo Matt Fraser
      Matt Fraser

      Kay,

      You already have this question regarding JavaFX and the SAPGUI for Java in your existing thread (https://answers.sap.com/questions/472114/sapgui-for-java-740-rev-12-error.html); there's no point in raising it again in the comments of this blogpost instead. The blog is about a particular environment for installing the NetWeaver Developer Edition, so asking questions about prerequisites for installing SAPGUI in the blog comments is not really appropriate.

      Cheers,
      Matt
      SAP Community Moderator

      Author's profile photo Kay S
      Kay S

      Matt, because the installation was successful, I assumed the gentleman who has helped on this blog would kindly advise issues regarding the java problem, but in your case it is not appropriate..Why are you so strict and seem very unhelpful? If the professionals are not helping then why bother asking for help? |You and your team are trying to put me off the whole scen ario it seems. Thank you very much!

       

      Author's profile photo Matt Fraser
      Matt Fraser

      Kay,

      I'm sorry you feel this way. I am not trying to be unhelpful, but rather to steer you toward appropriate avenues for obtaining help. It really isn't appropriate to ask questions in blog comments that are not related to the subject of the blog. It's not fair to the blog author to steer the comments in unrelated directions. It is also very similar to going against rule 13 of the Rules of Engagement:

      13. Don't hijack questions. Don't post a different question in an existing question as a reply, especially if the question has not recently been active. If it is related, please create a new question and link to the old/existing question.

      It is more appropriate to ask these questions as just that, questions, in the Q&A forums, against the appropriate tags, where plenty of people are perfectly happy to help out. Indeed, several people have been trying to help you in your existing question.

      It also does not help to ask the same question multiple times. It will end up being the same people who see it anyway, so all that does is add clutter.

      If you are not happy with the advice I am presenting, you are welcome to take it up with the Global Moderation team. You can email them at scnmoderators <at> sap.com.

      Best regards,
      Matt

      Author's profile photo Kay S
      Kay S

      Matt,

      Thank you for the advice, I guess I am new to the system, and will be careful in future. I was getting no response for the JAVAFX issue, so now I am checking out the forums @oracle and openSuse forums.

      Regards, Kay S

      Author's profile photo Hery L
      Hery L

      that’s was a great blog.

      i try to follow the instruction and i got an error :

      “The installer is unable to stop the database processes for ‘NPL’. Stop the backup and database server manually.”

      do you any advice how to solve that error ?

      thanks in advance

       

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello,

      I haven't seen that error, and you didn't say where exactly you got the error, so it's difficult for me to even guess at a workaround. But usually stopsap ALL (as npladm) should be good enough. If not, you could always just do:

      sudo shutdown now

      when you boot up the VM again, then the database process should be gone.

      Author's profile photo Hery L
      Hery L

      Hi Dylan,

      the problem appear when installation progress

      cause this error, i can't finish the netweaver installation.

      Error detail that i find in installation log :

      ERROR 2018-04-12 01:05:10.783 (root/sapinst) id=ind-rel.ind-os.ind-db.assertionFailed errno=CJS-00030
      Assertion failed: The installer is unable to stop the database processes for 'NPL'. Stop the backup and database server manually.

      ERROR 2018-04-12 01:05:10.784 (root/sapinst) id=modlib.jslib.caughtException errno=MUT-03025
      Caught ESAPinstException in module call: Assertion failed: The installer is unable to stop the database processes for 'NPL'. Stop the backup and database server manually..

      ERROR 2018-04-12 01:05:12.141 (root/sapinst) id=controller.stepExecuted errno=FCO-00011
      The step syb_step_move_ase_loc with step key |offlineadjustment_dialogs|ind|ind|ind|ind|0|0|offlineadjustment_db_post|ind|ind|ind|ind|db_post|0|syb_rename_db_post_dia|ind|ind|ind|ind|syb|0|NW_SYB_DB_REN|ind|ind|ind|ind|syb2|0|syb_step_move_ase_loc was executed with status ERROR ( Last error reported by the step: Unable to set access rights of /sybase/NPL/jre64/lib/fonts/redhat_hline.ttf.).

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello again,

      no idea what is the root cause of that error. All I can suggest is googling the error, sometimes there are threads on SAP community or even on Stack Overflow about specific errors and how people have solved them.

      Or as I wrote in the blog: "If the installation fails, then you will need to look around on the various internet forums and so on to troubleshoot that, unfortunately or rather fortunately I have not been able to replicate all the failure cases I have read about on the SAP community pages and elsewhere, nor am I clever enough to invent all workarounds."

      Author's profile photo SULTAN UZ ZAMAN
      SULTAN UZ ZAMAN

      Just at the end of Software provisioning I got stuck here. See below. Please suggest what could be the reason.

      In ubuntu 18 desktop on Oracle VB

      regards

      Sultan

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello, in my blog we are not using the Software Provisioning Tool, nor are we trying to rename the system... maybe if it did, i would have tried this myself and could offer some advice... it sounds like you are practising installing "real" SAP systems, but this blog is about the Developer Edition, no S-user or SPT rights and usage required.

      The error indicates some problem with importing a license. Following the SAP blog steps, or my blog steps referencing the SAP process, you can get a license for the Developer Edition quite easily, and in the rar files that you download from SAP store, there is a remporary license included, which enables you to install the NPL system just fine.

      If you are determined to install the Developer Edition but in your own way using SPT, good luck with that!

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Or I suppose, it is possible you ran the install.sh script, with the GUI intaller option. I have never tried that, but if so, i suppose that the problem is with the license, according to the screeen output, and not with the GUI installer. Again though, it is hard for me to advise on something I have not done myself.

      Author's profile photo Stephan Elsner
      Stephan Elsner

      Thank you for the guide!

      Unfortunately I get an error during installation and googling didnt help.

      Maybe someone has an Idea?

      ERROR 2018-07-13 19:29:37.229 (root/sapinst) id=modlib.jslib.caughtException errno=MUT-03025
      Caught ESAPinstException in module call: Validator of step |offlineadjustment_dialogs|ind|ind|ind|ind|0|0|offlineadjustment_db_p
      ost|ind|ind|ind|ind|db_post|0|syb_rename_db_post_dia|ind|ind|ind|ind|syb|0|NW_SYB_DB_REN|ind|ind|ind|ind|syb2|0|syb_dialog_dbuse
      r_password reports an error:

      To solve that problem start the installation without using SAPINST_START_GUI option..

      ERROR 2018-07-13 19:29:37.282 (root/sapinst) id=controller.stepExecuted errno=FCO-00011
      The step syb_dialog_dbuser_password with step key |offlineadjustment_dialogs|ind|ind|ind|ind|0|0|offlineadjustment_db_post|ind|i
      nd|ind|ind|db_post|0|syb_rename_db_post_dia|ind|ind|ind|ind|syb|0|NW_SYB_DB_REN|ind|ind|ind|ind|syb2|0|syb_dialog_dbuser_passwor
      d was executed with status ERROR ( Last error reported by the step: Caught ESAPinstException in module call: Validator of step |
      offlineadjustment_dialogs|ind|ind|ind|ind|0|0|offlineadjustment_db_post|ind|ind|ind|ind|db_post|0|syb_rename_db_post_dia|ind|ind
      |ind|ind|syb|0|NW_SYB_DB_REN|ind|ind|ind|ind|syb2|0|syb_dialog_dbuser_password reports an error:

      To solve that problem start the installation without using SAPINST_START_GUI option..).

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello,

      sorry, i haven't encountered that error. Are you making sure to follow the advice, of starting without using the SAPINST_START_GUI option? (I assume, but don't know, that this option means you ran the install.sh script with the -g for gui option?). If that is not the issue, then i don't know what it is, sorry.

      (I am now on summer holiday, so at least for the next few weeks i won't be doing any installations).

      Author's profile photo dob kum
      dob kum

      Hi Dylan

      I am getting following exception during the installation process :

       

      ERROR 2018-10-23 15:26:42.943 (root/sapinst) id=nw.syscopy.license.delete.failed errno=CJS-30264
      Deleting SAP license failed: Deleting SAP license failed, see output of log file: /tmp/sapinst_instdir/NW73/SBC/STANDARD/dev_likey..

      ERROR 2018-10-23 15:26:43.042 (root/sapinst) id=controller.stepExecuted errno=FCO-00011
      The step DeleteLicense with step key |offlineadjustment_dialogs|ind|ind|ind|ind|0|0|import_license_adapter|ind|ind|ind|ind|import_license|0|delete_license_abap|ind|ind|ind|ind|deleteLicenseAbap|0|DeleteLicense was executed with status ERROR ( Last error reported by the step: Deleting SAP license failed, see output of log file: /tmp/sapinst_instdir/NW73/SBC/STANDARD/dev_likey.).

      Any idea what could be causing this ?

       

      Thanks

       

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello,

      Sorry, but i haven't encountered that error, so i have no idea how to solve it.

      You could try first to install on openSUSE using the SAP newbies guide. Then you would know, whether the error is something generic, or specific to ubuntu-installlation.

       

      Author's profile photo dob kum
      dob kum

      While installing this on suse, I got a totally different error(related to fonts) and hence wanted to try on Ubuntu using your guide. Tried again using snapshot but got the same error as reported above.

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Ok. Unfortunately as i have not encountered this error, so i am unable to find a workaround for it. Usually when some error occurs, i solve it by googling, stack overflow, etc, plus guessing and so on. But i can only let's say, solve the errors that hit me, not the ones that don't.

      Author's profile photo Michal Kornowicz
      Michal Kornowicz

      Hello,

      At the begging thanks for great guide!

      Unforunately after start ./install.sh i got a message "The hostname you have chosen is either configured on a loopback device or not active on this server, please check your configuration and hostname selection. If you are confident about your choice of hostname, start the install script with -s flag to skip the hostname check."

      Do you know maybe what is cause of this error?

      Thanks in advance for all info/help

       

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Hello,

      if you are using Ubuntu 18.04, then the problem can be that the install.sh script is using the deprecated command “ifconfig”. Workarounds are available in a blog I wrote on this subject:

      https://blogs.sap.com/2018/06/10/installing-netweaver-dev-edition-with-ifconfig-considered-harmful-opensuse-leap15-and-ubuntu-18.04/

      Hopefully this helps you! Easiest workaround is probably to use the -s flag though:

      sudo ./install.sh -s
      

      [Updating this answer 04.12.2018] The other thing can be, that you forgot to modify the hosts file as in the instructions above: “comment out the line mapping the Ubuntu loopback IP 127.0.1.1 to vhcalnplci” (in case your hostname is vhcalnplci).

      So in this case, you 

      sudo nano /etc/hosts

      and then you put a hash mark # as the first character on the line that relates 127.0.1.1  vhcalnplci, and then you use Ctrl-O and Ctrl-X to save and exit from nano. And then there should not be an install.sh error complaining about the loopback entry anymore.

      Author's profile photo Nikola Pavlicevic
      Nikola Pavlicevic

      This is not useful. Provide instructions for native Ubuntu install (not virtual box).

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      The title of the blog specifically refers to VM, as a standard abbreviation for "Virtual Machine". Why should a blog about installing something on a virtual machine, provide also instructions for "native" Ubuntu install?

      If you want to install something on a machine that runs Ubuntu as the host OS, well, you could probably do that, if you have reasonable Linux competencies, by modifying where needed the above instructions, setting up the networking a bit differently, and so on. Good luck with that.

      Author's profile photo Nikola Pavlicevic
      Nikola Pavlicevic

      All right, done it. The procedure is simpler and there is no need to modify /etc/hostname.

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Ok, good that you got it working also on a host OS Ubuntu machine.

      And yes, if your current hostname matches the SAP rules for allowed hostnames, then it isn't necessary to change it. (The "vhcalnplci" suggestion (from SAP themselves, not my idea), it is just convenient, because it matches the SAP rules, and so "Linux newbies" or "SAP NetWeaver Dev Edition newbies" are saved from error messages they might get choosing their own hostname).

      Author's profile photo Nikola Pavlicevic
      Nikola Pavlicevic

      I named my host “eggs” lol.

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Whatever works, is good 🙂

      Author's profile photo Nikola Pavlicevic
      Nikola Pavlicevic

      Can you also provide uninstall instructions?

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Sure: delete the virtual machine, and the installation is gone. Or, as suggested above in the blog, if you have taken a snapshot of the VM just before running install.sh, then you can revert back to the snapshot state i.e. where no installation has occurred on the VM.

      If for some reason you want to manually uninstall NetWeaver Developer Edition, then although there are no instructions e.g. in the readme.html SAP provides, and no counterpart uninstall.sh script provided by SAP, still i guess the steps would be to ensure it is not running (see “stopsap ALL” command above), so that database and app server are stopped; then, you could manually remove the files and directories, e.g.:

      $ sudo rm -rf /usr/sap /sybase /sapmnt

      Then if you also want to remove packages that you installed such as uuid, in that case you can use the apt tool as normal “sudo apt remove uuid” etc, see the man pages for apt if in doubt. And then you can revert the few configuration modifications, such as to the /etc/hosts file. And then you could remove the users that the SAP install script created for you, so typically for SID=NPL those users would be sapadm, npladm, and sybnpl (you can check from the entries in /etc/passwd file).

      Or you can google the SAP Community pages for a less ad-hoc approach. Since like most people I have only used NetWeaver Developer Edition as a VM (because that is more flexible for most use cases), I haven’t actually tried the “remove files manually” approach – but anyway “manual reverting” should work fine if you want to go that route. 

      Author's profile photo Ignacio Soriano Hernandez
      Ignacio Soriano Hernandez

      Thanks for the nice tutorial.

      Just installed it a few minutes ago with SAP ABAP Developer 7.52 SP04 on Linux Mint Debian Edition 4 (LMDE4) on macOS Catalina, VMWare Fusion 11.5.3 (allocated 20GB RAM to the VM)

      If I would not have misspelled the hostname (vhcalnplci) in my /etc/hosts I would not have needed 4 attempts and a lot of headaches 🙂

      Would be great if the ABAP system would use more than 4GB memory.

      Thank you for your work.

      Cheers

      Ignacio

       

      Author's profile photo dylan drummond
      dylan drummond
      Blog Post Author

      Good that you got it to work with that distro also.

      I suppose this particular blog will gradually become less useful as I'm not updating its contents anymore. I did update the more concise version of this blog today, to reflect that installation of SAP ABAP Developer Edition 7.52 SP04 works also on Ubuntu 20.04 LTS:

      https://blogs.sap.com/2019/10/20/concise-guide-to-install-sap-netweaver-developer-edition-on-ubuntu-vm/