Complete setup guide, step-by-step

I tried this method (Zeo vs instance) and with the additional steps recommended without success. I am still able to get Plone working but everything fails once Senaite (lims, health) eggs are added.

Might there be a step that has been missed in the instructions?
Also, does it matter if I am working on 64 or 32 bit 18.04?

1 Like

emmk,
An update to the installation instructions since release of senaite.lims 1.3
No longer need to pin cairocffi in your buildout.cfg [versions]
Now need to pin Products.AdvancedQuery =< 4 in [versions]

Can you install as standalone
$sudo ./install.sh --password=YourPassword standalone
then edit buildout.cfg to include senaite.lims in eggs and Products.AdvancedQuery =< 4 in versions
then build it out
$sudo -u plone_buildout bin/buildout
and start in foreground
$sudo bin/instance fg

It should start and listen on port 8080. If not then please post the output. My best guesses are that it can’t bind to port 8080 because a process is already running on the port or lack of permission for plone_daemon to certain files in the buildout_cache. If you can post the output we should be able to help.

1 Like

An alternate install that avoids complications caused by users/groups follows. This install will buildout and start as local user rather than root, plone_buildout, and plone_daemon. Tested on Ubuntu 18.04

Get all dependencies and packages needed

$sudo apt-get install virtualenv
$sudo apt-get install python2.7
$sudo apt-get install build-essential gcc python-dev git-core libffi-dev
$sudo apt-get install libpcre3 libpcre3-dev autoconf libtool pkg-config
$sudo apt-get install zlib1g-dev libssl-dev libexpat1-dev libxslt1.1
$sudo apt-get install gnuplot libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0
$sudo apt-get install libxslt-dev python-pil libjpeg-turbo8-dev

Go to your home folder
$cd /home/jeff

Create a python 2.7 virtual environment then activate it
$virtualenv --python=/usr/bin/python2.7 --no-site-tools /home/jeff/Plone
$cd Plone
$source bin/activate

Git Clone Senaite LIMS
$git clone https://github.com/senaite/senaite.lims.git
$cd senaite.lims
$python bootstrap.py

The buildout.cfg here has lots of parts you don’t need for a test install. For developing you will need them. I recommend making only one change. Pin [versions] Products.AdvancedQuery =< 4
Alternatively you can copy the minimal buildout.cfg at the bottom of this message.
Build it out
$bin/buildout

Start the instance
$bin/instance fg
(password is in the buildout.cfg admin:admin)

A stripped down buildout.cfg that contains just the basic parts:

[buildout]
extends = http://dist.plone.org/release/4.3.18/versions.cfg

index = https://pypi.python.org/simple/

find-links =
http://dist.plone.org/release/4.3.18
http://dist.plone.org/thirdparty

parts =
instance

