CentOS 7 OpenLDAP+MySQL+PHPLDAPadminをインストールする(本人試験合格)
23397 ワード
転載先:http://www.cnblogs.com/bigbrotherer/p/7251372.html
インストール環境:CentOS 7
1.データベースのインストールと設定
CentOS 7では、デフォルトでインストールされているデータベースはMariaDBであり、MySQLデータベースのブランチであるため、MariaDBを使用しています.インストールコマンドは次のとおりです.
インストール時間は長くありません.インストールが完了した後の様子は以下の通りです.
次に、データベース・サービスを開始します.
データベースの基本設定:
最初はパスワードがなく、直接車に戻ると、パスワードの再設定を自動的に要求され、自分のデータベースのパスワードを設定することができます.パスワードを設定した後は他の基本的な設定で、直接'y'または'n'で解決でき、そのヒントに照らして設定を完了することができます.次に、文字セットを設定します.文字セットの設定は/etcの下にあります.
次に、サービスを再起動します.
これでデータベースのインストールと設定がほぼ完了します.このデータベースをLDAPのバックエンド・データベースとして終了するため、LDAPに接続するデータベースとしてユーザーldapとデータベースldapを新規作成します.
ldapユーザーを追加し、パスワードをldapに設定し、ldapユーザーに権限を追加し、データベースldapを新規作成します.
次にデータベースを終了し、2番目のステップに進みます.
2.ODBCのインストールとldapデータベースの構成
直接yumインストール:
接続プロファイルodbcを作成する.ini:
接続が成功したかどうかを確認します.
データベースを表示するコマンドを入力します.
接続成功!
3.インストールのダウンロードとOpenLDAPの構成
LDAPを/optディレクトリにインストールします.
インストールが完了したら、LDAPを構成し、まず自分のLDAPパスワードを生成します.
パスワードを入力すると、「{SSHA}XDEtT 6 s 3 MTzrSbHeJl 7 OlRoqk 0 w 1 by 1 X」のような暗号化されたパスワードが返されます.次に、/etc/openldapディレクトリの下にあるLDAPプロファイルを開きます.
dc(domainComponent)についての質問は、https://www.bbsmax.com/A/WpdKKPaodV/この文章の中で説明したのはとても良くて、私のインストールの配置もここから学んだのです.
これでOpenLDAPのインストールと構成は完了したが、データベースに対応するテーブル構造がないため、LDAPを実行することはできない.LDAPはBD以外のデータベースを使用することができるが、定義したテーブル構造を使用する必要がある.対応するテーブル構造は/opt/openldap/servers/slapd/back-sql/rdbms_depend/ディレクトリの下には、MySQL、Oracle、PGSQLなど、さまざまなデータベースのテーブル構造があります.mysqlディレクトリの下には、次のようなsqlファイルがあります.
backsql_create.sqlは基礎的なテーブル構造であり、他のテーブルがあるかどうかにかかわらず、これらのテーブルは必要である.testdb_create.sqlはテストされたテーブル構造であり、personテーブルのようないくつかのテーブル構造を含む.testdb_data.sqlはテストテーブルのデータです.testdb_metadata.sqlはベーステーブルのデータです.データベースにアクセスして、これらのsqlファイルを実行します.
LDAPが実行されます.
4.LDAP管理ツールPHPldapadminのインストールと構成
まず、ApacheとPHPをインストールします.
次にphpldapadminをインストールします.
次に、プロファイルを変更します.
起動してからApacheを起動するように設定します.
この構成を開きます.
ブラウザアクセスphpldapadmin:
phpldapdminにログインし、ユーザー名パスワードはデータベースldapのテーブルpersonsで検索できます.ログイン成功インタフェース:
注意事項:
(1)phpldapadminページにログインしたユーザー名記入フォーマット(テスト済み)
インストール環境:CentOS 7
1.データベースのインストールと設定
CentOS 7では、デフォルトでインストールされているデータベースはMariaDBであり、MySQLデータベースのブランチであるため、MariaDBを使用しています.インストールコマンドは次のとおりです.
[root@localhost ~]# yum install mariadb-server -y
インストール時間は長くありません.インストールが完了した後の様子は以下の通りです.
次に、データベース・サービスを開始します.
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb //
データベースの基本設定:
[root@localhost ~]# mysql_secure_installation
最初はパスワードがなく、直接車に戻ると、パスワードの再設定を自動的に要求され、自分のデータベースのパスワードを設定することができます.パスワードを設定した後は他の基本的な設定で、直接'y'または'n'で解決でき、そのヒントに照らして設定を完了することができます.次に、文字セットを設定します.文字セットの設定は/etcの下にあります.
[root@localhost ~]# vim /etc/my.cnf
# [mysqld] :
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
[root@localhost ~]# vim /etc/my.cnf.d/client.cnf
# [client] :
default-character-set=utf8
[root@localhost ~]# vim /etc/my.cnf.d/mysql-clients.cnf
# [mysql] :
default-character-set=utf8
次に、サービスを再起動します.
[root@localhost ~]# systemctl restart mariadb
これでデータベースのインストールと設定がほぼ完了します.このデータベースをLDAPのバックエンド・データベースとして終了するため、LDAPに接続するデータベースとしてユーザーldapとデータベースldapを新規作成します.
[root@localhost ~]# mysql -uroot -p
ldapユーザーを追加し、パスワードをldapに設定し、ldapユーザーに権限を追加し、データベースldapを新規作成します.
MariaDB [(none)]> CREATE USER 'ldap'@'%' IDENTIFIED BY 'ldap';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ldap.* TO 'ldap'@'%';
MariaDB [(none)]> CREATE USER 'ldap'@'localhost' IDENTIFIED BY 'ldap';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ldap.* TO 'ldap'@'localhost';
MariaDB [(none)]> show databases;
次にデータベースを終了し、2番目のステップに進みます.
2.ODBCのインストールとldapデータベースの構成
直接yumインストール:
[root@localhost ~]# yum install unixODBC mysql-connector-odbc
接続プロファイルodbcを作成する.ini:
[root@localhost ~]# vim /etc/odbc.ini
#
[ldap]
Description = LdapToMysql
Driver = MySQL
Database = ldap
Server = 127.0.0.1
User = ldap
Password = ldap
Port = 3306
接続が成功したかどうかを確認します.
[root@localhost ~]# isql -v ldap
データベースを表示するコマンドを入力します.
SQL> show databases;
接続成功!
3.インストールのダウンロードとOpenLDAPの構成
LDAPを/optディレクトリにインストールします.
[root@localhost ~]# yum install wget make gcc mysql-devel unixODBC-devel groff -y
[root@localhost ~]# cd /opt
[root@localhost opt]# wget ftp://mirror.switch.ch/mirror/OpenLDAP/openldap-release/openldap-2.4.43.tgz
[root@localhost opt]# tar zxvf openldap-*.tgz
[root@localhost opt]# rm -rf openldap-*.tgz
[root@localhost opt]# mv openldap-* openldap
[root@localhost opt]# cd /opt/openldap
[root@localhost openldap]# ./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/share/man --infodir=/usr/share/info --enable-sql --disable-bdb --disable-ndb --disable-hdb
[root@localhost openldap]# make depend
[root@localhost openldap]# make
[root@localhost openldap]# make install
インストールが完了したら、LDAPを構成し、まず自分のLDAPパスワードを生成します.
[root@localhost openldap]# slappasswd
パスワードを入力すると、「{SSHA}XDEtT 6 s 3 MTzrSbHeJl 7 OlRoqk 0 w 1 by 1 X」のような暗号化されたパスワードが返されます.次に、/etc/openldapディレクトリの下にあるLDAPプロファイルを開きます.
[root@localhost openldap]# vim /etc/openldap/slapd.conf
# 5
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
# 55
database sql
# 56、57 dc ( example, ldap , , dn )
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
# 61 rootpw ,
rootpw {SSHA}XDEtT6s3MTzrSbHeJl7OlRoqk0w1By1X
# 65、67
#directory /var/openldap-data
#index objectClass eq
# 61 rootpw
rootpw {SSHA}XDEtT6s3MTzrSbHeJl7OlRoqk0w1By1X
dbname ldap
dbuser ldap
dbpasswd ldap
has_ldapinfo_dn_ru no
subtree_cond "ldap_entries.dn LIKE CONCAT('%',?)"
dc(domainComponent)についての質問は、https://www.bbsmax.com/A/WpdKKPaodV/この文章の中で説明したのはとても良くて、私のインストールの配置もここから学んだのです.
これでOpenLDAPのインストールと構成は完了したが、データベースに対応するテーブル構造がないため、LDAPを実行することはできない.LDAPはBD以外のデータベースを使用することができるが、定義したテーブル構造を使用する必要がある.対応するテーブル構造は/opt/openldap/servers/slapd/back-sql/rdbms_depend/ディレクトリの下には、MySQL、Oracle、PGSQLなど、さまざまなデータベースのテーブル構造があります.mysqlディレクトリの下には、次のようなsqlファイルがあります.
backsql_create.sqlは基礎的なテーブル構造であり、他のテーブルがあるかどうかにかかわらず、これらのテーブルは必要である.testdb_create.sqlはテストされたテーブル構造であり、personテーブルのようないくつかのテーブル構造を含む.testdb_data.sqlはテストテーブルのデータです.testdb_metadata.sqlはベーステーブルのデータです.データベースにアクセスして、これらのsqlファイルを実行します.
[root@localhost ~]# mysql -uldap -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use ldap
MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/backsql_create.sql
MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/testdb_create.sql
MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/testdb_data.sql
MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/testdb_metadata.sql
LDAPが実行されます.
[root@localhost ~]# /opt/openldap/servers/slapd/slapd -d 5 -h 'ldap:/// ldapi:///' -f /etc/openldap/slapd.conf &
4.LDAP管理ツールPHPldapadminのインストールと構成
まず、ApacheとPHPをインストールします.
[root@localhost ~]# yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
次にphpldapadminをインストールします.
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum --enablerepo=epel -y install phpldapadmin
次に、プロファイルを変更します.
[root@localhost ~]# vim /etc/phpldapadmin/config.php
#397 ,398
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');
[root@localhost ~]# vim /etc/httpd/conf.d/phpldapadmin.conf
//
# Apache 2.4
Require local
# , ip ( , , ip)
Require ip 192.168.85.132
起動してからApacheを起動するように設定します.
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# systemctl start httpd
phpldapadmin , SELinux , SELinux :
error Unable to connect to LDAP server Cloud-Lab.Com
error: Can't contact LDAP server (-1) for user
error Failed to Authenticate to server
Invalid Username or Password.
この構成を開きます.
[root@localhost ~]# getsebool httpd_can_connect_ldap
httpd_can_connect_ldap --> off
[root@localhost ~]# setsebool -P httpd_can_connect_ldap on
[root@localhost ~]# getsebool httpd_can_connect_ldap
httpd_can_connect_ldap --> on
ブラウザアクセスphpldapadmin:
http://(localhost )/phpldapadmin/
phpldapdminにログインし、ユーザー名パスワードはデータベースldapのテーブルpersonsで検索できます.ログイン成功インタフェース:
注意事項:
(1)phpldapadminページにログインしたユーザー名記入フォーマット(テスト済み)