Differences

This shows you the differences between two versions of the page.

Link to this comparison view

documentation:latest:installsles [2016/07/19 12:10]
127.0.0.1 external edit
documentation:latest:installsles [2019/01/28 12:04]
Line 1: Line 1:
-====== Installation on Suse Linux ====== 
- 
-<note important>​LL::​NG requires at least SLES 12 SP1 or equivalent</​note>​ 
- 
-===== Organization ===== 
- 
-LemonLDAP::​NG provides packages for SLES: 
-  * lemonldap-ng:​ meta-package,​ contains no file but dependencies on other packages 
-  * lemonldap-ng-doc:​ contains HTML documentation and project docs (README, etc.) 
-  * lemonldap-ng-fr-doc:​ French translation for documentation 
-  * lemonldap-ng-conf:​ contains default configuration (DNS domain: example.com) 
-  * lemonldap-ng-test:​ contains sample CGI test page 
-  * lemonldap-ng-handler:​ contains Apache Handler implementation (agent) 
-  * lemonldap-ng-manager:​ contains administration interface and session explorer 
-  * lemonldap-ng-portal:​ contains authentication portal and menu 
-  * lemonldap-ng-fastcgi-server:​ FastCGI server needed to use Nginx 
-  * perl-Lemonldap-NG-Common:​ CPAN - Shared modules 
-  * perl-Lemonldap-NG-Handler:​ CPAN - Handler modules 
-  * perl-Lemonldap-NG-Manager:​ CPAN - Manager modules 
-  * perl-Lemonldap-NG-Portal:​ CPAN - Portal modules 
- 
-===== Get the packages ===== 
- 
-==== Repositories ==== 
- 
-This manual only refers to SLES 12 SP1. Installation may work on other platforms, with no guarantee. 
- 
-Different repositories are necessary for LemonLDAP::​NG dependencies:​ 
-  * Suse official repositories 
-  * 2 repositories on [[https://​build.opensuse.org/​|OpenSuse Build Service]] 
-  * Additional packages available on repository.linagora.org or lemonldap-ng.org 
-  * Suse SDK repository is advised for building packages (yast2 -> Software -> Software Repositories -> Add --> Extensions and modules from Registration Server) 
- 
-First, make sure the exploitation system is up to date: 
-<​code>​ 
-zypper update 
-</​code>​ 
- 
-You can add the OpenSuse Build Service repositories with the following commands: 
-<​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 
-</​code>​ 
-Accept both signing keys each time. 
- 
-You can add the additional dependency repository *and* the LemonLDAP::​NG repository with either commands: 
-<​code>​ 
-zypper addrepo http://​lemonldap-ng.org/​sles12 lemonldap-sles12-repository 
-zypper refresh 
-</​code>​ 
-or 
-<​code>​ 
-zypper addrepo http://​repository.linagora.org/​lemonldap-sles12-repository lemonldap-sles12-repository 
-zypper refresh 
-</​code>​ 
- 
-<note tip> 
-Only packages on SLES 12 SP1 are tested for now. 
-</​note>​ 
- 
-==== Manual download ==== 
- 
-RPMs are available on the [[:​download|Download page]]. 
- 
-===== Package GPG signature ===== 
- 
-The GPG key can be downloaded here: {{:​rpm-gpg-key-ow2|}} 
- 
-Install it to trust RPMs: 
- 
-<​code>​ 
-rpm --import rpm-gpg-key-ow2 
-</​code>​ 
- 
-===== Install packages ===== 
- 
-==== With ZYPPER ==== 
- 
-If the packages are stored in a repository: 
-<code shell> 
-zypper install lemonldap-ng 
-</​code>​ 
-<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): 
-</​code>​ 
- 
-You can also use zypper on local RPMs file: 
-<​code>​ 
-zypper install lemonldap-ng-* perl-Lemonldap-NG-* 
-</​code>​ 
- 
-==== With RPM ==== 
- 
-Before installing the packages, install all dependencies:​ (you need to get dependencies from previous repositories) 
-<​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 
-</​code>​ 
- 
-You have then to install all the downloaded packages: 
-<​code>​ 
-rpm -Uvh lemonldap-ng-* perl-Lemonldap-NG-* 
-</​code>​ 
- 
- 
-<note tip> 
-You can choose to install only one component by choosing the package ''​lemonldap-ng-portal'',​ ''​lemonldap-ng-handler''​ or ''​lemonldap-ng-manager''​. 
- 
-Install the package ''​lemonldap-ng-conf''​ on all server which contains one of those packages. 
-</​note>​ 
- 
-===== First configuration steps ===== 
- 
-==== Enable Apache extensions ==== 
- 
-These extensions are activated by default on Apache at LemonLDAP install: 
-<​code>​ 
-a2enmod perl 
-a2enmod headers 
-a2enmod mod_fcgid 
-a2enmod ssl 
-a2enmod rewrite 
-a2enmod proxy 
-a2enmod proxy_http 
-</​code>​ 
- 
-If you decide to use SSL, you should also activate the appopriate flag: 
-<​code>​ 
-sed -i '​s/​^APACHE_SERVER_FLAGS=.*/​APACHE_SERVER_FLAGS="​SSL"/'​ /​etc/​sysconfig/​apache2 
-</​code>​ 
- 
-==== Change default DNS domain ==== 
- 
-By default, DNS domain is ''​example.com''​. You can change it quick with a sed command. For example, we change it to ''​ow2.org'':​ 
- 
-<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 
-</​code>​ 
- 
-Check Apache configuration and restart: 
-<code shell> 
-apachectl configtest 
-apachectl restart 
-</​code>​ 
- 
-==== Reload virtual host ==== 
- 
-To allow the manager to reload the configuration,​ register the reload virtual host name in the hosts of the server: 
-<code shell> 
-echo "​127.0.0.1 reload.example.com"​ >> /etc/hosts 
-</​code>​ 
- 
-<note tip>​Adapt the reload virtual host name to the domain you configured.</​note>​ 
- 
-==== Upgrade ==== 
- 
-If you upgraded LL::NG, check all [[upgrade|upgrade notes]]. 
- 
-For apache configuration,​ you may have to remove the old symbolic link, if not done by the RPM: 
-<code shell> 
-rm -f /​etc/​apache2/​vhosts.d/​z-lemonldap-ng.conf 
-</​code>​ 
- 
-Your old Apache configuration should have been saved, you need to port your specificities in new Apache configuration files: 
-<code shell> 
-vi /​etc/​lemonldap-ng/​apache2.conf.rpmsave 
-</​code>​ 
- 
-The upgrade process will also have migrate old configuration files into ''/​etc/​lemonldap-ng/​lemonldap-ng.ini''​. This includes the application list which is now set in the ''​applicationList''​ parameter from ''​[portal]''​ section, for example: 
-<file ini> 
-[portal] 
-applicationList={ '​Menu'​ => { type => '​category',​ '​Example'​ => { type => '​category',​ '​test1'​ => { type => '​application',​ options => { name => '​Application Test 1', uri => '​http://​test1.example.com/',​ description => 'A simple application displaying authenticated user', logo => '​wheels.png',​ display => '​auto', ​ }, },'​test2'​ => { type => '​application',​ options => { name => '​Application Test 2', uri => '​http://​test2.example.com/',​ description => 'The same simple application displaying authenticated user', logo => '​wheels.png',​ display => '​auto', ​ }, }, },'​Administration'​ => { type => '​category',​ '​manager'​ => { type => '​application',​ options => { name => '​WebSSO Manager',​ uri => '​http://​manager.example.com/',​ description => '​Configure LemonLDAP::​NG WebSSO',​ logo => '​tools.png',​ display => '​on', ​ }, },'​sessions'​ => { type => '​application',​ options => { name => '​Sessions explorer',​ uri => '​http://​manager.example.com/​sessions.pl',​ description => '​Explore WebSSO sessions',​ logo => '​tools.png',​ display => '​on', ​ }, }, },'​Documentation'​ => { type => '​category',​ '​localdoc'​ => { type => '​application',​ options => { name => 'Local documentation',​ uri => '​http://​manager.example.com/​doc/',​ description => '​Documentation supplied with LemonLDAP::​NG',​ logo => '​docs.png',​ display => '​on', ​ }, },'​officialwebsite'​ => { type => '​application',​ options => { name => '​Offical Website',​ uri => '​http://​wiki.lemonldap.objectweb.org/​xwiki/​bin/​view/​NG/​Presentation',​ description => '​Official LemonLDAP::​NG Website',​ logo => '​web.png',​ display => '​on', ​ }, }, }, }, } 
-</​file>​ 
- 
-<note important>​You should now use the Manager to configure all [[portalmenu#​categories_and_applications|applications and categories]],​ and then comment or remove the ''​applicationList''​ parameter from ''/​etc/​lemonldap-ng/​lemonldap-ng.ini''​.</​note>​ 
- 
-==== DNS ==== 
- 
-Configure your DNS server to resolve names with your server IP. 
- 
-<note tip> 
-For tests with ''​example.com'',​ launch the following : 
-<code shell> 
-cat /​etc/​lemonldap-ng/​for_etc_hosts >> /etc/hosts 
-</​code>​ 
-</​note>​ 
- 
-Follow the [[start#​configuration|next steps]] 
- 
-===== File location ===== 
- 
-  * Configuration is in /​etc/​lemonldap-ng 
-  * LemonLDAP::​NG configuration (edited by the Manager) is in /​var/​lib/​lemonldap-ng/​conf/​ 
-  * All Perl modules are in the VENDOR perl directory ​ 
-  * All Perl scripts/​pages are in /​var/​lib/​lemonldap-ng/​ 
-  * All static content (examples, CSS, images, etc.) is in /​usr/​share/​lemonldap-ng/​ 
- 
-===== Build your packages ===== 
- 
-If you need it, you can rebuild RPMs: 
-  * Install rpm-build package 
-  * Get the lemonldap source package from repository: 
-<​code>​ 
-zypper source-install lemonldap-ng 
-cd /​usr/​src/​packages/​ 
-ls SPECS/ SOURCES/ 
-</​code>​ 
-  * Install all build dependencies (see BuildRequires in lemonldap-ng.spec) 
-  * Build: 
-<​code>​ 
-rpmbuild -ba SPECS/​lemonldap-ng.spec 
-</​code>​ 
- 
-Alternatively,​ you can use the automatic script "​create-lemonldap-packages.sh",​ available in rpm-sles directory in the [[:​download#​getting_sources_from_svn_repository|lemonldap svn repository]]. The automatic script can also generate intermediate dependencies. See README file in the same directory for more information.