[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
eggs =
Plone
Pillow
senaite.core
senaite.lims

[versions]
Products.AdvancedQuery =< 4

1 Like

Thanks, this worked for me with some minor modifications and using some of the instructions from your post that followed this. I installed this with a local user (eg. usrlcl).

  1. I set up Ubuntu 18.04 x64 as standard with a non-root admin user (usrlcl).

  2. Installed dependencies:

  • $sudo apt-get install libreadline-dev wv poppler-utils
  1. Set up Plone 4.3.18 as per instructions for standalone Plone (I guess the filenames would change depending on the Plone version being installed)
  • $wget --no-check-certificate https://launchpad.net/plone/4.3/4.3.18/+download/Plone-4.3.18-UnifiedInstaller.tgz
  • Extract the downloaded file: $tar -xf Plone-4.3.18-UnifiedInstaller.tgz
  • Go the folder containing installer script: $cd Plone-4.3.18-UnifiedInstaller
  • Run install script (can take a while): $./install.sh standalone
  • Make a note of the admin account credentials provided at the end of the installation.

To start the server:

  • $cd ~/Plone/zinstance
  • $bin/plonectl start
  • Check successful plone installation from your browser at http://your-server:8080

Stop the server:

  • $bin/plonectl stop
  1. First add senaite.lims:
  • Edit buildout.cfg: $sudo nano buildout.cfg
  • Add the python link as previous posts have indicated:
index = 
    https://pypi.python.org/simple/
  • Add senaite.lims to the eggs section
eggs =
    Plone
    Pillow
    senaite.lims
  • Add Products.AdvancedQuery =< 4 to the [versions] section.
  • Save your buildout.cfg
  • Run buildout: $sudo -u usrlcl bin/buildout
  • Restart server: $bin/plonectl start
  • Check successful Senaite LIMS installation at http://your-server:8080
  1. Add Senaite Health:
  • Stop the server: $bin/plonectl stop
  • Edit buildout.cfg: $sudo nano buildout.cfg
  • Add senaite.health to the eggs section
eggs =
    Plone
    Pillow
    senaite.lims
    senaite.health
  • Save your buildout.cfg
  • Run buildout: $sudo -u usrlcl bin/buildout
  • Restart server: $bin/plonectl start
  • Check successful Senaite Health installation at http://your-server:8080
  • Click on “Install Senaite LIMS”. Login with the admin credentials created during Plone installation.
  • Under the user menu → Site setup → Add-ons, select the Senaite Health add-on and activate it.
  • Under the user menu → Site setup → Site setup, provide site title/description details.
  • Proceed with further set up of the LIMS to fit your practice.
4 Likes

Has something else changed now? I’ve attempted to install Senaite LIMS multiple times on CentOS and Debian, and I keep getting an errors on the bin/buildout step. As far as I know, I’ve installed all of the dependancies (however, some of them have been deprecated, and I’ve had to use the newly named ones). When I perform the buildout, I get the following:

Creating directory ‘/Plone/zinstance/eggs’.
Getting distribution for ‘mr.developer==1.38’.
no previously-included directories found matching ‘mr.developer.addon’
Got mr.developer 1.38.
mr.developer: Queued ‘senaite.api’ for checkout.
mr.developer: Queued ‘senaite.core’ for checkout.
mr.developer: Queued ‘senaite.core.listing’ for checkout.
mr.developer: Queued ‘senaite.core.supermodel’ for checkout.
mr.developer: Queued ‘senaite.impress’ for checkout.
mr.developer: Cloned ‘senaite.core.supermodel’ with git using branch ‘master’ from ‘git://github.com/senaite/senaite.core.supermodel.git’.
mr.developer: Cloned ‘senaite.core.listing’ with git using branch ‘master’ from ‘git://github.com/senaite/senaite.core.listing.git’.
mr.developer: Cloned ‘senaite.impress’ with git using branch ‘master’ from ‘git://github.com/senaite/senaite.impress.git’.
mr.developer: Cloned ‘senaite.api’ with git using branch ‘master’ from ‘git://github.com/senaite/senaite.api.git’.
mr.developer: Cloned ‘senaite.core’ with git using branch ‘master’ from ‘git://github.com/senaite/senaite.core.git’.
Getting distribution for ‘zc.buildout’.
no previously-included directories found matching ‘doc’
no previously-included directories found matching ‘old-tutorial’
Got zc.buildout 2.13.2.
Getting distribution for ‘setuptools’.
warning: no previously-included files found matching ‘pyproject.toml’
warning: install_lib: ‘build/lib’ does not exist – no Python modules to install

zip_safe flag not set; analyzing archive contents…
Installing setuptools 41.2.0
Caused installation of a distribution:
UNKNOWN 0.0.0
with a different project name.
Installing setuptools 41.2.0
Caused installation of a distribution:
UNKNOWN 0.0.0
with a different version.
Got setuptools 7.0.
Getting distribution for ‘setuptools’.
warning: no previously-included files found matching ‘pyproject.toml’
warning: install_lib: ‘build/lib’ does not exist – no Python modules to install

zip_safe flag not set; analyzing archive contents…
Installing setuptools 41.2.0
Caused installation of a distribution:
UNKNOWN 0.0.0
with a different project name.
Installing setuptools 41.2.0
Caused installation of a distribution:
UNKNOWN 0.0.0
with a different version.
Got setuptools 7.0.
While:
Installing.
Checking for upgrades.
Error: There is a version conflict.
We already have: UNKNOWN 0.0.0

Plone appears to be working fine, but I do not see any Senaite available in the add-ins section. I think the warnings in this also show that there’s a problem with no build/lib existing. I don’t know how I’d fix that.

Thanks,
Mark

Please see comment here regarding the version conflict:

Could you update the installation instructions?

Hi @Mark

Add the following to the versions section:

cairocffi = 0.9.0
tinycss2 = 0.6.1
soupsieve = 1.9
backports.functools-lru-cache = 1.5

The cairocffi and tinycss2 versions should have been taken care of already in the code. The last two you definately need.

We also updated the installation instructions on https://www.senaite.com/docs/installation

1 Like

What is this for? im new on this

Cant find this ???!!!

Hola @serviciosrali19,

Este es un foro público donde usuarios de SENAITE, profesionales del sector y desarrolladores del LIMS exponen dudas de forma coherente y ordenada con el fin de obtener una solución gracias a la colaboración voluntaria de otros profesionales.

El objetivo final del foro es crear contenido de calidad de forma respetuosa, no es una plataforma de servicio técnico. Si buscas soporte profesional, siempre puedes contactar con un proveedor.

Estas tres últimas aportaciones están lejos de acometer el objetivo del foro, puedes echar un ojo a las directrices de la comunidad: https://community.senaite.org/t/faq-guidelines/5

Saludos,

1 Like

Updated 8/28/21 for Senaite 2.0

This is the fastest, simplest way to install Senaite LIMS on Ubuntu 18.04 server for development and testing.

We will install Plone 5 and Senaite 2 in the home folder under the local user name. Start here for testing and development.

Get all dependencies and packages needed

$sudo apt-get install virtualenv
$sudo apt-get install python2.7
$sudo apt-get install build-essential gcc python-dev git-core libffi-dev
$sudo apt-get install libpcre3 libpcre3-dev autoconf libtool pkg-config
$sudo apt-get install zlib1g-dev libssl-dev libexpat1-dev libxslt1.1
$sudo apt-get install gnuplot libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0
$sudo apt-get install libxslt-dev python-pil libjpeg-turbo8-dev
$sudo apt-get install git

You may need more packages depending on what is previously installed on your server.

Make a folder for LIMS in your home directory:
$mkdir ~/LIMS

Create a python 2.7 virtual environment then activate it
$virtualenv --python=/usr/bin/python2.7 --no-site-packages ~/LIMS
$cd ~/LIMS
$source bin/activate

Clone Senaite LIMS verson 2.0 from GitHub:

$git clone https://github.com/senaite/senaite.lims.git
$cd senaite.lims

Make sure you have PIP and wheel installed. zc.buildout and setuptools
$pip install wheel
$pip install zc.buildout==2.13.4
$pip install setuptools==44.1.1

Download bootstrap.py to your senaite.lims directory, then bootstrap for zc.buildout:

$wget https://github.com/senaite/senaite.lims/blob/1.x/bootstrap.py

$python bootstrap.py

Open buildout.cfg with your favorite text editor and change the pinned version of zc.buildout to the version you have in this virtual environment (zc.buildout = 2.13.4). That’s at the bottom in [versions] section. You may also choose to change the default admin password now. Find the section
plone-user = admin:admin
And change to
admin:YourAdministratorPassword

Save any changes to buildout.cfg.

OK, Here is the big moment. Time for buildout.
From your senaite.lims directory

$bin/buildout

This will take a while. There will be some warnings and plenty of messages for the buildout log. Hopefully no errors. If you get errors then post them here and the community will help diagnose problem.

If this completes without error then your ready to start working on Senaite LIMS.

Start the instance in foreground
$bin/instance fg

Wait for Zope/Plone/Senaite to start up and listen on port 8080 (or other port you set in buildout.cfg). Initialization will take a couple of minutes. Watch for error messages. Watch for listening and ready to take requests.

If all goes well, open a web browser on same machine and go to URL localhost:8080

Follow Senaite LIMS instructions for configuration.

3 Likes

For components like senaite.health and senaite.instruments, add them to your buildout.cfg file in the eggs section. There’s an example senaite.health buildout file here:

Please help! The following error occurred during setup.
$ python bootstrap.py
File “bootstrap.py”, line 7

^
SyntaxError: invalid syntax

Which boostrap.py are you using?
https://github.com/senaite/senaite.lims/blob/1.x/bootstrap.py

Line 7 of this bootstrap.py is a comment line.
Also, confirm you have zc.buildout installed before running bootstrap.py

I’m sure it works as you say, but it still prompts the same error. Also found that I ignore this step to operate senaite LIMS seems to be able to run

I’m sure it works as you say but it still prompts the same error.Can you provide your bootstrap.py?

I’ve had the same issue as @wits.


The resolution of this is below

It appears as if the wget command has downloaded an HTML file in stead of the actual bootstrap.py file. If I enter the url (https://github.com/senaite/senaite.lims/blob/1.x/bootstrap.py) into a browser I can get to the file, but I think we need to specify the raw url. Will try that now.