documentation:2.1:installrpm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

documentation:2.1:installrpm [2019/01/28 12:02] (current)
Line 1: Line 1:
 +====== Installation on Red Hat/CentOS ======
  
 +<note important>LL::NG requires at least Red Hat/CentOS 7</note>
 +
 +===== Organization =====
 +
 +LemonLDAP::NG provides packages for Red Hat/Centos 7:
 +  * lemonldap-ng: metapackage, contains no file but dependencies on other packages
 +  * lemonldap-ng-doc: contains HTML documentation and project docs (README, etc.)
 +  * lemonldap-ng-conf: contains default configuration (DNS domain: example.com)
 +  * lemonldap-ng-test: contains sample CGI test page
 +  * lemonldap-ng-handler: contains Apache Handler implementation (agent)
 +  * lemonldap-ng-manager: contains administration interface and session explorer
 +  * lemonldap-ng-portal: contains authentication portal and menu
 +  * lemonldap-ng-fastcgi-server: FastCGI server needed to use Nginx
 +  * lemonldap-ng-nginx: contains Nginx configuration and dependencies
 +  * lemonldap-ng-uwsgi-app: contains Uwsgi application
 +  * perl-Lemonldap-NG-Common: CPAN - Shared modules
 +  * perl-Lemonldap-NG-Handler: CPAN - Handler modules
 +  * perl-Lemonldap-NG-Manager: CPAN - Manager modules
 +  * perl-Lemonldap-NG-Portal: CPAN - Portal modules
 +
 +<note warning>
 +The package lemonldap-ng-nginx requires the nginx community package. If you use openrestry or Nginx plus, you must ignore this dependency. To do this, download the package and install it with:
 +<code>
 +rpm --nodeps -i lemonldap-ng-nginx*.rpm
 +</code>
 +</note>
 +
 +===== Get the packages =====
 +
 +==== YUM repository ====
 +
 +You can add this YUM repository to get recent packages:
 +<code>
 +vi /etc/yum.repos.d/lemonldap-ng.repo
 +</code>
 +
 +<file>
 +[lemonldap-ng]
 +name=LemonLDAP::NG packages
 +baseurl=https://lemonldap-ng.org/redhat/stable/$releasever/noarch
 +enabled=1
 +gpgcheck=1
 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OW2
 +</file>
 +
 +<note tip>Replace ''stable'' by ''2.0'' to avoid upgrade to next major version</note>
 +
 +You may also need some extras packages, available here:
 +<file>
 +[lemonldap-ng-extras]
 +name=LemonLDAP::NG extra packages
 +baseurl=https://lemonldap-ng.org/redhat/extras/$releasever
 +enabled=1
 +gpgcheck=1
 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OW2
 +</file>
 +
 +Run this to update packages cache:
 +<code>
 +yum update
 +</code>
 +
 +<note warning>
 +You must also install the EPEL repository for non-core dependencies. See [[prereq#yum|prerequisites and dependencies]] chapter for more.
 +</note>
 +
 +==== Manual download ====
 +
 +RPMs are available on the [[:download|Download page]].
 +
 +===== Package GPG signature =====
 +
 +The GPG key can be downloaded here: {{:rpm-gpg-key-ow2|}}
 +
 +Install it to trust RPMs:
 +<code>
 +curl https://lemonldap-ng.org/_media/rpm-gpg-key-ow2 > /etc/pki/rpm-gpg/RPM-GPG-KEY-OW2
 +</code>
 +
 +===== Install packages =====
 +
 +==== With YUM ====
 +
 +If the packages are stored in a yum repository:
 +<code shell>
 +yum install lemonldap-ng
 +</code>
 +
 +You can also use yum on local RPMs file:
 +<code>
 +yum localinstall lemonldap-ng-* perl-Lemonldap-NG-*
 +</code>
 +
 +==== With RPM ====
 +
 +Before installing the packages, install all [[prereq|dependencies]].
 +
 +You have then to install all the downloaded packages:
 +<code>
 +rpm -Uvh lemonldap-ng-* perl-Lemonldap-NG-*
 +</code>
 +
 +
 +<note tip>
 +You can choose to install only one component by choosing the package ''lemonldap-ng-portal'', ''lemonldap-ng-handler'' or ''lemonldap-ng-manager''.
 +
 +Install the package ''lemonldap-ng-conf'' on all server which contains one of those packages.
 +</note>
 +
 +===== First configuration steps =====
 +
 +==== Change default DNS domain ====
 +
 +By default, DNS domain is ''example.com''. You can change it quick with a sed command. For example, we change it to ''ow2.org'':
 +
 +<code shell>
 +sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.json /etc/nginx/conf.d/* /etc/httpd/conf.d/*
 +</code>
 +
 +
 +
 +==== Upgrade ====
 +
 +If you upgraded LL::NG, check all [[upgrade|upgrade notes]].
 +
 +==== DNS ====
 +
 +Configure your DNS server to resolve names with your server IP:
 +  * auth.<your domain>: main portal, must be public
 +  * manager.<your domain>: manager, only for adminsitrators
 +  * test1.<your domain>, test2.<your domain>: sample applications
 +
 +Follow the [[start#configuration|next steps]]
 +
 +===== File location =====
 +
 +  * Configuration is in /etc/lemonldap-ng
 +  * LemonLDAP::NG configuration (edited by the Manager) is in /var/lib/lemonldap-ng/conf/
 +  * All Perl modules are in the VENDOR perl directory 
 +  * All Perl scripts/pages are in /var/lib/lemonldap-ng/
 +  * All static content (examples, CSS, images, etc.) is in /usr/share/lemonldap-ng/
 +
 +
 +===== Build your packages =====
 +
 +If you need it, you can rebuild RPMs:
 +  * Install rpm-build package
 +  * Install all build dependencies (see BuildRequires in lemonldap-ng.spec)
 +  * Put LemonLDAP::NG tarball in %_topdir/SOURCES
 +  * Edit ~/.rpmmacros and set your build parameters:
 +<file>
 +%_topdir /home/user/build
 +%dist .el7
 +%rhel 7
 +</file>
 +  * Go to %_topdir
 +  * Build:
 +<code>
 +rpmbuild -ta SOURCES/lemonldap-ng-VERSION.tar.gz
 +</code>