lemonldap-ng/doc/pages/documentation/current/installsles.html
2019-09-23 22:41:16 +02:00

356 lines
15 KiB
HTML

<!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="/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="#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="#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-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-983] -->
<h2 class="sectionedit3" id="get_the_packages">Get the packages</h2>
<div class="level2">
</div>
<!-- EDIT3 SECTION "Get the packages" [984-1013] -->
<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 -&gt; Software -&gt; Software Repositories -&gt; 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" [1014-2408] -->
<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" [2409-2491] -->
<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" [2492-2656] -->
<h2 class="sectionedit7" id="install_packages">Install packages</h2>
<div class="level2">
</div>
<!-- EDIT7 SECTION "Install packages" [2657-2686] -->
<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" [2687-3125] -->
<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" [3126-4625] -->
<h2 class="sectionedit10" id="first_configuration_steps">First configuration steps</h2>
<div class="level2">
</div>
<!-- EDIT10 SECTION "First configuration steps" [4626-4664] -->
<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" [4665-5071] -->
<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</pre>
<p>
Check Apache configuration and restart:
</p>
<pre class="code shell">apachectl configtest
apachectl restart</pre>
</div>
<!-- EDIT12 SECTION "Change default DNS domain" [5072-5478] -->
<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" [5479-5783] -->
<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" [5784-6139] -->
<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"> 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 &quot;create-lemonldap-packages.sh&quot;, 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>
<!-- EDIT15 SECTION "Build your packages" [6140-] --></div>
</body>
</html>