lemonldap-ng/doc/pages/documentation/current/installrpm.html
2019-02-12 17:32:02 +01:00

322 lines
13 KiB
HTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>documentation:2.0:installrpm</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,installrpm"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="installrpm.html"/>
<link rel="contents" href="installrpm.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else -->
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<!-- //endif -->
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:installrpm","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script>
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script>
<!-- //endif -->
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.js"></script>
<!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Table of Contents</h3>
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#organization">Organization</a></div></li>
<li class="level1"><div class="li"><a href="#get_the_packages">Get the packages</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#yum_repository">YUM repository</a></div></li>
<li class="level2"><div class="li"><a href="#manual_download">Manual download</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#package_gpg_signature">Package GPG signature</a></div></li>
<li class="level1"><div class="li"><a href="#install_packages">Install packages</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#with_yum">With YUM</a></div></li>
<li class="level2"><div class="li"><a href="#with_rpm">With RPM</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#first_configuration_steps">First configuration steps</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#change_default_dns_domain">Change default DNS domain</a></div></li>
<li class="level2"><div class="li"><a href="#upgrade">Upgrade</a></div></li>
<li class="level2"><div class="li"><a href="#dns">DNS</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#file_location">File location</a></div></li>
<li class="level1"><div class="li"><a href="#build_your_packages">Build your packages</a></div></li>
</ul>
</div>
</div>
<!-- TOC END -->
<h1 class="sectionedit1" id="installation_on_red_hatcentos">Installation on Red Hat/CentOS</h1>
<div class="level1">
<div class="noteimportant"><abbr title="LemonLDAP::NG">LL::NG</abbr> requires at least Red Hat/CentOS 7
</div>
</div>
<!-- EDIT1 SECTION "Installation on Red Hat/CentOS" [1-112] -->
<h2 class="sectionedit2" id="organization">Organization</h2>
<div class="level2">
<p>
LemonLDAP::NG provides packages for Red Hat/Centos 7:
</p>
<ul>
<li class="level1"><div class="li"> lemonldap-ng: metapackage, contains no file but dependencies on other packages</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-doc: contains <abbr title="HyperText Markup Language">HTML</abbr> documentation and project docs (README, etc.)</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-conf: contains default configuration (<abbr title="Domain Name System">DNS</abbr> domain: example.com)</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-test: contains sample CGI test page</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-handler: contains Apache Handler implementation (agent)</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-manager: contains administration interface and session explorer</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-portal: contains authentication portal and menu</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-fastcgi-server: FastCGI server needed to use Nginx</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-nginx: contains Nginx configuration and dependencies</div>
</li>
<li class="level1"><div class="li"> lemonldap-ng-uwsgi-app: contains Uwsgi application</div>
</li>
<li class="level1"><div class="li"> perl-Lemonldap-NG-Common: CPAN - Shared modules</div>
</li>
<li class="level1"><div class="li"> perl-Lemonldap-NG-Handler: CPAN - Handler modules</div>
</li>
<li class="level1"><div class="li"> perl-Lemonldap-NG-Manager: CPAN - Manager modules</div>
</li>
<li class="level1"><div class="li"> perl-Lemonldap-NG-Portal: CPAN - Portal modules</div>
</li>
</ul>
<div class="notewarning">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:
<pre class="code">rpm --nodeps -i lemonldap-ng-nginx*.rpm</pre>
</div>
</div>
<!-- EDIT2 SECTION "Organization" [113-1387] -->
<h2 class="sectionedit3" id="get_the_packages">Get the packages</h2>
<div class="level2">
</div>
<!-- EDIT3 SECTION "Get the packages" [1388-1417] -->
<h3 class="sectionedit4" id="yum_repository">YUM repository</h3>
<div class="level3">
<p>
You can add this YUM repository to get recent packages:
</p>
<pre class="code">vi /etc/yum.repos.d/lemonldap-ng.repo</pre>
<pre class="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</pre>
<div class="notetip">Replace <code>stable</code> by <code>2.0</code> to avoid upgrade to next major version
</div>
<p>
You may also need some extras packages, available here:
</p>
<pre class="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</pre>
<p>
Run this to update packages cache:
</p>
<pre class="code">yum update</pre>
<div class="notewarning">You must also install the EPEL repository for non-core dependencies. See <a href="prereq.html#yum" class="wikilink1" title="documentation:2.0:prereq">prerequisites and dependencies</a> chapter for more.
</div>
</div>
<!-- EDIT4 SECTION "YUM repository" [1418-2311] -->
<h3 class="sectionedit5" id="manual_download">Manual download</h3>
<div class="level3">
<p>
RPMs are available on the <a href="download.html" class="wikilink1" title="download">Download page</a>.
</p>
</div>
<!-- EDIT5 SECTION "Manual download" [2312-2394] -->
<h2 class="sectionedit6" id="package_gpg_signature">Package GPG signature</h2>
<div class="level2">
<p>
The GPG key can be downloaded here: <a href="rpm-gpg-key-ow2" class="media mediafile mf_" title="rpm-gpg-key-ow2 (1.7 KB)">rpm-gpg-key-ow2</a>
</p>
<p>
Install it to trust RPMs:
</p>
<pre class="code">curl https://lemonldap-ng.org/_media/rpm-gpg-key-ow2 &gt; /etc/pki/rpm-gpg/RPM-GPG-KEY-OW2</pre>
</div>
<!-- EDIT6 SECTION "Package GPG signature" [2395-2618] -->
<h2 class="sectionedit7" id="install_packages">Install packages</h2>
<div class="level2">
</div>
<!-- EDIT7 SECTION "Install packages" [2619-2648] -->
<h3 class="sectionedit8" id="with_yum">With YUM</h3>
<div class="level3">
<p>
If the packages are stored in a yum repository:
</p>
<pre class="code shell">yum install lemonldap-ng</pre>
<p>
You can also use yum on local RPMs file:
</p>
<pre class="code">yum localinstall lemonldap-ng-* perl-Lemonldap-NG-*</pre>
</div>
<!-- EDIT8 SECTION "With YUM" [2649-2872] -->
<h3 class="sectionedit9" id="with_rpm">With RPM</h3>
<div class="level3">
<p>
Before installing the packages, install all <a href="prereq.html" class="wikilink1" title="documentation:2.0:prereq">dependencies</a>.
</p>
<p>
You have then to install all the downloaded packages:
</p>
<pre class="code">rpm -Uvh lemonldap-ng-* perl-Lemonldap-NG-*</pre>
<div class="notetip">You can choose to install only one component by choosing the package <code>lemonldap-ng-portal</code>, <code>lemonldap-ng-handler</code> or <code>lemonldap-ng-manager</code>.
<p>
Install the package <code>lemonldap-ng-conf</code> on all server which contains one of those packages.
</p>
</div>
</div>
<!-- EDIT9 SECTION "With RPM" [2873-3340] -->
<h2 class="sectionedit10" id="first_configuration_steps">First configuration steps</h2>
<div class="level2">
</div>
<!-- EDIT10 SECTION "First configuration steps" [3341-3379] -->
<h3 class="sectionedit11" id="change_default_dns_domain">Change default DNS domain</h3>
<div class="level3">
<p>
By default, <abbr title="Domain Name System">DNS</abbr> domain is <code>example.com</code>. You can change it quick with a sed command. For example, we change it to <code>ow2.org</code>:
</p>
<pre class="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/*</pre>
</div>
<!-- EDIT11 SECTION "Change default DNS domain" [3380-3705] -->
<h3 class="sectionedit12" id="upgrade">Upgrade</h3>
<div class="level3">
<p>
If you upgraded <abbr title="LemonLDAP::NG">LL::NG</abbr>, check all <a href="upgrade.html" class="wikilink1" title="documentation:2.0:upgrade">upgrade notes</a>.
</p>
</div>
<!-- EDIT12 SECTION "Upgrade" [3706-3786] -->
<h3 class="sectionedit13" id="dns">DNS</h3>
<div class="level3">
<p>
Configure your <abbr title="Domain Name System">DNS</abbr> server to resolve names with your server <abbr title="Internet Protocol">IP</abbr>:
</p>
<ul>
<li class="level1"><div class="li"> auth.&lt;your domain&gt;: main portal, must be public</div>
</li>
<li class="level1"><div class="li"> manager.&lt;your domain&gt;: manager, only for adminsitrators</div>
</li>
<li class="level1"><div class="li"> test1.&lt;your domain&gt;, test2.&lt;your domain&gt;: sample applications</div>
</li>
</ul>
<p>
Follow the <a href="start.html#configuration" class="wikilink1" title="documentation:2.0:start">next steps</a>
</p>
</div>
<!-- EDIT13 SECTION "DNS" [3787-4091] -->
<h2 class="sectionedit14" id="file_location">File location</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> Configuration is in /etc/lemonldap-ng</div>
</li>
<li class="level1"><div class="li"> LemonLDAP::NG configuration (edited by the Manager) is in /var/lib/lemonldap-ng/conf/</div>
</li>
<li class="level1"><div class="li"> All Perl modules are in the VENDOR perl directory </div>
</li>
<li class="level1"><div class="li"> All Perl scripts/pages are in /var/lib/lemonldap-ng/</div>
</li>
<li class="level1"><div class="li"> All static content (examples, <abbr title="Cascading Style Sheets">CSS</abbr>, images, etc.) is in /usr/share/lemonldap-ng/</div>
</li>
</ul>
</div>
<!-- EDIT14 SECTION "File location" [4092-4448] -->
<h2 class="sectionedit15" id="build_your_packages">Build your packages</h2>
<div class="level2">
<p>
If you need it, you can rebuild RPMs:
</p>
<ul>
<li class="level1"><div class="li"> Install rpm-build package</div>
</li>
<li class="level1"><div class="li"> Install all build dependencies (see BuildRequires in lemonldap-ng.<abbr title="specification">spec</abbr>)</div>
</li>
<li class="level1"><div class="li"> Put LemonLDAP::NG tarball in %_topdir/SOURCES</div>
</li>
<li class="level1"><div class="li"> Edit ~/.rpmmacros and set your build parameters:</div>
</li>
</ul>
<pre class="file">%_topdir /home/user/build
%dist .el7
%rhel 7</pre>
<ul>
<li class="level1"><div class="li"> Go to %_topdir</div>
</li>
<li class="level1"><div class="li"> Build:</div>
</li>
</ul>
<pre class="code">rpmbuild -ta SOURCES/lemonldap-ng-VERSION.tar.gz</pre>
</div>
<!-- EDIT15 SECTION "Build your packages" [4449-] --></div>
</body>
</html>