Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
cs:tech:idp:mariadb [2020/03/27 13:31] 9ec128d6c1ed31e124c9d0343d1175613f20f405@einfra.cesnet.czcs:tech:idp:mariadb [2024/03/27 08:36] (aktuální) Jan Oppolzer
Řádek 1: Řádek 1:
 ====== MariaDB ====== ====== MariaDB ======
  
-**Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat MariaDB pro potřeby Shibboleth IdP.** +  [[:cs:tech:idp:5:mariadb|MariaDB pro Identity Provider 5]] 
- +  * [[:cs:tech:idp:4:mariadb|MariaDB pro Identity Provider 4]]
----- +
- +
-===== Instalace ===== +
- +
-Databázi //MariaDB// nainstalujeme následujícím příkazem: +
- +
-<code bash> +
-# Instalace MariaDB +
-apt install --no-install-recommends mariadb-server mariadb-client libmariadb-java +
-</code> +
- +
-Pomocí ''openssl'' si vygenerujeme silné heslo pro přístup k databázi uživatelem //root//: +
- +
-<code bash> +
-# Vygenerování silného hesla pro uživatele root +
-openssl rand -hex 20 +
-</code> +
- +
-Spustíme utilitu ''mysql_secure_installation'' a postupujeme dle instrukcí v terminálu: +
- +
-<code bash> +
-# Spuštení mysql_secure_installation +
-mysql_secure_installation +
-</code> +
- +
-===== Databáze ===== +
- +
-<WRAP center tip 100%> +
-**Máme-li persistentní identifikátory ze stávající instalace Shibboleth IdP, databázi si samozřejmě přesuneme.** +
- +
-Na stávajícím serveru provedeme export: +
- +
-<code mysql> +
-mysqldump shibboleth > ~/persistentIDs.sql +
-</code> +
- +
-Soubor ''persistentIDs.sql'' bezpečně překopírujeme na nový server, např. pomocí ''scp'', a po vytvoření databáze //shibboleth// importujeme stávající identifikátory: +
- +
-<code mysql> +
-mysql -u root -p shibboleth < ~/persistentIDs.sql +
-</code> +
-</WRAP> +
- +
-Přihlásíme se do //MariaDB//: +
- +
-<code bash> +
-# Přihlášení k MariaDB +
-mysql +
-</code> +
- +
-Vytvoříme databázi //shibboleth// a v ní tabulku //shibpid//+
- +
-<code mysql> +
-# Vytvoříme databázi 'shibboleth' a tabulku 'shibpid' +
-SET NAMES 'utf8'; +
-SET CHARACTER SET utf8; +
-CHARSET utf8; +
-CREATE DATABASE IF NOT EXISTS shibboleth CHARACTER SET=utf8; +
-USE shibboleth; +
-CREATE TABLE IF NOT EXISTS `shibpid` ( +
-  `localEntity` VARCHAR(255) NOT NULL, +
-  `peerEntity` VARCHAR(255) NOT NULL, +
-  `principalName` VARCHAR(255) NOT NULL DEFAULT '', +
-  `localId` VARCHAR(255) NOT NULL, +
-  `persistentId` VARCHAR(50) NOT NULL, +
-  `peerProvidedId` VARCHAR(255) DEFAULT NULL, +
-  `creationDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +
-  `deactivationDate` TIMESTAMP NULL DEFAULT NULL, +
-  PRIMARY KEY (`localEntity`, `peerEntity`, `persistentId`) +
-) ENGINE=InnoDB DEFAULT CHARSET=utf8; +
-</code> +
- +
-Pomocí příkazu ''DESCRIBE'' si můžeme zobrazit, jak tabulka vypadá. +
- +
-<code mysql> +
-# Zobrazení definice tabulky 'shibpid' +
-DESCRIBE shibpid; +
-</code> +
- +
-Tabulka //shibpid// musí vypadat následovně: +
- +
-<code mysql> +
-+------------------+--------------+------+-----+---------------------+-------------------------------+ +
-| Field            | Type         | Null | Key | Default             | Extra                         | +
-+------------------+--------------+------+-----+---------------------+-------------------------------+ +
-| localEntity      | varchar(255) | NO   | PRI | NULL                |                               | +
-| peerEntity       | varchar(255) | NO   | PRI | NULL                |                               | +
-| principalName    | varchar(255) | NO                                                         | +
-| localId          | varchar(255) | NO       | NULL                |                               | +
-| persistentId     | varchar(50)  | NO   | PRI | NULL                |                               | +
-| peerProvidedId   | varchar(255) | YES  |     | NULL                |                               | +
-| creationDate     | timestamp    | NO       | current_timestamp() | on update current_timestamp() | +
-| deactivationDate | timestamp    | YES  |     | NULL                |                               | +
-+------------------+--------------+------+-----+---------------------+-------------------------------+ +
-8 rows in set (0.002 sec) +
-</code> +
- +
-Vytvoříme uživatele //shibboleth//, který bude k databázi přistupovat pomocí silného hesla, které si opět vygenerujeme pomocí příkazu ''openssl'': +
- +
-<code bash> +
-# Vygenerování silného hesla pro uživatele 'shibboleth' +
-openssl rand -hex 20 +
-</code> +
- +
-Vytvoříme uživatele //shibboleth// a použijeme výše vygenerované silné heslo: +
- +
-<code mysql> +
-# Vytvoření uživatele 'shibboleth' +
-GRANT ALL PRIVILEGES ON shibboleth.* +
-      TO 'shibboleth'@'localhost' +
-      IDENTIFIED BY '___SILNE_HESLO_VYGENEROVANE_VYSE___'; +
-FLUSH PRIVILEGES; +
-</code> +
- +
-Pro ověření funkčnosti vytvořeného účtu se pokusíme přihlásit k databázi. +
- +
-<code bash> +
-# Přihlášení k MariaDB uživatelem 'shibboleth' +
-mysql -u shibboleth -p shibboleth +
-</code> +
- +
-Terminál vyzve k zadání hesla a po jeho úspěšném ověření dojde k přihlášení k MariaDB. +
- +
-<code bash> +
-Enter password: +
-Welcome to the MariaDB monitor.  Commands end with ; or \g. +
-[...] +
-MariaDB [shibboleth]+
-</code> +
- +
----- +
- +
-**Máme-li nainstalovanou MariaDB, můžeme pokračovat instalací [[cs:tech:idp:jetty]].** +