cs:tech:idp:mariadb

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 14:31]
jan.oppolzer@cesnet.cz
cs:tech:idp:mariadb [2024/03/27 09:36]
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]].** +
Poslední úprava:: 2024/03/27 09:36