[HowTo] Install IBM Domino in Exagear

[HowTo] Install IBM Domino in Exagear

Postby bstone108 » Thu Jul 23, 2015 10:53 am

IBM domino install instructions for raspberry pi.

Step one, buy domino. a single user license can be had for just under 100$ a year last I checked.

step two, buy a pi 2. you MUST use a pi 2 because this requires neon support which isn't supported on arm 6.

step three. get exagear for the pi 2. you can also use the armv7 version, only real difference between them is provided images. but the pi 2 version is a few dollars cheaper, and debian image works best on rasbian anyway, and these instructions are being provided for debian.

once the above prep steps are done, moving on!

my pi setup is as follows, I got a raspberry pi 2 with a picoups hat and a 3000mah battery which is good for about 8 hours of backup power. follow the instructions to setup a picoups if you want this option. it's pretty nice to have actually as now your pi has built in hardware clock, few handy programmable buttons, solder points for a beeper, a cooling fan, and an ir port... as well as having 8 hours of emergency backup power. nice thing is it doesn't require any extra power. everything runs off the 5v power pins on your gpio header. be sure to complete the setup in rasbian or none of the features will work.

now for the fun part. I'm using a 128 gig microsd card but any size will do. I recomend biggest one possible even if you don't need the space to help reduce wear on the card.

install rasbian. you can use noobs or just dd an image. your choice. do any initial configuration you need to prep the os, such as above picoups setup if you use one. don't forget to expand file system, give it a hostname other than pi, and so on. since I'm using it as a mail server obviously it's hostname for me was mail. but domino has many other uses beyond just email so name it appropriately for this servers purpose.

install exagear. follow the instructions included with it for help. no special steps needed.

download the 32bit intel linux version of domino. sadly there's no arm build, if there was we wouldn't need exagear! I know many of you are going to say 'but domino is written in java' well you're mostly right. it has some platform specific libraries and binaries, and ships with ibm java for that platform. so sadly, even though a good chunk is written in java, parts are still platform specific, in this case i386.

now comes the tricky part. installing. rasberry pi doesn't have enough ram to do major complicated stuff in domino, but for the most part a gig is plenty. my recomendation would be to add a 1-2 gig swap file. rasbian has a 100 meg swap file by default. for those who know swapping to an sd card eats up your write cycles fast! don't panic! in my experience, running domino usually leaves your swap file empty and unused. so on an average day your swap file usage will be 0, so no destruction of your card! this is just simply emergency swap space for those omg the database broke and we need more memory for integrity check moments. although usually a gig is still more than enough ram. so, onto the change. rasbian uses dphys-swapfile which makes this super easy. sudo nano /etc/dphys-swapfile and change it to 1024. rasbian also has swappiness set to 1 by default [in a differant file] which means it'll only swap when memory is almost completely full which it rarely will be unless this is a major huge domino server with hundreds of users or more. reboot so this takes effect.

continuing tricky part, sudo adduser notes, give it a password, setup account data which you can leave completely blank. sudo su then type exagear to start the exagear environment and install domino per normal however when asked if you want to configure server, remotely configure [start in listen mode] or configure manually, choose manually. we don't want server to be auto started yet because there's issues with running installer under exagear. tip, I highly recomend you let domino install to it's default paths because the autostart script I'm going to provide will take that into account! if you use another path you're on your own. most will want to try to sudo after starting exagear... it breaks. start exagear as root. sudo exagear is ok but you're going to need root again when install is finished so might as well hang out as root. Warning! install takes ages! we're running java under a binary translator on an arm processor. it won't be quick! at times you'll think it's locked up but it's not, just leave it be and come back in an hour.

things broken.. permissions on the data folder, and the domino install folder don't get set properly for some mysterious reason when intalled under exagear. and attempting to change them while under exagear doesn't work well most of the time. you have two options to resolve this. exit exagear for both and switch to root if you're not already, sudo su. alternatively you can just prefix all commands with sudo. when running in exagear you'll find domino under /opt/ibm. however when not in exagear shell it's at /opt/exagear/images/debian-7/opt/ibm. make sure path is under /opt/exagear or else you're still in exagear environment and the chmod won't work right. now chmod -R 777 *. alternatively you can change owner to notes via chown -R notes,notes *. depending on your setup you might want either or. as mentioned above, permissions don't get set properly by the installer and attempting to run it as notes user will fail. also be sure to do this to the /local/notesdata folder. which when not in exagear will be under /opt/exagear/images/debian-7/ again. don't forget to set owner/perms of the folder itself or domino won't be able to make new files in it.

at this point launch exagear again, once again as root. we have another issue to fix. for some mysterious reason simlinks to this file don't seem to work. libnotes.so. no matter where you link it to the various lib folders it just refuses to work. it might be possible to link it from outside exagear, but the following solution works better in my opinion and is cleaner. nano /etc/ld.so.conf and in this file add a new line at bottom [don't delete anything in file, just add new line] and in that line type the path for your domino install from exagears point of view. should look like /opt/ibm/domino/notes/latest/linux. be sure to use the latest simlink because it'll automatically be updated on upgrades. next save the file and run ldconfig. this will update the dynamic library linker so it'll find the libraries hidden away in the domino folder. you'll see a few errors cause some of the files it see's aren't usable libraries, it's safe to ignore them. a better solution would be to link this file to the right place, but all my attempts haven't succeeded thus far.

