lemonldap-ng/doc/pages/documentation/current/installsles.html
Xavier Guimard 43fbe42b7e Update doc
2017-02-22 12:41:23 +00:00

392 lines
21 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>documentation:2.0:installsles</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,installsles"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="installsles.html"/>
<link rel="contents" href="installsles.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:installsles","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="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/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="#repositories">Repositories</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_zypper">With ZYPPER</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="#enable_apache_extensions">Enable Apache extensions</a></div></li>
<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="#reload_virtual_host">Reload virtual host</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_suse_linux">Installation on Suse Linux</h1>
<div class="level1">
<div class="noteimportant"><abbr title="LemonLDAP::NG">LL::NG</abbr> requires at least SLES 12 SP1 or equivalent
</div>
</div>
<!-- EDIT1 SECTION "Installation on Suse Linux" [1-117] -->
<h2 class="sectionedit2" id="organization">Organization</h2>
<div class="level2">
<p>
LemonLDAP::NG provides packages for SLES:
</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-fr-doc: French translation for documentation</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"> 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>
<!-- EDIT2 SECTION "Organization" [118-1045] -->
<h2 class="sectionedit3" id="get_the_packages">Get the packages</h2>
<div class="level2">
</div>
<!-- EDIT3 SECTION "Get the packages" [1046-1075] -->
<h3 class="sectionedit4" id="repositories">Repositories</h3>
<div class="level3">
<p>
This manual only refers to SLES 12 SP1. Installation may work on other platforms, with no guarantee.
</p>
<p>
Different repositories are necessary for LemonLDAP::NG dependencies:
</p>
<ul>
<li class="level1"><div class="li"> Suse official repositories</div>
</li>
<li class="level1"><div class="li"> 2 repositories on <a href="https://build.opensuse.org/" class="urlextern" title="https://build.opensuse.org/" rel="nofollow">openSUSE Build Service</a></div>
</li>
<li class="level1"><div class="li"> Additional packages available on repository.linagora.org or lemonldap-ng.org</div>
</li>
<li class="level1"><div class="li"> Suse SDK repository is advised for building packages (yast2 → Software → Software Repositories → Add &gt; Extensions and modules from Registration Server)</div>
</li>
</ul>
<p>
First, make sure the exploitation system is up to date:
</p>
<pre class="code">zypper update</pre>
<p>
You can add the openSUSE Build Service repositories with the following commands:
</p>
<pre class="code">zypper addrepo http://download.opensuse.org/distribution/leap/42.1/repo/oss/suse/ leap42
zypper addrepo http://download.opensuse.org/repositories/devel:languages:perl/SLE_12/devel:languages:perl.repo
zypper refresh</pre>
<p>
Accept both signing keys each time.
</p>
<p>
You can add the additional dependency repository *and* the LemonLDAP::NG repository with either commands:
</p>
<pre class="code">zypper addrepo http://lemonldap-ng.org/sles12 lemonldap-sles12-repository
zypper refresh</pre>
<p>
or
</p>
<pre class="code">zypper addrepo http://repository.linagora.org/lemonldap-sles12-repository lemonldap-sles12-repository
zypper refresh</pre>
<div class="notetip">Only packages on SLES 12 SP1 are tested for now.
</div>
</div>
<!-- EDIT4 SECTION "Repositories" [1076-2470] -->
<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" [2471-2553] -->
<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">rpm --import rpm-gpg-key-ow2</pre>
</div>
<!-- EDIT6 SECTION "Package GPG signature" [2554-2718] -->
<h2 class="sectionedit7" id="install_packages">Install packages</h2>
<div class="level2">
</div>
<!-- EDIT7 SECTION "Install packages" [2719-2748] -->
<h3 class="sectionedit8" id="with_zypper">With ZYPPER</h3>
<div class="level3">
<p>
If the packages are stored in a repository:
</p>
<pre class="code shell">zypper install lemonldap-ng</pre>
<pre class="code shell">59 new packages to install.
Total download size: 13.5 MiB. Already cached : 0 B. After operation, 30.7 MiB of supplementary disk space will be used.
Continue ? [y/n/? print all options] (y):</pre>
<p>
You can also use zypper on local RPMs file:
</p>
<pre class="code">zypper install lemonldap-ng-* perl-Lemonldap-NG-*</pre>
</div>
<!-- EDIT8 SECTION "With ZYPPER" [2749-3187] -->
<h3 class="sectionedit9" id="with_rpm">With RPM</h3>
<div class="level3">
<p>
Before installing the packages, install all dependencies: (you need to get dependencies from previous repositories)
</p>
<pre class="code">zypper install apache2 apache2-mod_perl apache2-mod_fcgid perl-ldap perl-XML-SAX perl-XML-NamespaceSupport perl-XML-Simple perl-XML-LibXML perl-Config-IniFiles perl-Digest-HMAC perl-Crypt-OpenSSL-RSA perl-Authen-SASL perl-Unicode-String gd perl-Regexp-Assemble perl-Authen-Captcha perl-Cache-Cache perl-Apache-Session perl-CGI-Session perl-IO-String perl-MIME-Lite perl-SOAP-Lite perl-XML-LibXSLT perl-String-Random perl-Email-Date-Format perl-Crypt-Rijndael perl-HTML-Template perl-JSON perl-Crypt-OpenSSL-X509 perl-Crypt-DES perl-Class-Inspector perl-Test-MockObject perl-Clone perl-Net-CIDR-Lite perl-ExtUtils-MakeMaker perl-CGI perl-CGI-Session perl-HTML-Template perl-SOAP-Lite perl-IPC-ShareLite perl-Error perl-HTML-Parser perl-libwww-perl perl-DBI perl-Cache-Memcached perl-Class-ErrorHandler perl-Convert-PEM perl-Crypt-DES_EDE3 perl-Digest-SHA perl-Env perl-Mouse perl-String-CRC32 perl-Plack perl-Regexp-Common perl-Crypt-OpenSSL-Bignum perl-FCGI-ProcManager</pre>
<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" [3188-4687] -->
<h2 class="sectionedit10" id="first_configuration_steps">First configuration steps</h2>
<div class="level2">
</div>
<!-- EDIT10 SECTION "First configuration steps" [4688-4726] -->
<h3 class="sectionedit11" id="enable_apache_extensions">Enable Apache extensions</h3>
<div class="level3">
<p>
These extensions are activated by default on Apache at LemonLDAP install:
</p>
<pre class="code">a2enmod perl
a2enmod headers
a2enmod mod_fcgid
a2enmod ssl
a2enmod rewrite
a2enmod proxy
a2enmod proxy_http</pre>
<p>
If you decide to use SSL, you should also activate the appopriate flag:
</p>
<pre class="code">sed -i &#039;s/^APACHE_SERVER_FLAGS=.*/APACHE_SERVER_FLAGS=&quot;SSL&quot;/&#039; /etc/sysconfig/apache2</pre>
</div>
<!-- EDIT11 SECTION "Enable Apache extensions" [4727-5133] -->
<h3 class="sectionedit12" 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/{*.conf,*.ini,for_etc_hosts} /var/lib/lemonldap-ng/conf/lmConf-1 /var/lib/lemonldap-ng/test/index.pl</pre>
<p>
Check Apache configuration and restart:
</p>
<pre class="code shell">apachectl configtest
apachectl restart</pre>
</div>
<!-- EDIT12 SECTION "Change default DNS domain" [5134-5576] -->
<h3 class="sectionedit13" id="reload_virtual_host">Reload virtual host</h3>
<div class="level3">
<p>
To allow the manager to reload the configuration, register the reload virtual host name in the hosts of the server:
</p>
<pre class="code shell">echo &quot;127.0.0.1 reload.example.com&quot; &gt;&gt; /etc/hosts</pre>
<div class="notetip">Adapt the reload virtual host name to the domain you configured.
</div>
</div>
<!-- EDIT13 SECTION "Reload virtual host" [5577-5878] -->
<h3 class="sectionedit14" 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>
<p>
For apache configuration, you may have to remove the old symbolic link, if not done by the RPM:
</p>
<pre class="code shell">rm -f /etc/apache2/vhosts.d/z-lemonldap-ng.conf</pre>
<p>
Your old Apache configuration should have been saved, you need to port your specificities in new Apache configuration files:
</p>
<pre class="code shell">vi /etc/lemonldap-ng/apache2.conf.rpmsave</pre>
<p>
The upgrade process will also have migrate old configuration files into <code>/etc/lemonldap-ng/lemonldap-ng.ini</code>. This includes the application list which is now set in the <code>applicationList</code> parameter from <code>[portal]</code> section, for example:
</p>
<pre class="code file ini"><span class="re0"><span class="br0">&#91;</span>portal<span class="br0">&#93;</span></span>
<span class="re1">applicationList</span><span class="sy0">=</span><span class="re2"><span class="br0">&#123;</span> 'Menu' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'category', 'Example' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'category', 'test1' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'application', options <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> name <span class="sy0">=</span>&gt; 'Application Test 1', uri <span class="sy0">=</span>&gt; 'http://test1.example.com/', description <span class="sy0">=</span>&gt; 'A simple application displaying authenticated user', logo <span class="sy0">=</span>&gt; 'wheels.png', display <span class="sy0">=</span>&gt; 'auto', <span class="br0">&#125;</span>, <span class="br0">&#125;</span>,'test2' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'application', options <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> name <span class="sy0">=</span>&gt; 'Application Test 2', uri <span class="sy0">=</span>&gt; 'http://test2.example.com/', description <span class="sy0">=</span>&gt; 'The same simple application displaying authenticated user', logo <span class="sy0">=</span>&gt; 'wheels.png', display <span class="sy0">=</span>&gt; 'auto', <span class="br0">&#125;</span>, <span class="br0">&#125;</span>, <span class="br0">&#125;</span>,'Administration' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'category', 'manager' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'application', options <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> name <span class="sy0">=</span>&gt; 'WebSSO Manager', uri <span class="sy0">=</span>&gt; 'http://manager.example.com/', description <span class="sy0">=</span>&gt; 'Configure LemonLDAP::NG WebSSO', logo <span class="sy0">=</span>&gt; 'tools.png', display <span class="sy0">=</span>&gt; 'on', <span class="br0">&#125;</span>, <span class="br0">&#125;</span>,'sessions' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'application', options <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> name <span class="sy0">=</span>&gt; 'Sessions explorer', uri <span class="sy0">=</span>&gt; 'http://manager.example.com/sessions.pl', description <span class="sy0">=</span>&gt; 'Explore WebSSO sessions', logo <span class="sy0">=</span>&gt; 'tools.png', display <span class="sy0">=</span>&gt; 'on', <span class="br0">&#125;</span>, <span class="br0">&#125;</span>, <span class="br0">&#125;</span>,'Documentation' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'category', 'localdoc' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'application', options <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> name <span class="sy0">=</span>&gt; 'Local documentation', uri <span class="sy0">=</span>&gt; 'http://manager.example.com/doc/', description <span class="sy0">=</span>&gt; 'Documentation supplied with LemonLDAP::NG', logo <span class="sy0">=</span>&gt; 'docs.png', display <span class="sy0">=</span>&gt; 'on', <span class="br0">&#125;</span>, <span class="br0">&#125;</span>,'officialwebsite' <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> type <span class="sy0">=</span>&gt; 'application', options <span class="sy0">=</span>&gt; <span class="br0">&#123;</span> name <span class="sy0">=</span>&gt; 'Offical Website', uri <span class="sy0">=</span>&gt; 'http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation', description <span class="sy0">=</span>&gt; 'Official LemonLDAP::NG Website', logo <span class="sy0">=</span>&gt; 'web.png', display <span class="sy0">=</span>&gt; 'on', <span class="br0">&#125;</span>, <span class="br0">&#125;</span>, <span class="br0">&#125;</span>, <span class="br0">&#125;</span>, <span class="br0">&#125;</span></span></pre>
<div class="noteimportant">You should now use the Manager to configure all <a href="portalmenu.html#categories_and_applications" class="wikilink1" title="documentation:2.0:portalmenu">applications and categories</a>, and then comment or remove the <code>applicationList</code> parameter from <code>/etc/lemonldap-ng/lemonldap-ng.ini</code>.
</div>
</div>
<!-- EDIT14 SECTION "Upgrade" [5879-8392] -->
<h3 class="sectionedit15" 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>
<div class="notetip">For tests with <code>example.com</code>, launch the following :
<pre class="code shell">cat /etc/lemonldap-ng/for_etc_hosts &gt;&gt; /etc/hosts</pre>
</div>
<p>
Follow the <a href="start.html#configuration" class="wikilink1" title="documentation:2.0:start">next steps</a>
</p>
</div>
<!-- EDIT15 SECTION "DNS" [8393-8665] -->
<h2 class="sectionedit16" 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>
<!-- EDIT16 SECTION "File location" [8666-9021] -->
<h2 class="sectionedit17" 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"> Get the lemonldap source package from repository:</div>
</li>
</ul>
<pre class="code">zypper source-install lemonldap-ng
cd /usr/src/packages/
ls SPECS/ SOURCES/</pre>
<ul>
<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"> Build:</div>
</li>
</ul>
<pre class="code">rpmbuild -ba SPECS/lemonldap-ng.spec</pre>
<p>
Alternatively, you can use the automatic script “create-lemonldap-packages.sh”, available in rpm-sles directory in the <a href="download.html#getting_sources_from_svn_repository" class="wikilink1" title="download">lemonldap svn repository</a>. The automatic script can also generate intermediate dependencies. See README file in the same directory for more information.
</p>
</div>
<!-- EDIT17 SECTION "Build your packages" [9022-] --></div>
</body>
</html>