diff --git a/source/administrator-guide/backup-and-restore.rst b/source/administrator-guide/backup-and-restore.rst index 63a3ecbb..ac39e48e 100644 --- a/source/administrator-guide/backup-and-restore.rst +++ b/source/administrator-guide/backup-and-restore.rst @@ -1,377 +1,378 @@ ================== Backup and Restore ================== 389 Directory Server ==================== Backup ------ A backup procedure for 389 Directory Server consists of three separate steps: #. The exection of a pre-script to export the databases. #. The inclusion of the exported databases into the backup, along with the directory server configuration directory :file:`/etc/dirsrv/`. #. Clean-up using a post-script. A sample combined pre- and post-script that could be used: .. parsed-literal:: #!/bin/bash if [ "$1" == "--before" ]; then for dir in \`find /etc/dirsrv/ -mindepth 1 -maxdepth 1 -type d \\ -name "slapd-\*" | xargs -n 1 basename\`; do for nsdb in \`find /var/lib/dirsrv/${dir}/db/ -mindepth 1 \\ -maxdepth 1 -type d | xargs -n 1 basename\`; do ns-slapd db2ldif -D /etc/dirsrv/${dir} -n ${nsdb} \\ -a /tmp/$(hostname)-$(echo ${dir} | sed -e 's/slapd-//g')-${nsdb}.ldif \\ >/dev/null 2>&1 done done elif [ "$1" == "--after" ]; then rm -rf /tmp/\*.ldif fi This will result in a number of files in :file:`/tmp/`, one per database to be exact, that you will want to include in the backup. Database Restore ---------------- For the following procedure to be executed, you must shut down the directory server service: .. parsed-literal:: # :command:`service dirsrv stop` After the exported databases have been restored from backup, import the LDIFs back on to the database: .. parsed-literal:: # :command:`ns-slapd ldif2db \\ -D /etc/dirsrv/slapd-*$instance_name* \\ -n *$database_name* \\ -i /path/to/exported/database.ldif` where: *$instance_name* is the name of an instance configured on this LDAP server. *$database_name* is the name for the target database the restore should occur to. .. NOTE:: The database for the restore should already exist. In the example situation of a migrating an LDAP tree from one LDAP server to another, first add the domain on the target server, so that the database is created, then stop the service, then restore to the created database. For example, restoring the previously exported root suffix "dc=example,dc=org" to a database named ``example_org`` on a system ``kolab.example.org``, run: .. parsed-literal:: # :command:`ns-slapd ldif2db \\ -D /etc/dirsrv/slapd-kolab \\ -n example_org \\ -i /tmp/kolab.example.org-kolab-example_org.ldif` .. NOTE:: The location of the LDIF file to restore from as well as the LDIF file to restore from itself must be accessible for the user account the directory server is configured to run under (usually the unprivileged **nobody** account). Cyrus IMAP ========== If you stuck with the defaults, and you are not doing a migration or disaster recovery, you only need to restore from backup what was deleted more than 69 days ago. Kolab Groupware specifies these defaults to enable you to make sure that whatever ends up in the IMAP spool at any given point in time can be guaranteed to be included in at least 1 full backup, even if you create a full backup only quarterly. You may have altered this magic number to fit your backup strategy. The default is 3 months -- two potentially 31 days, one 30 days -- plus 1 week -- the margin of error when using "first saturday night of the month". Assuming all full backups succeed, even if you cycle full backups monthly, you would need to keep 1 volume around per quarter to comply with regulations your environment may be subject to -- noted that you need to keep around the last full backup of any given quarter, and not the first of quarter #1 and the last of quarter #2. Keep around full backups until you know they are eligible for purging -- you never know ahead of time whether the next full backup is going to be successful. Your exact backup needs, regulatory and/or legal requirements, and an efficient and cost-effective strategy are considered consultancy that `Kolab Systems AG`_ and `Certified Partners`_ are more than happy to provide you with. Backup ------ -If you have read the :ref:`install-preparing_the_system-partitioning` -section of the :ref:`installation-guide`, you can consider using LVM -snapshots to backup the Cyrus IMAP config and spool directories. +If you have read the +:ref:`installation-guide-preparing-the-system-partitioning` section of +the :ref:`installation-guide`, you can consider using LVM snapshots to +backup the Cyrus IMAP config and spool directories. Files and directories to include (or not include) in the backup of Cyrus IMAP include: * :file:`/var/spool/imap/` You may want to exclude files named: * :file:`cyrus.squat` * :file:`cyrus.cache.NEW` * :file:`cyrus.expunge.NEW` * :file:`cyrus.index.NEW` as well as directories named :file:`stage./` and :file:`sync./` * :file:`/var/lib/imap/` You will want to exclude: * :file:`/var/lib/imap/socket/` * :file:`\*.lock\*` Restore ------- Restore Single Messages (unexpunge) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To undelete a message it helps to have some of the following informations available under your fingertips. This will help you to speed up the search and ensure you're undeleting the correct message. * Sender (mail address) * Date Sent/Receive/Deleted * Folder where the email was stored! * Message Subject With those information you can easily identify the message. #. You must know the exact folder name in which the message was located before it got deleted. You can find get a listing of the folders belonging the a user using the :command:`kolab` cli tools. .. parsed-literal:: :command:`# kolab lm user/john.doe*@example.org` user/john.doe@example.org user/john.doe/Archive@example.org user/john.doe/Calendar@example.org [...] #. Get a listing of all the deleted/expunged messages in a specific folder, search for the right message and write down the message UID. .. parsed-literal:: :command:`# su - cyrus -c "/usr/lib/cyrus-imapd/unexpunge -l user/john.doe/Archive@example.org"` UID: 1 Size: 634 Sent: Wed Mar 4 12:00:00 2015 Recv: Wed Mar 4 00:17:33 2015 Expg: Wed Mar 4 00:22:47 2015 From: Doe, Jane To : Doe, John Cc : Bcc : Subj: "Important notes for the next trip!" #. Restore the message (single message) .. parsed-literal:: :command:`# su - cyrus -c "/usr/lib/cyrus-imapd/unexpunge -u -d -v user/john.doe/Archive@example.org 1"` restoring expunged messages in mailbox 'example/org!user/john.doe/Archive' Unexpunged example/org!user/john.doe/Archive: 1 => 2 restored 1 expunged messages #. (Alternative) Restore all message from this folder (double check before!) .. parsed-literal:: :command:`# su - cyrus -c "/usr/lib/cyrus-imapd/unexpunge -a -d -v user/john.doe/Archive@example.org"` restoring all expunged messages in mailbox 'example/org!user/john.doe/Archive' Unexpunged example/org!user/john.doe/Archive: 2 => 3 restored 1 expunged messages #. When working and the storage layer it sometimes can be useful to reset the caches for a specific user. Kolab componants like iRony are heavy taking use of cache. .. parsed-literal:: :command:`# cd /usr/share/roundcubemail/` :command:`# plugins/libkolab/bin/modcache.sh clear -u john.doe@example.org -h localhost` 4 records deleted from 'kolab_folders' Restore a Deleted Folder ^^^^^^^^^^^^^^^^^^^^^^^^ To restore a complete folder that got deleted you can make use of the :command:`kolab` cli tools. #. Identify the folder that needs to get restored: .. parsed-literal:: :command:`# kolab list-deleted-mailboxes` DELETED/user/john.doe/Calendar/54EBC651@example.org (Deleted at 2015-02-24 01:31:13) .. note:: the 54EBC651 part is an hex-encoded unixtimestamp .. parsed-literal:: :command:`# perl -ke 'print scalar(localtime(hex("54EBC651")));` Thu Feb 24 01:31:13 2015 #. Undelete the whole folder .. parsed-literal:: :command:`# kolab undelete mailbox DELETED/user/john.doe/Calendar/54EBC651@example.org` #. If you encounter problems think about clearing the cache (see above). MySQL ===== Databases and Tables You Care About ----------------------------------- There's little purpose to backing up caches, so consider either: * Backing them up under a significantly more volatile strategy, or * Not including them in the backup at all. Backup ------ The backup of MySQL too consists of three steps: #. Making the data to backup available in a form the backup program understands, #. Including the data in the actual backup, #. Cleanup. For the execution of a pre-script, and therefore what data to include in the backup, as well as the cleanup, a choice should be made between :ref:`admin-backup-mysql-lvm_snapshots` and :ref:`admin-backup-mysql-mysqldump`. .. _admin-backup-mysql-mysqldump: Using :command:`mysqldump` ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _admin-backup-mysql-lvm_snapshots: Using LVM Snapshots ^^^^^^^^^^^^^^^^^^^ The larger the MySQL database(s), the less likely you are going to backup MySQL using :command:`mysqldump`. With larger databases, for one, the contents of the database may change while you're exporting the database. Luckily, there's a ``--single-transaction`` option to :command:`mysqldump`, but again in the case of larger MySQL databases, this directly impacts production. Do **NOT** use this method if you can afford to run one or more read-only slaves. Use whichever method taking the read-only slave offline temporarily and then back up the data from it. An alternative to backup MySQL with :command:`mysqldump` is to use LVM snapshots on a logical volume underneath MySQL: #. Flush everything MySQL may have cached to disk, #. Lock MySQL, #. Create an LVM snapshot, #. Unlock MySQL, #. Sync the contents of the snapshot anywhere you like. The trick is in between step 2 and 4, as InnoDB automatically removes any standing locks at the end of the session. You MUST therefore hold on to the session while you create the LVM snapshot: .. parsed-literal:: ( date > /var/log/backup-mysql.log && \\ echo "FLUSH TABLES WITH READ LOCK;" && \\ sleep *$x* && \\ lvcreate --size 10G --snapshot \\ --name lv_mysql_snap /dev/vg_db01/lv_mysql >> \\ /var/log/backup-mysql.log 2>&1 && \\ echo "SHOW MASTER STATUS;" && \\ echo "UNLOCK TABLES;" && \\ date >> /var/log/backup-mysql.log && \\ echo "\quit" \\ ) | mysql >> /var/log/backup-mysql.log 2>&1 Creating a subshell with the output of that subshell piped through MySQL keeps the session open while creating a snapshot of the logical volume, however: #. The flushing of tables establishing a read lock is a command that returns immediately. As it requests a global read lock, that waits for all other read locks to expire before it actually goes about flushing tables and read locking them, this must not be used for database servers that have long-running queries (which a Kolab Groupware server has not). #. Use the *$x* in "*sleep $x*" to establish the margin in between issuing the flush command to MySQL, and the snapshot being created. An increased number for *$x* would indicate slower storage and/or larger queries. .. WARNING:: While this is actually tested, and it works, please note that you should still test for yourself -- using a restore. On decent database infrastructure with just Kolab Groupware making use of the environment, outside of office and/or peak hours, flushing, locking and snapshot creation can take as little as about **3ms**. .. _Kolab Systems AG: https://kolabsys.com .. _Certified Partners: https://kolabsys.com/company/partners diff --git a/source/conf.py b/source/conf.py index 5d6a15db..62857bf3 100644 --- a/source/conf.py +++ b/source/conf.py @@ -1,388 +1,389 @@ # -*- coding: utf-8 -*- # # Kolab Groupware documentation build configuration file, created by # sphinx-quickstart on Tue Jul 16 12:32:13 2013. # # This file is execfile()d with the current directory set to its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys, os, glob, imp # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path = [ os.path.join( os.path.dirname(os.path.abspath(__file__)), '..', 'ext' ) ] + sys.path # -- General configuration ----------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.extlinks', #'sphinx.ext.mathjax', 'sphinx.ext.todo', 'sphinx.ext.graphviz', 'sphinx.ext.ifconfig', 'kolab.fancyfigure', #'kolab.phabricator', ] # fancybox extension config fancybox_config = { 'helpers': { 'title': { 'type': 'inside' } } } # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. #source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. project = u'Kolab Groupware' copyright = u'2011-2015, Jeroen van Meeuwen' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = '3.4' # The full version, including alpha/beta/rc tags. release = '' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. language = None # If true, a document’s text domain is its docname if it is a top-level project file # and its very base directory otherwise. # By default, the document markup/code.rst ends up in the markup text domain. # With this option set to False, it is markup/code. gettext_compact=False locale_dirs = ['../locale/'] # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. #today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = [ 'webmail-user-guide/roundcubemail-plugins-kolab/*' ] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. show_authors = True # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] # -- Options for HTML output --------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = 'sphinxdoc' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. #html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. html_theme_path = ['themes'] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. #html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. #html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. #html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. #html_domain_indices = True # If false, no index is generated. #html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, links to the reST sources are added to the pages. #html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. #html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. #html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = 'KolabGroupwaredoc' # -- Options for LaTeX output -------------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). #'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. #'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ('index', 'KolabGroupware.tex', u'Kolab Groupware Documentation', u'Jeroen van Meeuwen', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. #latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. #latex_use_parts = False # If true, show page references after internal links. #latex_show_pagerefs = False # If true, show URL addresses after external links. #latex_show_urls = False # Documents to append as an appendix to all manuals. #latex_appendices = [] # If false, no module index is generated. #latex_domain_indices = True # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'kolabgroupware', u'Kolab Groupware Documentation', [u'Jeroen van Meeuwen'], 1) ] # If true, show URL addresses after external links. #man_show_urls = False # -- Options for Texinfo output ------------------------------------------------ # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ('index', 'KolabGroupware', u'Kolab Groupware Documentation', u'Jeroen van Meeuwen', 'KolabGroupware', 'One line description of project.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. #texinfo_appendices = [] # If false, no module index is generated. #texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. #texinfo_show_urls = 'footnote' # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. epub_title = u'Kolab Groupware' epub_author = u'Jeroen van Meeuwen' epub_publisher = u'Jeroen van Meeuwen' epub_copyright = u'2013, Jeroen van Meeuwen' # The language of the text. It defaults to the language option # or en if the language is not set. #epub_language = '' # The scheme of the identifier. Typical schemes are ISBN or URL. #epub_scheme = '' # The unique identifier of the text. This can be a ISBN number # or the project homepage. #epub_identifier = '' # A unique identification for the text. #epub_uid = '' # A tuple containing the cover image and cover page html template filenames. #epub_cover = () # HTML files that should be inserted before the pages created by sphinx. # The format is a list of tuples containing the path and title. #epub_pre_files = [] # HTML files shat should be inserted after the pages created by sphinx. # The format is a list of tuples containing the path and title. #epub_post_files = [] # A list of files that should not be packed into the epub file. #epub_exclude_files = [] # The depth of the table of contents in toc.ncx. #epub_tocdepth = 3 # Allow duplicate toc entries. #epub_tocdup = True todo_include_todos = True # -- Load variables for client configuration docs ----------------------------- variables = {} default_tags = [] custom_tags = False config_files = glob.glob('./*/conf.py') if os.path.exists('./conf.local.py'): config_files.append(os.path.relpath('./conf.local.py')) # collect variables from submodule configs for pathname in config_files: try: conf = imp.load_source('conf', pathname) if hasattr(conf, 'variables'): variables.update(conf.variables) if hasattr(conf, 'tags'): custom_tags = True for tag in conf.tags: tags.add(tag) if hasattr(conf, 'module_tags'): default_tags += conf.module_tags if hasattr(conf, 'extensions'): extensions += conf.extensions # TODO: merge other config options like rst_prolog, rst_epilog, etc. except Exception, e: print "Failed to open config file", pathname print e # add default tags if no custom ones defined if not custom_tags: for tag in default_tags: tags.add(tag) # add variables as substitutions to the head of each page rst_prolog = "" for var,repl in variables.items(): rst_prolog += " .. |%s| replace:: %s\n" % (var, repl) rst_prolog += " .. |**%s**| replace:: **%s**\n" % (var, repl) # forward variables for substitutions in fancyfigures fancyfigure_variables = variables extlinks = { 'rfc': ('http://tools.ietf.org/html/rfc%s', 'RFC '), 'mock': ('https://git.kolab.org/T%s', 'Mock #'), 'task': ('https://git.kolab.org/T%s', 'Task #'), } rst_prolog += """ .. _Architecture & Design: https://git.kolab.org/tag/architecture_design/ .. _Differential: https://git.kolab.org/differential/ .. _Diffusion: https://git.kolab.org/diffusion/ .. _Drydock: https://git.kolab.org/drydock/ .. _EPEL for Enterprise Linux 6: http://download.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html .. _EPEL for Enterprise Linux 7: http://download.fedoraproject.org/pub/epel/7/x86_64/repoview/epel-release.html .. _Harbormaster: https://git.kolab.org/harbormaster/ .. _Herald: https://git.kolab.org/herald/ .. _Kolab Systems AG: https://kolabsystems.com .. _Maniphest: https://git.kolab.org/maniphest/ .. _Phabricator: https://git.kolab.org/ .. _Process Managers: https://git.kolab.org/tag/process_managers/ .. _Product Owners: https://git.kolab.org/tag/product_owners/ .. _Projects: https://git.kolab.org/projects/ .. _Quality Assurance: https://git.kolab.org/tag/quality_assurance/ .. _Scrum Masters: https://git.kolab.org/tag/process_managers/ .. _Sprints: https://git.kolab.org/project/sprint/ +.. _Why Your System Should Have a Proper FQDN: https://kanarip.wordpress.com/2016/02/04/why-your-system-requires-a-proper-fqdn/ """ diff --git a/source/developer-guide/documentation/writing-documentation.rst b/source/developer-guide/documentation/writing-documentation.rst index d6e97d2d..1e733a83 100644 --- a/source/developer-guide/documentation/writing-documentation.rst +++ b/source/developer-guide/documentation/writing-documentation.rst @@ -1,59 +1,59 @@ .. _dev-writing-documentation: ===================== Writing Documentation ===================== The Kolab community has a reference implementation of its releases, which can best be described as a **next-next-finish** installation [#]_ of a **single node** [#]_ running **Enterprise Linux 6** [#]_. For writing documentation, this means that all documented commands and file paths mentioned need to match that specific implementation [#]_ of Kolab installed on Enterprise Linux 6, and that every HOWTO needs to start at the aforementioned *null* situation. This sounds harsh, and it probably is, but here's how you can work with it: * When you create a HOWTO for something on Debian, your HOWTO should probably be titled: *HOWTO: Achieve Greatness (on Debian Wheezy)*. * When you do write a generic HOWTO, you can re-iterate the commands issued for different distributions:: After changing the configuration, restart the service: .. parsed-literal:: # :command:`service postfix restart` On Debian Wheezy, execute the following instead: .. parsed-literal:: # :command:`/etc/init.d/postfix restart` .. rubric:: Footnotes .. [#] This means to confirm the default settings (other than perhaps the - passwords) during :ref:`install-setup-kolab`, including but not + passwords) during :ref:`installation-guide-setup-kolab`, including but not limited to the characters used in the passwords chosen -- while we have learned of issues when using passwords with special characters, which relate to third party application defaults. .. [#] A single node is a single operating system instance; physical, virtual, docked or contained. .. [#] In the family of Enterprise Linux 6 distributions that we provide packages for are Red Hat Enterprise Linux and CentOS. .. [#] The specific implementation is a single-node deployment topology. diff --git a/source/installation-guide/centos-7.rst b/source/installation-guide/centos-7.rst index 04c60bdd..a9daf8c7 100644 --- a/source/installation-guide/centos-7.rst +++ b/source/installation-guide/centos-7.rst @@ -1,52 +1,52 @@ .. _installation-guide-centos-7: ==================================== Installation of Kolab 16 on CentOS 7 ==================================== The installation of Kolab Groupware on CentOS installs a number of additional packages, from the :term:`EPEL` software repository. Installation Procedure ====================== 1. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 2. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/16/CentOS_7/Kolab:16.repo` 3. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 4. Install the **yum-plugin-priorities** package: .. parsed-literal:: # :command:`yum install yum-plugin-priorities` 5. Make sure that the packages from the Kolab repositories have a higher priority than eg. the :term:`EPEL` packages: .. parsed-literal:: # :command:`for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done` 6. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-13/centos-6-enterprise-13.rst b/source/installation-guide/kolab-13/centos-6-enterprise-13.rst index 86cf6e0b..33fbe0b1 100644 --- a/source/installation-guide/kolab-13/centos-6-enterprise-13.rst +++ b/source/installation-guide/kolab-13/centos-6-enterprise-13.rst @@ -1,77 +1,77 @@ .. _installation-centos-6-enterprise-13: =============================================== Installation of Kolab Enterprise 13 on CentOS 6 =============================================== The installation of Kolab Groupware on CentOS installs a number of additional packages, from the :term:`EPEL` software repository, and the repositories for the Kolab Enterprise edition, provided by `Kolab Systems AG`_. Installation Procedure ====================== 1. Copy the client SSL certificate and key you have obtained from `Kolab Systems AG`_ as per the instructions listed on [#]_, summarized here for your convenience: #. Remove the passphrase from the SSL certificate key: .. parsed-literal:: # :command:`openssl rsa -in /path/to/private.key \\ -out /path/to/private.key.nopass` #. Concatenate the certificate file and the new key file without passphrase: .. parsed-literal:: # :command:`cat /path/to/public.crt /path/to/private.key.nopass \\ > /path/to/mirror.kolabsys.com.client.pem` #. Place the file :file:`mirror.kolabsys.com.ca.cert` in :file:`/etc/pki/tls/certs/`. #. Place the file :file:`mirror.kolabsys.client.pem` in :file:`/etc/pki/tls/private/`, and correct the permissions: .. parsed-literal:: # :command:`chown root:root /etc/pki/tls/private/mirror.kolabsys.com.client.pem` # :command:`chmod 640 /etc/pki/tls/private/mirror.kolabsys.com.client.pem` 2. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm` 3. Import this signature in to the RPM database: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/santiago.asc` 4. Install the Kolab Enterprise repository configuration package: .. parsed-literal:: # :command:`yum install https://ssl.kolabsys.com/kolab-enterprise-13-for-el6.rpm` 5. Install Kolab Enterprise: .. parsed-literal:: # :command:`yum install kolab` 6. Do not forget to also execute :command:`yum update`. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. rubric:: Footnotes .. [#] https://support.kolabsys.com/Obtaining,_Renewing_and_Using_a_Client_SSL_Certificate#Using_a_Customer_or_Partner_Client_SSL_Certificate diff --git a/source/installation-guide/kolab-13/rhel-6-enterprise-13.rst b/source/installation-guide/kolab-13/rhel-6-enterprise-13.rst index 417de2af..ff3239b1 100644 --- a/source/installation-guide/kolab-13/rhel-6-enterprise-13.rst +++ b/source/installation-guide/kolab-13/rhel-6-enterprise-13.rst @@ -1,77 +1,77 @@ .. _installation-rhel-6-enterprise-13: ================================================================= Installation of Kolab Enterprise 13 on Red Hat Enterprise Linux 6 ================================================================= The installation of Kolab Groupware on Red Hat Enterprise Linux installs a number of additional packages, from the :term:`EPEL` software repository, and the repositories for the Kolab Enterprise edition, provided by `Kolab Systems AG`_. Installation Procedure ====================== 1. Copy the client SSL certificate and key you have obtained from `Kolab Systems AG`_ as per the instructions listed on [#]_, summarized here for your convenience: #. Remove the passphrase from the SSL certificate key: .. parsed-literal:: # :command:`openssl rsa -in /path/to/private.key \\ -out /path/to/private.key.nopass` #. Concatenate the certificate file and the new key file without passphrase: .. parsed-literal:: # :command:`cat /path/to/public.crt /path/to/private.key.nopass \\ > /path/to/mirror.kolabsys.com.client.pem` #. Place the file :file:`mirror.kolabsys.com.ca.cert` in :file:`/etc/pki/tls/certs/`. #. Place the file :file:`mirror.kolabsys.client.pem` in :file:`/etc/pki/tls/private/`, and correct the permissions: .. parsed-literal:: # :command:`chown root:root /etc/pki/tls/private/mirror.kolabsys.com.client.pem` # :command:`chmod 640 /etc/pki/tls/private/mirror.kolabsys.com.client.pem` 2. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm` 3. Obtain a copy of the GPG signature used to sign packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/santiago.asc` 4. Install the Kolab Enterprise repository configuration package: .. parsed-literal:: # :command:`yum install https://ssl.kolabsys.com/kolab-enterprise-13-for-el6.rpm` 5. Install Kolab Enterprise: .. parsed-literal:: # :command:`yum install kolab` 6. Do not forget to also execute :command:`yum update`. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. rubric:: Footnotes .. [#] https://support.kolabsys.com/Obtaining,_Renewing_and_Using_a_Client_SSL_Certificate#Using_a_Customer_or_Partner_Client_SSL_Certificate diff --git a/source/installation-guide/kolab-14/centos-6-enterprise-14.rst b/source/installation-guide/kolab-14/centos-6-enterprise-14.rst index 98898e57..3bc1605c 100644 --- a/source/installation-guide/kolab-14/centos-6-enterprise-14.rst +++ b/source/installation-guide/kolab-14/centos-6-enterprise-14.rst @@ -1,77 +1,77 @@ .. _installation-guide-centos-6-enterprise-14: =============================================== Installation of Kolab Enterprise 14 on CentOS 6 =============================================== The installation of Kolab Groupware on CentOS installs a number of additional packages, from the :term:`EPEL` software repository, and the repositories for the Kolab Enterprise edition, provided by `Kolab Systems AG`_. Installation Procedure ====================== 1. Copy the client SSL certificate and key you have obtained from `Kolab Systems AG`_ as per the instructions listed on [1]_, summarized here for your convenience: #. Remove the passphrase from the SSL certificate key: .. parsed-literal:: # :command:`openssl rsa -in /path/to/private.key \\ -out /path/to/private.key.nopass` #. Concatenate the certificate file and the new key file without passphrase: .. parsed-literal:: # :command:`cat /path/to/public.crt /path/to/private.key.nopass \\ > /path/to/mirror.kolabsys.com.client.pem` #. Place the file :file:`mirror.kolabsys.com.ca.cert` in :file:`/etc/pki/tls/certs/`. #. Place the file :file:`mirror.kolabsys.client.pem` in :file:`/etc/pki/tls/private/`, and correct the permissions: .. parsed-literal:: # :command:`chown root:root /etc/pki/tls/private/mirror.kolabsys.com.client.pem` # :command:`chmod 640 /etc/pki/tls/private/mirror.kolabsys.com.client.pem` 2. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm` 3. Import this signature in to the RPM database: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/santiago.asc` 4. Install the Kolab Enterprise repository configuration package: .. parsed-literal:: # :command:`yum install https://ssl.kolabsys.com/kolab-enterprise-14-for-el6.rpm` 5. Install Kolab Enterprise: .. parsed-literal:: # :command:`yum install kolab` 6. Do not forget to also execute :command:`yum update`. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. rubric:: Footnotes .. [#] https://support.kolabsys.com/Obtaining,_Renewing_and_Using_a_Client_SSL_Certificate#Using_a_Customer_or_Partner_Client_SSL_Certificate diff --git a/source/installation-guide/kolab-14/centos-7-enterprise-14.rst b/source/installation-guide/kolab-14/centos-7-enterprise-14.rst index e419ec24..17deee6b 100644 --- a/source/installation-guide/kolab-14/centos-7-enterprise-14.rst +++ b/source/installation-guide/kolab-14/centos-7-enterprise-14.rst @@ -1,77 +1,77 @@ .. _installation-guide-centos-7-enterprise-14: =============================================== Installation of Kolab Enterprise 14 on CentOS 7 =============================================== The installation of Kolab Groupware on CentOS installs a number of additional packages, from the :term:`EPEL` software repository, and the repositories for the Kolab Enterprise edition, provided by `Kolab Systems AG`_. Installation Procedure ====================== 1. Copy the client SSL certificate and key you have obtained from `Kolab Systems AG`_ as per the instructions listed on [#]_, summarized here for your convenience: #. Remove the passphrase from the SSL certificate key: .. parsed-literal:: # :command:`openssl rsa -in /path/to/private.key \\ -out /path/to/private.key.nopass` #. Concatenate the certificate file and the new key file without passphrase: .. parsed-literal:: # :command:`cat /path/to/public.crt /path/to/private.key.nopass \\ > /path/to/mirror.kolabsys.com.client.pem` #. Place the file :file:`mirror.kolabsys.com.ca.cert` in :file:`/etc/pki/tls/certs/`. #. Place the file :file:`mirror.kolabsys.client.pem` in :file:`/etc/pki/tls/private/`, and correct the permissions: .. parsed-literal:: # :command:`chown root:root /etc/pki/tls/private/mirror.kolabsys.com.client.pem` # :command:`chmod 640 /etc/pki/tls/private/mirror.kolabsys.com.client.pem` 2. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 3. Import this signature in to the RPM database: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/maipo.asc` 4. Install the Kolab Enterprise repository configuration package: .. parsed-literal:: # :command:`yum install https://ssl.kolabsys.com/kolab-enterprise-14-for-el7.rpm` 5. Install Kolab Enterprise: .. parsed-literal:: # :command:`yum install kolab` 6. Do not forget to also execute :command:`yum update`. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. rubric:: Footnotes .. [#] https://support.kolabsys.com/Obtaining,_Renewing_and_Using_a_Client_SSL_Certificate#Using_a_Customer_or_Partner_Client_SSL_Certificate diff --git a/source/installation-guide/kolab-14/debian-7-enterprise-14.rst b/source/installation-guide/kolab-14/debian-7-enterprise-14.rst index a4227a3a..38b1913e 100644 --- a/source/installation-guide/kolab-14/debian-7-enterprise-14.rst +++ b/source/installation-guide/kolab-14/debian-7-enterprise-14.rst @@ -1,67 +1,67 @@ .. _installation-guide-debian-7-enterprise-14: ======================================================== Installation of Kolab Enterprise 14 on Debian 7 (Wheezy) ======================================================== 1. Install the **apt-transport-https** package: .. parsed-literal:: # :command:`aptitude -y install apt-transport-https` 2. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: .. parsed-literal:: deb https://mirror.kolabsys.com/debian/kolab-14/ wheezy release updates deb-src https://mirror.kolabsys.com/debian/kolab-14/ wheezy release updates 3. To ensure the Kolab packages have priority over the Debian packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the mirror.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin mirror.kolabsys.com Pin-Priority: 501 4. Install the client certificate and certificate authority files: 5. Configure **APT** to use the certificates installed in step 4 by creating a file ``/etc/apt/apt.conf.d/71kolab`` with the following contents: .. parsed-literal:: Acquire { https { mirror.kolabsys.com { Verify-Peer "false"; Verify-Host "false"; CaInfo "/etc/apt/certs/mirror.kolabsys.com.ca.cert"; SslCert "/etc/apt/certs/mirror.kolabsys.com.client.pem"; SslKey "/etc/apt/certs/mirror.kolabsys.com.client.pem"; }; }; }; 6. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 7. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude install kolab` 8. When asked to confirm you want to install the package and its dependencies, press Enter. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-14/rhel-6-enterprise-14.rst b/source/installation-guide/kolab-14/rhel-6-enterprise-14.rst index 148c9316..918e4a60 100644 --- a/source/installation-guide/kolab-14/rhel-6-enterprise-14.rst +++ b/source/installation-guide/kolab-14/rhel-6-enterprise-14.rst @@ -1,77 +1,77 @@ .. _installation-guide-rhel-6-enterprise-14: ================================================================= Installation of Kolab Enterprise 14 on Red Hat Enterprise Linux 6 ================================================================= The installation of Kolab Groupware on Red Hat Enterprise Linux installs a number of additional packages, from the :term:`EPEL` software repository, and the repositories for the Kolab Enterprise edition, provided by `Kolab Systems AG`_. Installation Procedure ====================== 1. Copy the client SSL certificate and key you have obtained from `Kolab Systems AG`_ as per the instructions listed on [1]_, summarized here for your convenience: #. Remove the passphrase from the SSL certificate key: .. parsed-literal:: # :command:`openssl rsa -in /path/to/private.key \\ -out /path/to/private.key.nopass` #. Concatenate the certificate file and the new key file without passphrase: .. parsed-literal:: # :command:`cat /path/to/public.crt /path/to/private.key.nopass \\ > /path/to/mirror.kolabsys.com.client.pem` #. Place the file :file:`mirror.kolabsys.com.ca.cert` in :file:`/etc/pki/tls/certs/`. #. Place the file :file:`mirror.kolabsys.client.pem` in :file:`/etc/pki/tls/private/`, and correct the permissions: .. parsed-literal:: # :command:`chown root:root /etc/pki/tls/private/mirror.kolabsys.com.client.pem` # :command:`chmod 640 /etc/pki/tls/private/mirror.kolabsys.com.client.pem` 2. Install the :term:`EPEL` repository .. parsed-literal:: # :command:`rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm` 3. Import this signature in to the RPM database: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/santiago.asc` 4. Install the Kolab Enterprise repository configuration package: .. parsed-literal:: # :command:`yum install https://ssl.kolabsys.com/kolab-enterprise-14-for-el6.rpm` 5. Install Kolab Enterprise: .. parsed-literal:: # :command:`yum install kolab` 6. Do not forget to also execute :command:`yum update`. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. rubric:: Footnotes .. [#] https://support.kolabsys.com/Obtaining,_Renewing_and_Using_a_Client_SSL_Certificate#Using_a_Customer_or_Partner_Client_SSL_Certificate. diff --git a/source/installation-guide/kolab-14/rhel-7-enterprise-14.rst b/source/installation-guide/kolab-14/rhel-7-enterprise-14.rst index 00e89c1c..86e55813 100644 --- a/source/installation-guide/kolab-14/rhel-7-enterprise-14.rst +++ b/source/installation-guide/kolab-14/rhel-7-enterprise-14.rst @@ -1,77 +1,77 @@ .. _installation-guide-rhel-7-enterprise-14: ================================================================= Installation of Kolab Enterprise 14 on Red Hat Enterprise Linux 7 ================================================================= The installation of Kolab Groupware on Red Hat Enterprise Linux installs a number of additional packages, from the :term:`EPEL` software repository, and the repositories for the Kolab Enterprise edition, provided by `Kolab Systems AG`_. Installation Procedure ====================== 1. Copy the client SSL certificate and key you have obtained from `Kolab Systems AG`_ as per the instructions listed on [#]_, summarized here for your convenience: #. Remove the passphrase from the SSL certificate key: .. parsed-literal:: # :command:`openssl rsa -in /path/to/private.key \\ -out /path/to/private.key.nopass` #. Concatenate the certificate file and the new key file without passphrase: .. parsed-literal:: # :command:`cat /path/to/public.crt /path/to/private.key.nopass \\ > /path/to/mirror.kolabsys.com.client.pem` #. Place the file :file:`mirror.kolabsys.com.ca.cert` in :file:`/etc/pki/tls/certs/`. #. Place the file :file:`mirror.kolabsys.client.pem` in :file:`/etc/pki/tls/private/`, and correct the permissions: .. parsed-literal:: # :command:`chown root:root /etc/pki/tls/private/mirror.kolabsys.com.client.pem` # :command:`chmod 640 /etc/pki/tls/private/mirror.kolabsys.com.client.pem` 2. Install the :term:`EPEL` repository" .. parsed-literal:: # :command:`rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 3. Import this signature in to the RPM database: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/maipo.asc` 4. Install the Kolab Enterprise repository configuration package: .. parsed-literal:: # :command:`yum --enablerepo=rhel-7-server-optional-rpms https://ssl.kolabsys.com/kolab-enterprise-14-for-el7.rpm` 5. Install Kolab Enterprise: .. parsed-literal:: # :command:`yum install kolab` 6. Do not forget to also execute :command:`yum update`. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. rubric:: Footnotes .. [#] https://support.kolabsys.com/Obtaining,_Renewing_and_Using_a_Client_SSL_Certificate#Using_a_Customer_or_Partner_Client_SSL_Certificate. diff --git a/source/installation-guide/kolab-3.3/centos-community.rst b/source/installation-guide/kolab-3.3/centos-community.rst index c0f2820c..7d0465f2 100644 --- a/source/installation-guide/kolab-3.3/centos-community.rst +++ b/source/installation-guide/kolab-3.3/centos-community.rst @@ -1,35 +1,35 @@ ====================== Installation on CentOS ====================== 1. Install the :term:`EPEL`_ repository: .. parsed-literal:: # :command:`rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 2. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3/CentOS_7/Kolab:3.3.repo` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/CentOS_7/Kolab:3.3:Updates.repo` 3. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 4. 4. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. _EPEL for CentOS 6: http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html .. _EPEL for CentOS 7: http://download.fedoraproject.org/pub/epel/beta/7/x86_64/repoview/epel-release.html diff --git a/source/installation-guide/kolab-3.3/debian.rst b/source/installation-guide/kolab-3.3/debian.rst index c55aa734..baba41d5 100644 --- a/source/installation-guide/kolab-3.3/debian.rst +++ b/source/installation-guide/kolab-3.3/debian.rst @@ -1,72 +1,72 @@ ====================== Installation on Debian ====================== Debian Wheezy ============= 1. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: For Debian Wheezy: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/3.3/Debian_7.0/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/Debian_7.0/ ./ For Debian Jessie: .. warning:: The packages for Debian Jessie are in an experimental stage, as is Jessie itself, and the packages are provided solely on popular demand. .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/3.3/Debian_8.0/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/Debian_8.0/ ./ 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`gpg --search devel@lists.kolab.org` gpg: searching for "devel@lists.kolab.org" from hkp server pgp.mit.edu (1) Kolab Development Coordination Mailing List 2048 bit RSA key 446D5A45, created: 2014-08-20 Keys 1-1 of 1 for "devel@lists.kolab.org". Enter number(s), N)ext, or Q)uit > :command:`1` The key's fingerprint is: ``79D8 6A05 FDE6 C9FB 4E43 A6C5 830C 2BCF 446D 5A45`` .. parsed-literal:: # :command:`gpg --export --armor devel@lists.kolab.org | apt-key add -` 3. To ensure the Kolab packages have priority over the Debian packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the obs.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 4. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 5. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude install kolab` 6. When asked to confirm you want to install the package and its dependencies, press Enter. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.3/fedora.rst b/source/installation-guide/kolab-3.3/fedora.rst index 3694131a..a152ef8c 100644 --- a/source/installation-guide/kolab-3.3/fedora.rst +++ b/source/installation-guide/kolab-3.3/fedora.rst @@ -1,38 +1,38 @@ ====================== Installation on Fedora ====================== 1. Install the Kolab Groupware repository configuration: For Fedora 20 (Heisenburg): .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3/Fedora_20/Kolab:3.3.repo` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/Fedora_20/Kolab:3.3:Updates.repo` 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`gpg --search devel@lists.kolab.org` gpg: searching for "devel@lists.kolab.org" from hkp server pgp.mit.edu (1) Kolab Development Coordination Mailing List 2048 bit RSA key 446D5A45, created: 2014-08-20 Keys 1-1 of 1 for "devel@lists.kolab.org". Enter number(s), N)ext, or Q)uit > :command:`1` The key's fingerprint is: ``79D8 6A05 FDE6 C9FB 4E43 A6C5 830C 2BCF 446D 5A45`` .. parsed-literal:: # :command:`gpg --export --armor devel@lists.kolab.org > devel.asc` # :command:`rpm --import devel.asc` 3. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.3/opensuse.rst b/source/installation-guide/kolab-3.3/opensuse.rst index 7f993e10..1d53bf13 100644 --- a/source/installation-guide/kolab-3.3/opensuse.rst +++ b/source/installation-guide/kolab-3.3/opensuse.rst @@ -1,44 +1,44 @@ ======================== Installation on openSUSE ======================== 1. Install the Kolab Groupware repositories: For openSUSE 13.1: .. parsed-literal:: # :command:`zypper ar http://obs.kolabsys.com/repositories/Kolab:/3.3/openSUSE_13.1/Kolab:3.3.repo` # :command:`zypper ar http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/openSUSE_13.1/Kolab:3.3:Updates.repo` For openSUSE 12.3: .. parsed-literal:: # :command:`zypper ar http://obs.kolabsys.com/repositories/Kolab:/3.3/openSUSE_12.3/Kolab:3.3.repo` # :command:`zypper ar http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/openSUSE_12.3/Kolab:3.3:Updates.repo` 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`gpg --search devel@lists.kolab.org` gpg: searching for "devel@lists.kolab.org" from hkp server pgp.mit.edu (1) Kolab Development Coordination Mailing List 2048 bit RSA key 446D5A45, created: 2014-08-20 Keys 1-1 of 1 for "devel@lists.kolab.org". Enter number(s), N)ext, or Q)uit > :command:`1` The key's fingerprint is: ``79D8 6A05 FDE6 C9FB 4E43 A6C5 830C 2BCF 446D 5A45`` .. parsed-literal:: # :command:`gpg --export --armor devel@lists.kolab.org > devel.asc` # :command:`rpm --import devel.asc` 3. Install Kolab Groupware: .. parsed-literal:: # :command:`zypper in kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.3/rhel-community.rst b/source/installation-guide/kolab-3.3/rhel-community.rst index 83544e71..5efc9a94 100644 --- a/source/installation-guide/kolab-3.3/rhel-community.rst +++ b/source/installation-guide/kolab-3.3/rhel-community.rst @@ -1,60 +1,60 @@ ======================================== Installation on Red Hat Enterprise Linux ======================================== 1. Install the `EPEL repository `_ configuration using the RPM package linked to from: * `EPEL for CentOS 7`_ * `EPEL for CentOS 6`_ .. parsed-literal:: # :command:`rpm -Uhv http://url/to/epel-release.rpm` 2. Install the Kolab Groupware repository configuration: For CentOS 7: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3/CentOS_7/Kolab:3.3.repo` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/CentOS_7/Kolab:3.3:Updates.repo` For CentOS 6: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3/CentOS_6/Kolab:3.3.repo` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/CentOS_6/Kolab:3.3:Updates.repo` 3. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`gpg --search devel@lists.kolab.org` gpg: searching for "devel@lists.kolab.org" from hkp server pgp.mit.edu (1) Kolab Development Coordination Mailing List 2048 bit RSA key 446D5A45, created: 2014-08-20 Keys 1-1 of 1 for "devel@lists.kolab.org". Enter number(s), N)ext, or Q)uit > :command:`1` The key's fingerprint is: ``79D8 6A05 FDE6 C9FB 4E43 A6C5 830C 2BCF 446D 5A45`` .. parsed-literal:: # :command:`gpg --export --armor devel@lists.kolab.org > devel.asc` # :command:`rpm --import devel.asc` 4. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. .. _EPEL for CentOS 6: http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html .. _EPEL for CentOS 7: http://download.fedoraproject.org/pub/epel/beta/7/x86_64/repoview/epel-release.html diff --git a/source/installation-guide/kolab-3.3/suse.rst b/source/installation-guide/kolab-3.3/suse.rst index 5b57dbdf..aa3c2576 100644 --- a/source/installation-guide/kolab-3.3/suse.rst +++ b/source/installation-guide/kolab-3.3/suse.rst @@ -1,9 +1,9 @@ ============================================ Installation on SUSE Linux Enterprise Server ============================================ .. todo:: The installation chapter for SUSE Linux Enterprise Server should be written. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.3/ubuntu.rst b/source/installation-guide/kolab-3.3/ubuntu.rst index 0f286acf..298e1af9 100644 --- a/source/installation-guide/kolab-3.3/ubuntu.rst +++ b/source/installation-guide/kolab-3.3/ubuntu.rst @@ -1,70 +1,70 @@ ====================== Installation on Ubuntu ====================== 1. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: For Ubuntu 12.04: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/3.3/Ubuntu_12.04/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/Ubuntu_12.04/ ./ For Ubuntu 13.10: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/3.3/Ubuntu_13.10/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/Ubuntu_13.10/ ./ For Ubuntu 14.04: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/3.3/Ubuntu_14.04/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.3:/Updates/Ubuntu_14.04/ ./ 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`gpg --search devel@lists.kolab.org` gpg: searching for "devel@lists.kolab.org" from hkp server pgp.mit.edu (1) Kolab Development Coordination Mailing List 2048 bit RSA key 446D5A45, created: 2014-08-20 Keys 1-1 of 1 for "devel@lists.kolab.org". Enter number(s), N)ext, or Q)uit > :command:`1` The key's fingerprint is: ``79D8 6A05 FDE6 C9FB 4E43 A6C5 830C 2BCF 446D 5A45`` .. parsed-literal:: # :command:`gpg --export --armor devel@lists.kolab.org | apt-key add -` 3. To ensure the Kolab packages have priority over the Ubuntu packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the obs.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 4. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 5. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude install kolab` 6. When asked to confirm you want to install the package and its dependencies, press Enter. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.4/centos-7-community-3.4.rst b/source/installation-guide/kolab-3.4/centos-7-community-3.4.rst index d9dc0ce7..a6d04c3e 100644 --- a/source/installation-guide/kolab-3.4/centos-7-community-3.4.rst +++ b/source/installation-guide/kolab-3.4/centos-7-community-3.4.rst @@ -1,45 +1,45 @@ .. _installation-guide-centos-7-community-3.4: ===================================== Installation of Kolab 3.4 on CentOS 7 ===================================== 1. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 2. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.4/CentOS_7/Kolab:3.4.repo` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.4:/Updates/CentOS_7/Kolab:3.4:Updates.repo` 3. Install the **yum-plugin-priorities** package: .. parsed-literal:: # :command:`yum install yum-plugin-priorities` 4. Make sure that the packages from the Kolab repositories have a higher priority than eg. the Epel packages: .. parsed-literal:: # :command:`for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done` 5. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 6. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.4/debian-7-community-3.4.rst b/source/installation-guide/kolab-3.4/debian-7-community-3.4.rst index 9d7190ab..e58258a5 100644 --- a/source/installation-guide/kolab-3.4/debian-7-community-3.4.rst +++ b/source/installation-guide/kolab-3.4/debian-7-community-3.4.rst @@ -1,56 +1,56 @@ .. _installation-guide-debian-7-community-3.4: ===================================== Installation of Kolab 3.4 on Debian 7 ===================================== 1. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/3.4/Debian_7.0/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.4:/Updates/Debian_7.0/ ./ 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`gpg --search devel@lists.kolab.org` gpg: searching for "devel@lists.kolab.org" from hkp server pgp.mit.edu (1) Kolab Development Coordination Mailing List 2048 bit RSA key 446D5A45, created: 2014-08-20 Keys 1-1 of 1 for "devel@lists.kolab.org". Enter number(s), N)ext, or Q)uit > :command:`1` The key's fingerprint is: ``79D8 6A05 FDE6 C9FB 4E43 A6C5 830C 2BCF 446D 5A45`` .. parsed-literal:: # :command:`gpg --export --armor devel@lists.kolab.org | apt-key add -` 3. To ensure the Kolab packages have priority over the Debian packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the obs.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 4. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 5. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude install kolab` 6. When asked to confirm you want to install the package and its dependencies, press Enter. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.4/debian-8-community-3.4.rst b/source/installation-guide/kolab-3.4/debian-8-community-3.4.rst index 9522e093..04f97083 100644 --- a/source/installation-guide/kolab-3.4/debian-8-community-3.4.rst +++ b/source/installation-guide/kolab-3.4/debian-8-community-3.4.rst @@ -1,56 +1,56 @@ .. _installation-debian-8-community-3.4: ===================================== Installation of Kolab 3.4 on Debian 8 ===================================== 1. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/3.4/Debian_8.0/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.4:/Updates/Debian_8.0/ ./ 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`gpg --search devel@lists.kolab.org` gpg: searching for "devel@lists.kolab.org" from hkp server pgp.mit.edu (1) Kolab Development Coordination Mailing List 2048 bit RSA key 446D5A45, created: 2014-08-20 Keys 1-1 of 1 for "devel@lists.kolab.org". Enter number(s), N)ext, or Q)uit > :command:`1` The key's fingerprint is: ``79D8 6A05 FDE6 C9FB 4E43 A6C5 830C 2BCF 446D 5A45`` .. parsed-literal:: # :command:`gpg --export --armor devel@lists.kolab.org | apt-key add -` 3. To ensure the Kolab packages have priority over the Debian packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the obs.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 4. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 5. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude install kolab` 6. When asked to confirm you want to install the package and its dependencies, press Enter. -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/kolab-3.4/rhel-7-community-3.4.rst b/source/installation-guide/kolab-3.4/rhel-7-community-3.4.rst index 01a786db..5f8ff58f 100644 --- a/source/installation-guide/kolab-3.4/rhel-7-community-3.4.rst +++ b/source/installation-guide/kolab-3.4/rhel-7-community-3.4.rst @@ -1,45 +1,45 @@ .. _installation-rhel-7-community-3.4: ======================================================= Installation of Kolab 3.4 on Red Hat Enterprise Linux 7 ======================================================= 1. Install the :term:`EPEL`_ repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 2. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.4/CentOS_7/Kolab:3.4.repo` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/3.4:/Updates/CentOS_7/Kolab:3.4:Updates.repo` 3. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 4. Make sure that the packages from the Kolab repositories have a higher priority than eg. the Epel packages: .. parsed-literal:: # :command:`for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done` 5. Install the **yum-plugin-priorities** package: .. parsed-literal:: # :command:`yum --enablerepo=rhel-7-server-optional-rpms install yum-plugin-priorities` 6. Install Kolab Groupware: .. parsed-literal:: # :command:`yum --enablerepo=rhel-7-server-optional-rpms install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/preparing-the-system.rst b/source/installation-guide/preparing-the-system.rst index 2c7ab786..45f97b6d 100644 --- a/source/installation-guide/preparing-the-system.rst +++ b/source/installation-guide/preparing-the-system.rst @@ -1,285 +1,292 @@ +.. _installation-guide-preparing-the-system: + ==================== Preparing the System ==================== -.. _install-preparing_the_system-partitioning: +.. _installation-guide-preparing-the-system-partitioning: Partitioning ============ When installing the Kolab server, we recommend using LVM when partitioning the system. The following directories could benefit from being on separate logical volumes, leaving about 10% of raw disk space in the volume group unallocated: * :file:`/var/lib/dirsrv/` * :file:`/var/lib/mysql/` * :file:`/var/lib/imap/` * :file:`/var/spool/imap/` .. NOTE:: Partition and/or divide into logical volumes, configure the mount points and mount the filesystems prior to the installation of packages, as packages may deploy files into these directories. Should you decide to partition only after the packages have already been installed, or after the deployment has already been used, first mount the filesystems somewhere else and synchronize the contents from the original directories over to the new filesystem hierarchy. Please note services should be stopped before doing so, or only corrupt data will be transfered. Remove the original contents of the filesystem after having synchronized, then mount the filesystems under their target mount points. For large or multi-domain installations, we suggest moving :file:`/var/lib/imap/` and :file:`/var/spool/imap/` to :file:`/srv/imap/[$domain/]config/` and :file:`/srv/imap/[$domain/]default/` respectively. In allowing :file:`/srv/imap/` to be one separate partition, backup using LVM snapshots is easier. Note that ``$domain`` in the aforementioned path is optional, and should only be used when multiple, but separate, isolated IMAP servers are to be started. .. NOTE:: When partitions are mounted under the aforementioned directories, they do not necessarily have the correct filesystem permissions any longer. The following is a list of default permissions. .. parsed-literal:: drwxr-xr-x. 3 root root 4096 May 11 11:49 /var/lib/dirsrv/ drwxr-xr-x. 7 mysql mysql 4096 May 11 15:34 /var/lib/mysql/ drwxr-x---. 20 cyrus mail 4096 May 11 17:04 /var/lib/imap/ drwx------. 3 cyrus mail 4096 May 11 15:36 /var/spool/imap/ -.. _install-preparing_the_system-selinux: +.. _installation-guide-preparing-the-system-selinux: SELinux ======= Not all components of Kolab Groupware are currently completely compatible with running under SELinux enforcing the targeted policy. Please consider configuring SELinux to be permissive. Please let us know what AVC denials occur so we can work on fixing the issue. .. WARNING:: The Kolab Web Administration Panel and Cyrus IMAP against the Kolab SASL authentication daemon currently require SELinux **NOT** enforcing the targeted policy. To view the current mode SELinux operates in, execute the following command: .. parsed-literal:: # :command:`sestatus` To temporarily disable SELinux's enforcement of the targeted policy (without rebooting the system), issue the following command: .. parsed-literal:: # :command:`setenforce 0` To disable SELinux's enforcement of the targeted policy in a manner persistent across system restarts, edit :file:`/etc/selinux/config` and set SELINUX to permissive rather than enforcing. Doing so also changes the ``Mode from config file:`` line in the output of :command:`sestatus`. -.. _install-preparing_the_system-firewall: +.. _installation-guide-preparing-the-system-firewall: System Firewall =============== Kolab Groupware deliberately does not touch any firewall settings, perhaps wrongly assuming you know best. Before you continue, you should verify your firewall allows the standard ports used with Kolab Groupware. These ports include: +------+-----------+------------------------------------------+ | Port | Protocol | Description | +======+===========+==========================================+ | 25 | tcp | Used to receive emails. | +------+-----------+------------------------------------------+ | 80 | tcp | Used for web interfaces. | +------+-----------+------------------------------------------+ | 110 | tcp | Used for POP. | +------+-----------+------------------------------------------+ | 143 | tcp | Used for IMAP. | +------+-----------+------------------------------------------+ | 389 | tcp | Used for LDAP directory services. | +------+-----------+------------------------------------------+ | 443 | tcp | Used for secure web interfaces. | +------+-----------+------------------------------------------+ | 465 | tcp | Used for secure mail transmission. | +------+-----------+------------------------------------------+ | 587 | tcp | Used for secure mail submission. | +------+-----------+------------------------------------------+ | 636 | tcp | Used for secure LDAP directory services. | +------+-----------+------------------------------------------+ | 993 | tcp | Used for secure IMAP. | +------+-----------+------------------------------------------+ | 995 | tcp | Used for secure POP. | +------+-----------+------------------------------------------+ | 4190 | tcp | Used for Managesieve. | +------+-----------+------------------------------------------+ | 8080 | tcp | Used for Manticore. | +------+-----------+------------------------------------------+ CentOS / RHEL 6 --------------- Summarizing these changes into /etc/sysconfig/iptables, working off of an original, default installation of Enterprise Linux 6, this file would look as follows: .. parsed-literal:: # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. \*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 636 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 4190 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT After changing /etc/sysconfig/iptables, execute a service restart: .. parsed-literal:: # :command:`service iptables restart` CentOS / RHEL 7 --------------- CentOS / RHEL 6 is using the ``firewalld`` to manage the kernel firewall. You've to make use of the ``firewall-cmd`` command to add new rules to open the required ports. This script will open the required ports/services and make this changes permanent and reboot-save. .. parsed-literal:: for s in ssh http https pop3s imaps smtp ldap ldaps do firewall-cmd --permanent --add-service=$s done for p in 110/tcp 143/tcp 587/tcp do firewall-cmd --permanent --add-port=$p done firewall-cmd --reload System Users ============ * No user or group with IDs 412, 413 or 414 may exist on the system prior to the installation of Kolab. * No user or group with the names kolab, kolab-n or kolab-r may exist on the system prior to the installation of Kolab. -.. _install-preparing-the-system_hostname-and-fqdn: +.. _installation-guide-preparing-the-system-hostname-and-fqdn: The System Hostname and FQDN ============================ The setup procedure of Kolab Groupware also requires that the Fully Qualified Domain Name (FQDN) for the system resolves back to the system. If the FQDN does not resolve back to the system itself, the Kolab Groupware server components will refer to the system by the configured or detected FQDN, but will fail to communicate with one another. +.. NOTE:: + + Please see `Why Your System Should Have a Proper FQDN`_ for more + information. + Should the FQDN of the system (found with hostname -f) be, for example, ``kolab.example.org``, then ``kolab.example.org`` should resolve to the IP address configured on one of the network interfaces not the loopback interface, and the IP address configured on said network interface should have a reverse DNS entry resulting in at least ``kolab.example.org``. Example Network and DNS Configuration ------------------------------------- The following lists an example network and DNS configuration for a Kolab Groupware server. .. parsed-literal:: # :command:`hostname -f` kolab.example.org # :command:`ping -c 1 kolab.example.org` PING kolab.example.org (192.168.122.40) 56(84) bytes of data. 64 bytes from kolab.example.org (192.168.122.40): icmp_seq=1 ttl=64 time=0.014 ms --- kolab.example.org ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.014/0.014/0.014/0.000 ms # :command:`ip addr sh eth0` 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:72:10:83 brd ff:ff:ff:ff:ff:ff inet 192.168.122.40/24 brd 192.168.122.255 scope global eth0 inet6 fe80::5054:ff:fe72:1083/64 scope link valid_lft forever preferred_lft forever The following depicts what services like LDAP and others will be using: .. parsed-literal:: # :command:`python -c 'import socket; print socket.getfqdn();'` kolab.example.org If you want to quickly fix your system's FQDN resolving back to your server, an entry in :file:`/etc/hosts` suffices for the time being: .. parsed-literal:: # :command:`echo "$(ip addr sh eth0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f 1) $(hostname -f)" >> /etc/hosts` LXC Containers ============== LXC containers ("chroots on steroids") need ``/dev/shm/`` mounted read/write for user accounts. The permissions on /dev/shm/ need to be as follows: .. parsed-literal:: # ls -ld /dev/shm/ drwxrwxrwt 2 root root 40 2012-11-20 20:34 shm To make sure the permissions are correct even after a reboot, make sure ``/etc/fstab`` contains a line similar to the following: .. parsed-literal:: none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0 Note that alongside ``/dev/shm`` problems, resolving hostnames (especially ``localhost`` to ``127.0.0.1``, or inversely, ``127.0.0.1`` to ``localhost``) have also been reported. diff --git a/source/installation-guide/rhel-7.rst b/source/installation-guide/rhel-7.rst index 88984d21..ee92317d 100644 --- a/source/installation-guide/rhel-7.rst +++ b/source/installation-guide/rhel-7.rst @@ -1,52 +1,52 @@ .. _installation-guide-rhel-7: ====================================================== Installation of Kolab 16 on Red Hat Enterprise Linux 7 ====================================================== The installation of Kolab Groupware on Red Hat Enterprise Linux installs a number of additional packages, from the :term:`EPEL` software repository. Installation Procedure ====================== 1. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 2. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/16/RHEL_7/Kolab:16.repo` 3. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 4. Install the **yum-plugin-priorities** package: .. parsed-literal:: # :command:`yum install yum-plugin-priorities` 5. Make sure that the packages from the Kolab repositories have a higher priority than eg. the :term:`EPEL` packages: .. parsed-literal:: # :command:`for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done` 6. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install --enablerepo=rhel-7-server-optional-rpms kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/setup-kolab.rst b/source/installation-guide/setup-kolab.rst index c350cc91..f386e26e 100644 --- a/source/installation-guide/setup-kolab.rst +++ b/source/installation-guide/setup-kolab.rst @@ -1,19 +1,19 @@ -.. _install-setup-kolab: +.. _installation-guide-setup-kolab: ===================== Kolab Groupware Setup ===================== .. WARNING:: - The use of a proper fully qualified domain name space is critical to the - success of setting up Kolab. Please see - `"Why Your System Should Have a Proper FQDN" `_ - and refer to the :ref:`install-preparing-the-system_hostname-and-fqdn` + The use of a proper fully qualified domain name space is critical + to the success of setting up Kolab. Please see `Why Your System + Should Have a Proper FQDN`_ and refer to the + :ref:`installation-guide-preparing-the-system-hostname-and-fqdn` section of the installation guide. 1. Run the following command to set up Kolab Groupware: .. parsed-literal:: # :command:`setup-kolab` diff --git a/source/installation-guide/winterfell/centos-7.rst b/source/installation-guide/winterfell/centos-7.rst index 61f57d13..9d921b2c 100644 --- a/source/installation-guide/winterfell/centos-7.rst +++ b/source/installation-guide/winterfell/centos-7.rst @@ -1,48 +1,48 @@ .. _installation-guide-winterfell-centos-7: ============================================ Installation of Kolab Winterfell on CentOS 7 ============================================ .. WARNING:: Kolab Winterfell eats babies, for breakfast. There is potential data-loss included. 1. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 2. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/Winterfell/CentOS_7/Kolab:Winterfell.repo` 3. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 4. Install the **yum-plugin-priorities** package: .. parsed-literal:: # :command:`yum install yum-plugin-priorities` 5. Make sure that the packages from the Kolab repositories have a higher priority than eg. the Epel packages: .. parsed-literal:: # :command:`for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done` 6. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/winterfell/debian-8.rst b/source/installation-guide/winterfell/debian-8.rst index 34558e42..5339f2ce 100644 --- a/source/installation-guide/winterfell/debian-8.rst +++ b/source/installation-guide/winterfell/debian-8.rst @@ -1,48 +1,48 @@ .. _installation-winterfell-debian-8: ============================================ Installation of Kolab Winterfell on Debian 8 ============================================ .. WARNING:: Kolab Winterfell eats babies, for breakfast. There is potential data-loss included. 1. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/Winterfell/Debian_8.0/ ./ deb-src http://obs.kolabsys.com/repositories/Kolab:/Winterfell/Debian_8.0/ ./ 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`wget -q -O- https://ssl.kolabsys.com/community.asc | apt-key add -` 3. To ensure the Kolab packages have priority over the Debian packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the obs.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 4. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 5. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude -y install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/winterfell/fedora-23.rst b/source/installation-guide/winterfell/fedora-23.rst index 75a11d3d..77d6e713 100644 --- a/source/installation-guide/winterfell/fedora-23.rst +++ b/source/installation-guide/winterfell/fedora-23.rst @@ -1,36 +1,36 @@ .. _installation-guide-winterfell-fedora-23: ============================================= Installation of Kolab Winterfell on Fedora 23 ============================================= .. WARNING:: Kolab Winterfell eats babies, for breakfast. There is potential data-loss included. 1. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/Winterfell/Fedora_23/Kolab:Winterfell.repo` 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 3. Make sure that the packages from the Kolab repositories have a higher priority than the stock repositories: .. parsed-literal:: # :command:`for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done` 4. Install Kolab Groupware: .. parsed-literal:: # :command:`yum install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/winterfell/rhel-7.rst b/source/installation-guide/winterfell/rhel-7.rst index 5c568d56..62f762e2 100644 --- a/source/installation-guide/winterfell/rhel-7.rst +++ b/source/installation-guide/winterfell/rhel-7.rst @@ -1,48 +1,48 @@ .. _installation-guide-winterfell-rhel-7: ============================================================== Installation of Kolab Winterfell on Red Hat Enterprise Linux 7 ============================================================== .. WARNING:: Kolab Winterfell eats babies, for breakfast. There is potential data-loss included. 1. Install the :term:`EPEL` repository: .. parsed-literal:: # :command:`rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` 2. Install the Kolab Groupware repository configuration: .. parsed-literal:: # :command:`cd /etc/yum.repos.d/` # :command:`wget http://obs.kolabsys.com/repositories/Kolab:/Winterfell/RHEL_7/Kolab:Winterfell.repo` 3. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`rpm --import https://ssl.kolabsys.com/community.asc` 4. Install the **yum-plugin-priorities** package: .. parsed-literal:: # :command:`yum install yum-plugin-priorities` 5. Make sure that the packages from the Kolab repositories have a higher priority than eg. the :term:`EPEL` packages: .. parsed-literal:: # :command:`for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done` 6. Install Kolab Groupware: .. parsed-literal:: # :command:`yum --enablerepo=rhel-7-server-optional-rpms install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/winterfell/ubuntu-14.04.rst b/source/installation-guide/winterfell/ubuntu-14.04.rst index 5aeb9735..a8ac0783 100644 --- a/source/installation-guide/winterfell/ubuntu-14.04.rst +++ b/source/installation-guide/winterfell/ubuntu-14.04.rst @@ -1,48 +1,48 @@ .. _installation-winterfell-ubuntu-14.04: ================================================ Installation of Kolab Winterfell on Ubuntu 14.04 ================================================ .. WARNING:: Kolab Winterfell eats babies, for breakfast. There is potential data-loss included. 1. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/Winterfell/Ubuntu_14.04/ ./ deb-src http://obs.kolabsys.com/repositories/Kolab:/Winterfell/Ubuntu_14.04/ ./ 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`wget -q -O- https://ssl.kolabsys.com/community.asc | apt-key add -` 3. To ensure the Kolab packages have priority over the Ubuntu packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the obs.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 4. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 5. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude -y install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`. diff --git a/source/installation-guide/winterfell/ubuntu-16.04.rst b/source/installation-guide/winterfell/ubuntu-16.04.rst index 8f7cbefb..61a60167 100644 --- a/source/installation-guide/winterfell/ubuntu-16.04.rst +++ b/source/installation-guide/winterfell/ubuntu-16.04.rst @@ -1,48 +1,48 @@ .. _installation-winterfell-ubuntu-16.04: ================================================ Installation of Kolab Winterfell on Ubuntu 16.04 ================================================ .. WARNING:: Kolab Winterfell eats babies, for breakfast. There is potential data-loss included. 1. Add the following two lines to ``/etc/apt/sources.list.d/kolab.list``: .. parsed-literal:: deb http://obs.kolabsys.com/repositories/Kolab:/Winterfell/Ubuntu_16.04/ ./ deb-src http://obs.kolabsys.com/repositories/Kolab:/Winterfell/Ubuntu_16.04/ ./ 2. Import the GPG key used to sign the packages: .. parsed-literal:: # :command:`wget -q -O- https://ssl.kolabsys.com/community.asc | apt-key add -` 3. To ensure the Kolab packages have priority over the Ubuntu packages, such as must be the case for PHP as well as Cyrus IMAP, please make sure the APT preferences pin the obs.kolabsys.com origin as a preferred source. Put the following in ``/etc/apt/preferences.d/kolab``: .. parsed-literal:: Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 4. Update the repository metadata: .. parsed-literal:: # :command:`apt-get update` 5. Start the installation of the base package as follows: .. parsed-literal:: # :command:`aptitude -y install kolab` -Continue to :ref:`install-setup-kolab`. +Continue to :ref:`installation-guide-setup-kolab`.