finally, because changing users doesn't work well under exagear, exit once again. you should still be logged in as root. if you are, su notes. if you're not, su notes and enter notes password. run exagear again. cd /local/notesdata then run the domino server using /opt/ibm/domino/notes/latest/linux/server -listen and then use the remote server setup tool on your computer to setup the server normally. everything should work fine.

I will provide a nice startup script once I get one working. if anyone else wants to contribute one that'll be great too. placing startup script is last thing you should do in case you need to reboot during the setup.

notes... as I said, using a small to medium user environment a gig of ram is more than enough to run without needing swap space. there are a few rare operations domino might do that requires more than a gig of ram if you're doing some crazy stuff but generally that's all you need. it's perfectly safe to leave the swap space from above step and I recommend you do so as it won't use up your sd cards write limit when it's not even being used, but it will still be available for those moments when the memory boost is needed which are extremely rare in a small to medium environment. clustering servers needs more ram, this might be ok for a small cluster without using too much memory, but making a pi part of a large cluster is a very bad idea. some things you can do to increase lifespan of your sd card is to set noatime and disable journalling, which I don't recommend that last part as it'll help protect your databases from power failure and file system faults. if you do disable journalling I highly recommend using the pi for a local replica only since it'll stay in sync with a master server.

domino will preform slowly on the pi, but not horribly so. it should work rather well, it does for me. for a small server it's quite effective. some uses I have found for this setup is large corporate networks where vpn's and network congestion can slow down access to important databases. you can instead setup a pi as a local replica of their most commonly used databases right in the local office so traffic need not be delayed by net congestion or outages. while it's not as fast as a fancy server, it's much faster than accessing a remote server so actually it ends up being quite an improvement! nice part? once setup if you just dd the image from the sd card, if your server fails just bring a new sd card and after a few hours of replicating you're back up!

pro's. a small domino server not much bigger than a deck of cards, with built in 8 hour backup battery if you use picoups suggestion above. runs on sd card so reimaging after disaster is as simple as eject old card, pop in new one, reboot. power savings is incredible as it runs on a cellphone charger. dirt cheap, entire setup minus costs of licenses and sd card is about 80$ usd.

cons, unless you use external usb storage, which is a pretty good idea to do, you're limited to the size of your sd card. but if you setup your replication jobs cleverly a 128 gig card is way more than enough. local email databases for everyone in office if you keep qouta's reasonable. for big databases where you want to keep entire history, but locally only need last 6 months of data, sync only the 6 months. rest can live happily on master server. but if you add external hard drive you can store much more obviously, just be sure to update path's. slower than a normal server. yes, it's an arm processor.. it's going to be slower than having a full size server in your office, but it should still be plenty fast enough that no one notices. especially if all your users keep local replica's of commonly used stuff on their computer such as their email. think of it as setting up a local replica hub so instead of 50 users all trying to sync same data through your corporate vpn to the main server all at same time, you instead have a single server replicating through vpn/corporate network, and everyone just replicates with it, cutting your bandwidth usage down to 1/50th. and I'm sure there's a few other cons as well.

if you think of the advantages and disadvantages of such a cheap local replica hub, or using it as a full domino server for small scale and development usage, you might find this being a very cheap and clever solution to expensive servers since in many cases the little arm board should be all you need if it's setup right.

I'm still working on tracking down any bugs, and writing a good start script that'll handle the exagear environment, but comments, suggestions and bug reports are welcome!
bstone108
 
Posts: 2
Joined: Thu Jul 23, 2015 10:52 am

Re: [HowTo] Install IBM Domino in Exagear

Postby bstone108 » Sun Aug 09, 2015 11:55 am

problems I still haven't resolved and am working on as time permits. contributors welcome to help.

while got most of the bugs with install worked out, I'm still having trouble getting the program to launch. it starts then exits
still need start script once above problem is fixed.
bstone108
 
Posts: 2
Joined: Thu Jul 23, 2015 10:52 am

Re: [HowTo] Install IBM Domino in Exagear

Postby tkoller » Tue Jan 12, 2016 8:36 am

I have been installing exagear and the domino server as per instruction. However the server does not start. The error is: error while loading shared libraries: libnotes.so: cannot open shared object file: No such file or directory.

However, after starting exagear there is a file ld.so.conf containing the following:
include /etc/ld.so.conf.d/*.conf
/opt/ibm/domino/notes/latest/linux

Note:The path set for the server is the actual proper path produced by the installation.

Is there an idea what is going wrong?
Thank you for your support

Toni
tkoller
 
Posts: 1
Joined: Tue Jan 12, 2016 8:25 am


Return to ExaGear Desktop

Who is online

Users browsing this forum: No registered users and 2 guests

cron