installsles.html 14.7 KB
Newer Older
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
1 2 3 4 5 6
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <meta charset="utf-8" />
  <title>documentation:2.0:installsles</title>
<meta name="generator" content="DokuWiki"/>
Xavier Guimard's avatar
Xavier Guimard committed
7
<meta name="robots" content="noindex,nofollow"/>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
8 9 10 11 12
<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"/>
Xavier Guimard's avatar
Xavier Guimard committed
13 14 15 16 17 18 19 20 21
<!-- //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 -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
22 23 24
<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>
Xavier Guimard's avatar
Xavier Guimard committed
25 26 27 28 29 30 31 32 33 34 35 36 37 38
<!-- //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
Xavier Guimard's avatar
Xavier Guimard committed
39
  <script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.min.js"></script>
Xavier Guimard's avatar
Xavier Guimard committed
40
//else -->
Xavier Guimard's avatar
Xavier Guimard committed
41
  <script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.js"></script>
Xavier Guimard's avatar
Xavier Guimard committed
42
<!-- //endif -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
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
</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>
Xavier Guimard's avatar
Xavier Guimard committed
93
<li class="level1"><div class="li"> lemonldap-ng: metapackage, contains no file but dependencies on other packages</div>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
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
</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>
Xavier Guimard's avatar
Xavier Guimard committed
120
<!-- EDIT2 SECTION "Organization" [118-983] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
121 122 123 124
<h2 class="sectionedit3" id="get_the_packages">Get the packages</h2>
<div class="level2">

</div>
Xavier Guimard's avatar
Xavier Guimard committed
125
<!-- EDIT3 SECTION "Get the packages" [984-1013] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
126 127 128 129 130 131 132 133 134 135 136 137 138
<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>
Xavier Guimard's avatar
Xavier Guimard committed
139
<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>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
140 141 142 143 144 145 146 147 148 149 150 151 152
</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>
Xavier Guimard's avatar
Xavier Guimard committed
153
You can add the openSUSE Build Service repositories with the following commands:
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
</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>
Xavier Guimard's avatar
Xavier Guimard committed
178
<!-- EDIT4 SECTION "Repositories" [1014-2408] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
179 180 181 182 183 184 185 186
<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>
Xavier Guimard's avatar
Xavier Guimard committed
187
<!-- EDIT5 SECTION "Manual download" [2409-2491] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
188 189 190 191 192 193 194 195 196 197 198 199 200
<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>
Xavier Guimard's avatar
Xavier Guimard committed
201
<!-- EDIT6 SECTION "Package GPG signature" [2492-2656] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
202 203 204 205
<h2 class="sectionedit7" id="install_packages">Install packages</h2>
<div class="level2">

</div>
Xavier Guimard's avatar
Xavier Guimard committed
206
<!-- EDIT7 SECTION "Install packages" [2657-2686] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
<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>
Xavier Guimard's avatar
Xavier Guimard committed
224
<!-- EDIT8 SECTION "With ZYPPER" [2687-3125] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243
<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>
Xavier Guimard's avatar
Xavier Guimard committed
244
<!-- EDIT9 SECTION "With RPM" [3126-4625] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
245 246 247 248
<h2 class="sectionedit10" id="first_configuration_steps">First configuration steps</h2>
<div class="level2">

</div>
Xavier Guimard's avatar
Xavier Guimard committed
249
<!-- EDIT10 SECTION "First configuration steps" [4626-4664] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
<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>
Xavier Guimard's avatar
Xavier Guimard committed
270
<!-- EDIT11 SECTION "Enable Apache extensions" [4665-5071] -->
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
<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>
Xavier Guimard's avatar
Xavier Guimard committed
286
<!-- EDIT12 SECTION "Change default DNS domain" [5072-5514] -->
Xavier Guimard's avatar
Xavier Guimard committed
287
<h3 class="sectionedit13" id="dns">DNS</h3>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
288 289 290
<div class="level3">

<p>
Xavier Guimard's avatar
Xavier Guimard committed
291
Configure your <abbr title="Domain Name System">DNS</abbr> server to resolve names with your server <abbr title="Internet Protocol">IP</abbr>:
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
292
</p>
Xavier Guimard's avatar
Xavier Guimard committed
293 294 295 296 297 298 299 300
<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>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
301 302 303 304 305 306

<p>
Follow the <a href="start.html#configuration" class="wikilink1" title="documentation:2.0:start">next steps</a>
</p>

</div>
Xavier Guimard's avatar
Xavier Guimard committed
307 308
<!-- EDIT13 SECTION "DNS" [5515-5819] -->
<h2 class="sectionedit14" id="file_location">File location</h2>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
<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>
Xavier Guimard's avatar
Xavier Guimard committed
324 325
<!-- EDIT14 SECTION "File location" [5820-6175] -->
<h2 class="sectionedit15" id="build_your_packages">Build your packages</h2>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
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
<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>
Xavier Guimard's avatar
Xavier Guimard committed
353
<!-- EDIT15 SECTION "Build your packages" [6176-] --></div>
Clément OUDOT's avatar
New doc  
Clément OUDOT committed
354 355
</body>
</html>