Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
dylan-drummond
Contributor
The steps  below should help you, if you want to install SAP NetWeaver Developer Edition on an Ubuntu VM (Virtual Machine). These steps have worked for both Ubuntu server and Ubuntu desktop releases, since 16.04 LTS up till the most recent release for when this blog was last updated: Ubuntu 23.04 LTS.

[For the somewhat out-of-date non-concise guide, which covers Ubuntu 1604 LTS up to Ubuntu 1910, and has lots of screenshots and too much detailed information for most people, see this blog:

https://blogs.sap.com/2018/04/05/installing-sap-netweaver-developer-edition-on-an-ubuntu-desktop-vm-... ]

Note there is no Helpdesk for this blog, so although I try to answer usefully, you need to be prepared to do the debugging and fixing activities yourself 🙂 .

[UPDATE (June 2021): for installing on Ubuntu, you will likely find the following blog useful, necessary even, 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-distro...

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

Ok let's get started..,

 

Get the rar files for the latest version of SAP NetWeaver Developer Edition, and get Ubuntu.


Go to the SAP site:

https://developers.sap.com/trials-downloads.html

Login using your P-user or S-user or SAP Universal ID, or create a P-user in case you do not already have such.

Download the relevant set of .rar files, which are under a heading such as "SAP NetWeaver AS ABAP Developer Edition 7.52 SP04":


 

Extract the files into a directory on host machine (i.e. the machine which is hosting the Ubuntu guest VM), e.g  to /home/myuser/nw752

On macOS host, a good extractor for RAR files is The Unarchiver:
https://theunarchiver.com/

On Ubuntu host:
sudo apt install rar unrar

On SUSE hosts (openSUSE and SLES):
sudo zypper in unrar

On other Linux distros as host machine: no idea (haven't tried).

On Windows hosts: 7zip worked for me back in the days when I had a Windows machine.

 

Next, download the .iso installer file for the latest Ubuntu desktop or server release:

https://ubuntu.com/desktop

https://ubuntu.com/server

 

Download and install a hypervisor, create a new VM.


VirtualBox and/or VMware Workstation Player / Fusion Pro. (If you want to use KVM, or ESXi, or whatever, then good luck with that, of course those should also be usable since their purpose is also to allow you to run VMs).

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

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

Create a new Ubuntu VM. Don't use any "Easy Install" options, instead take care to specify the configurations to be optimal for the later installation of the SAP system. Use US-English (default) as the VM language, though obviously you will want to adjust the keyboard input source to match your host machine's keyboard.

Hard Disk: at least 100 GB.

Memory: Recommended is at least 6144 MB (6 GB), but if your host can cope (i.e. host itself has enough memory to be able to run), then 8192 MB (8 GB) is better. Less than 6 GB, e.g. 5120 MB, it can work, but also the install can fail easily.

Processors: I usually assign about one quarter of the host machines processors. So if host has 8 processors available, I assign 2. (Assigning too many processors is usually counterproductive, in my experience).

Networking: NAT is easiest. (Bridged is possible, if you have the right kind of host adapters and the right Hypervisor and you can assign a static IP to your VM so that on your network it is not getting whatever your local DHCP server decides each time it joins the network).

Partition: use default, most of the disk other than boot is on ext4 I think. No LVM needed - in fact do not use LVM, as it will tend to reduce the practically available disk space and probably prevent installation from succeeding. So make sure LVM option is unchecked.

Hostname (of the new VM, specify during Ubuntu install procedure): vhcalnplci ... you can assign a different host name, but then later when your Fiori apps from Launchpad don't work, and your JCo / PyRFC client connections to RFC don't work, then you will remember that it is best just to call it vhcalnplci next time you do this SAP on Ubuntu procedure.

SSH: Choose the option to install OpenSSH Server. Saves you from having to do that later, since ssh is very convenient way to interact with a server. If you skipped this option and later realise you want to use ssh and scp commands for remote interaction, then:
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

 

Prepare the Ubuntu VM for the SAP install script.


Once you have installed the VM and logged in, open a Terminal (unless you are in Ubuntu server, in which case you already have a Terminal 😀). Commands to run:
sudo apt update
sudo apt upgrade

sudo ufw status #firewall, should be inactive; if active, deactivate it:
sudo ufw disable

sudo apt install csh #the C-shell, for install and for npladm user
sudo apt install tcsh #optional (easier for npladm)

sudo apt search libaio #we look for the generic shared library
sudo apt install libaio1 #in case libaio1 was the generic shared library

sudo apt install uuid #this is needed for generating unique id numbers.

When installed, uuid 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, leaving this as a fun option for you to investigate.

Check that LANG=”en_US.UTF-8”, that is the default and is needed by the NW-installer as OS language.
cat /etc/default/locale

If something else, try changing and reboot, e.g. sudo nano /etc/default/locale , reboot, recheck.
ip addr show   #we need to know the IPv4 address of the VM

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 nano /etc/hosts

 



 

If you have plenty of disk space, the easiest solution to have the installer files, is to copy them from your host machine to the Linux VM guest. For example let's say your host is accessible from the guest on 172.16.106.1, and you have extracted all files into a folder called nw752 then the scp command in your Ubuntu guest VM to make a new folder called nw752 in your guest's current directory, would be:
scp -r hostuser@172.16.106.1:/path/to/nw752 .

[Note the lack of slash after "nw752" to ensure a folder called that is created instead of just copying the files and subdfolders, and the dot character at the end to say "into this current directory].

Now we are close to starting install of SAP system, but first a few more commands... since quite a lot of stuff including apt upgrade has been run, we should reboot to make sure all new stuff has been picked up:
sudo reboot now

(Good idea after reboot to check using "ip" command that your IP address has not changed!).

Start up the uuidd (the 2nd “d” probably refers to the “daemon” of uuid).
sudo systemctl start uuidd
systemctl status uuidd #should be up and running

 

You may want to take a snapshot of your VM now, then if install fails you can rollback. How to do that, depends on your hypervisor, see the relevant documentation.

Now you elevate yourself to be sudoer :
sudo -i

Change directory to the directory where the shared folder of SAP Installer files is mounted.
ls -l

Probably the file called install.sh is not yet executable, if not then make it executable:
chmod +x install.sh

If you are following the blog mentioned above with a modified copy of install.sh for working around issues with kernel version 5.4 or higher then replace "install.sh" with whatever your custom script is called, e.g. "zimshalabimstall.sh"
chomd +x zimshalabimstall.sh

 

Now we can install the SAP system.


Hey ho, let's go:
./install.sh

or if using a custom script called "zimshalabimstall.sh", then
./zimshalabimstall.sh

You need to say "yes" to the agreement question (to escape from the legal blurb text, you can try 'q' or even ^C which doesn't for some reason end processing but does allow you to get past the legal blurb), and then provide a master password which will be used e.g. by the soon to be created Ubuntu users including one called "npladm".

 

In my experience this script can then run for between 25 minutes and 90 minutes, depending on various factors. If the installation fails, then I'm sorry you need to work out yourself what went wrong and how to fix things, this blog is really not backed up by a Helpdesk. If you get the “Installation of NPL successful” message, then congratulations.

So if installation was successful, next step is to become the SAP OS user “npladm”, command:
su -l npladm

Initially (via the install script) npladm is using the csh shell; on Ubuntu this does not offer previous commands when pressing the <up>-arrow. If you want this useful "scroll back through previous commands" feature, you should switch npladm to use the tcsh shell instead (assuming you installed it). So to do this, as npladm, run the command:
chsh

Enter your (npladm) password when prompted, then when prompted for which login shell to use, type in:
/bin/tcsh

Now logout of npladm (e.g. type "exit" and hit <Enter>), and then log back in, from now on npladm is using the tcsh-shell.

Now let's execute the basic “healthcheck command” of sapcontrol utility, for the main instance (which is number: 00).
sapcontrol -nr 00 -function GetProcessList

This should show the 4 main processes (disp+work - Dispatcher, igswd_mt - IGS Watchdog, gwrd - Gateway; icman - ICM), and they should all have status "GREEN, Running". If e.g. gwrd still "YELLOW, Starting" then rerun the sapcontrol query a few times, see if it is just a bit slow and getting started up.

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

startsap ALL

Although many people use the Hypervisor's "Suspend (Save State)" features, myself I usually stopsap ALL and shut down the VM, when I am finished using the SAP instance. But it is of course really up to you how you manage your VM and your SAP instance. If you do shutdown your VM, then after reboot, you probably need to always as first task, rerun the command:
sudo systemctl start uuidd

(Sometimes after rebooting I have forgotten to start uuidd, I suppose it may or may not corrupt your SAP system, though so far no crashes or glitches noticed after forgetfulness  🙂 ).

If you are using VirtualBox and NAT, then you can use Port Forwarding option to set up connectivity from host to Ubuntu VM for e.g. the SAPGUI protocol, RFC, HTTP, and HTTPS. See non-concise blog for an example. Other hypervisors, it should "just work"... anyway this is up to you to work out.

The non-concise blog also does not explain how to set up SAPGUI client for Windows, nor for Unix/Linux (Java). Once you have a SAPGUI client installed, then the connection details are:

Application server: <IPv4 address of Ubuntu VM OR host machine's hosts file name e.g vhcalnplci>

System ID: NPL

Instance Number: 00

In SAPGUI for Java in expert mode, you might have a connection string that looks like:

conn=/H/172.16.106.135/S/3200

where in this example Ubuntu VM is on NAT network at 172.16.106.135; 3200 is the port number where SAP instance 00 is listening for SAPGUI connections

Once you have worked out how to connect over SAPGUI, then you need to get a new (free) SAP license, to run your new SAP instance properly. 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

You need the one for NPL on Sybase ASE. Fill in the form and a license file is generated and downloaded to your machine.

The “NPL.txt” file that you just downloaded, 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. Password is the same as for the SAP* user.
Labels in this area