1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391
|
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>documentation:1.9:installsles</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,1.9,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:1.9';var JSINFO = {"id":"documentation:1.9:installsles","namespace":"documentation:1.9"};
/*!]]>*/</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: meta-package, 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-1046] -->
<h2 class="sectionedit3" id="get_the_packages">Get the packages</h2>
<div class="level2">
</div>
<!-- EDIT3 SECTION "Get the packages" [1047-1076] -->
<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 –> 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" [1077-2471] -->
<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" [2472-2554] -->
<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" [2555-2720] -->
<h2 class="sectionedit7" id="install_packages">Install packages</h2>
<div class="level2">
</div>
<!-- EDIT7 SECTION "Install packages" [2721-2750] -->
<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" [2751-3189] -->
<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" [3190-4689] -->
<h2 class="sectionedit10" id="first_configuration_steps">First configuration steps</h2>
<div class="level2">
</div>
<!-- EDIT10 SECTION "First configuration steps" [4690-4728] -->
<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 's/^APACHE_SERVER_FLAGS=.*/APACHE_SERVER_FLAGS="SSL"/' /etc/sysconfig/apache2</pre>
</div>
<!-- EDIT11 SECTION "Enable Apache extensions" [4729-5135] -->
<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" [5136-5578] -->
<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 "127.0.0.1 reload.example.com" >> /etc/hosts</pre>
<div class="notetip">Adapt the reload virtual host name to the domain you configured.
</div>
</div>
<!-- EDIT13 SECTION "Reload virtual host" [5579-5880] -->
<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:1.9: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">[</span>portal<span class="br0">]</span></span>
<span class="re1">applicationList</span><span class="sy0">=</span><span class="re2"><span class="br0">{</span> 'Menu' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'category', 'Example' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'category', 'test1' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'application', options <span class="sy0">=</span>> <span class="br0">{</span> name <span class="sy0">=</span>> 'Application Test 1', uri <span class="sy0">=</span>> 'http://test1.example.com/', description <span class="sy0">=</span>> 'A simple application displaying authenticated user', logo <span class="sy0">=</span>> 'wheels.png', display <span class="sy0">=</span>> 'auto', <span class="br0">}</span>, <span class="br0">}</span>,'test2' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'application', options <span class="sy0">=</span>> <span class="br0">{</span> name <span class="sy0">=</span>> 'Application Test 2', uri <span class="sy0">=</span>> 'http://test2.example.com/', description <span class="sy0">=</span>> 'The same simple application displaying authenticated user', logo <span class="sy0">=</span>> 'wheels.png', display <span class="sy0">=</span>> 'auto', <span class="br0">}</span>, <span class="br0">}</span>, <span class="br0">}</span>,'Administration' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'category', 'manager' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'application', options <span class="sy0">=</span>> <span class="br0">{</span> name <span class="sy0">=</span>> 'WebSSO Manager', uri <span class="sy0">=</span>> 'http://manager.example.com/', description <span class="sy0">=</span>> 'Configure LemonLDAP::NG WebSSO', logo <span class="sy0">=</span>> 'tools.png', display <span class="sy0">=</span>> 'on', <span class="br0">}</span>, <span class="br0">}</span>,'sessions' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'application', options <span class="sy0">=</span>> <span class="br0">{</span> name <span class="sy0">=</span>> 'Sessions explorer', uri <span class="sy0">=</span>> 'http://manager.example.com/sessions.pl', description <span class="sy0">=</span>> 'Explore WebSSO sessions', logo <span class="sy0">=</span>> 'tools.png', display <span class="sy0">=</span>> 'on', <span class="br0">}</span>, <span class="br0">}</span>, <span class="br0">}</span>,'Documentation' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'category', 'localdoc' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'application', options <span class="sy0">=</span>> <span class="br0">{</span> name <span class="sy0">=</span>> 'Local documentation', uri <span class="sy0">=</span>> 'http://manager.example.com/doc/', description <span class="sy0">=</span>> 'Documentation supplied with LemonLDAP::NG', logo <span class="sy0">=</span>> 'docs.png', display <span class="sy0">=</span>> 'on', <span class="br0">}</span>, <span class="br0">}</span>,'officialwebsite' <span class="sy0">=</span>> <span class="br0">{</span> type <span class="sy0">=</span>> 'application', options <span class="sy0">=</span>> <span class="br0">{</span> name <span class="sy0">=</span>> 'Offical Website', uri <span class="sy0">=</span>> 'http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation', description <span class="sy0">=</span>> 'Official LemonLDAP::NG Website', logo <span class="sy0">=</span>> 'web.png', display <span class="sy0">=</span>> 'on', <span class="br0">}</span>, <span class="br0">}</span>, <span class="br0">}</span>, <span class="br0">}</span>, <span class="br0">}</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:1.9: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" [5881-8394] -->
<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 >> /etc/hosts</pre>
</div>
<p>
Follow the <a href="start.html#configuration" class="wikilink1" title="documentation:1.9:start">next steps</a>
</p>
</div>
<!-- EDIT15 SECTION "DNS" [8395-8667] -->
<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" [8668-9023] -->
<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" [9024-] --></div>
</body>
</html>
|