2018年1月1日 星期一

3.學務系統 SFS3 LDAP 設定(CENTOS7)-潘爸的喃喃自語

##1.在CentOS7上安裝OpenLDAP Server

yum -y install openldap-servers openldap-clients
rm -rvf /etc/openldap/slapd.d
mkdir /etc/openldap/slapd.d
cp /usr/share/openldap-servers/slapd.ldif /etc/openldap/slapd.conf

vim /etc/openldap/slapd.conf


###把所有的cn=Manager,dc=my-domain,dc=com改成cn=root,dc=wcjs,dc=tc,dc=edu,dc=tw
###把所有的dc=my-domain,dc=com改成dc=wcjs,dc=tc,dc=edu,dc=tw


cd /etc/openldap
slappasswd > password.txt

tail password.txt
###(把內容複製到記事本備用)

vim /etc/openldap/slapd.conf

###把所有的dc=my-domain,dc=com改成dc=wcjs,dc=tc,dc=edu,dc=tw 然後結尾補上

olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxx

###PW:後面只有空一格半形space bar(從剛剛記事本那邊貼過來) 

/usr/libexec/openldap/convert-config.sh
head -20 /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{[12]*
slaptest -u

### config file testing succeeded

rm -rvf /var/lib/ldap/*
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
rm -rvf certs
mkdir certs
/usr/libexec/openldap/create-certdb.sh

###Creating certificate database in '/etc/openldap/certs'.

/usr/libexec/openldap/generate-server-cert.sh

###Creating new server certificate in '/etc/openldap/certs'.

chown ldap:ldap -R /var/lib/ldap/
systemctl start slapd
slaptest

###config file testing succeeded

systemctl enable slapd
firewall-cmd --permanent --zone=public --add-port=389/tcp
firewall-cmd --reload
ldapwhoami -WD cn=root,dc=wcjs,dc=tc,dc=edu,dc=tw

###Enter LDAP Password:
###dn:cn=root,dc=wcjs,dc=tc,dc=edu,dc=tw

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

vim domain.ldif

dn: dc=wcjs,dc=tc,dc=edu,dc=tw
objectClass: dcObject
objectclass: organization
dc: wcjs
o: wcjs

dn: ou=teacher,dc=wcjs,dc=tc,dc=edu,dc=tw
objectClass: organizationalUnit
ou: teacher
description: teachers account

dn: ou=student,dc=wcjs,dc=tc,dc=edu,dc=tw
objectClass: organizationalUnit
ou: student
description: students account

###(注意上面的句子一定要分成三段,從講義直接貼出來沒有分段會有錯誤)

ldapadd -D cn=root,dc=wcjs,dc=tc,dc=edu,dc=tw -W -f domain.ldif

###Enter LDAP Password:
adding new entry "dc=wcjs,dc=tc,dc=edu,dc=tw"
adding new entry "ou=teacher,dc=wcjs,dc=tc,dc=edu,dc=tw"
adding new entry "ou=student,dc=wcjs,dc=tc,dc=edu,dc=tw"

##1.2install -y phpldapadmin########
yum install -y phpldapadmin

vim /etc/phpldapadmin/config.php

:set number
###(顯示行號)
(找到397行改下面這樣)
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');

vim /etc/httpd/conf.d/phpldapadmin.conf

<Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
Require ip 163.17.209.0/24
###(在Require local之後加入上面這行,這是限制只有指定的ip可以存取phpldapadmin (突然覺得phpmysqladmin也該這樣)

systemctl start httpd
systemctl enable httpd
firewall-cmd --permanent --zone=public --add-port=80/tcp
reboot
#################################

####vim /etc/httpd/conf.d/phpldapadmin.conf
登入 

http://ldap-server-ip/phpldapadmin

帳號: cn=root,dc=wcjs,dc=tc,dc=edu,dc=tw

(登入如出現密碼錯誤,請確認是否密碼句尾有空白字元,是的話要可能得從前面步驟再來一次)

到這邊ldap server部分就ok了
1.3再來要看郭老大這篇,新增三個模組到學務系統
http://www.wpjh.tc.edu.tw/joomla/index.php/2012-04-25-23-06-11/2012-04-30-07-56-38/2013-03-25-13-04-19/367-20130502

cd /var/www/html/sfs3/modules/
wget http://www.wpjh.tc.edu.tw/joomla/attachments/article/367/stu_ldap_pass.zip
wget http://www.wpjh.tc.edu.tw/joomla/attachments/article/367/manage_ldap.zip
wget http://www.wpjh.tc.edu.tw/joomla/attachments/article/367/ch_ldap_pass.zip

unzip stu_ldap_pass.zip
unzip manage_ldap.zip
unzip ch_ldap_pass.zip

chown apache.apache stu_ldap_pass -R
chown apache.apache  manage_ldap -R
chown apache.apache  ch_ldap_pass -R

然後去學務系統新增這三個模組,
去模組權限管理的預設值設定參數
(ip可以設定127.0.0.1)
把自己的帳號啟用

最後參考這篇去改FG110C就可以了(得先照講義把SSLVPN設定到本機帳號可以登入,再看這篇去新增LDAP群組)
http://www.wpjh.tc.edu.tw/joomla/index.php/2012-04-25-23-06-11/2012-04-30-07-56-38/2013-03-25-13-04-19/381-20130630

##2.匯出資料
slapcat -n 2 > 20160820ldap.ldif   
##將LDAP的資料庫資料匯出到20160820ldap.ldif檔

##在CenetOS7,openldap-servers-2.4以上版本,第一個db是不能匯出的,必需下 -n 2的參數

3.匯入資料##/home/lia/slapcat/y/20150301ldap.ldif#####
###########################
ldapsearch -x -b "dc=wcjs,dc=tc,dc=edu,dc=tw"
###########################
rm -rf /var/lib/ldap/*
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
###匯入資料####/home/lia/slapcat/y/20150301ldap.ldif##
###匯入資料####/home/lia/slapcat/y/20150301ldap.ldif##
slapadd -v -l /home/lia/slapcat/y/20150301ldap.ldif 

chown -R ldap:ldap /var/lib/ldap
systemctl restart slapd
systemctl enable slapd
firewall-cmd --permanent --zone=public --add-port=389/tcp
firewall-cmd --reload


reboot
############################
4.在CentOS7上移除OpenLDAP Server
systemctl stop slapd
systemctl disable slapd
yum -y remove openldap-servers openldap-clients
rm -rvf /etc/openldap/
rm -rvf /var/lib/ldap/


reboot
#################

沒有留言:

張貼留言