LDAP折腾记以及编译安装openldap

最近公司要全面去微软化,首先就拿AD域开刀。替代方案就只能是OpenLDAP。国内搜索一圈大部分教程都过时了。只能Google了。自此做个记录。系统ubuntu 16.04 server,最小化安装。

1,安装LDAP

sudo apt-get update 
sudo apt-get install slapd ldap-utils
sudo dpkg-reconfigure slapd

执行第二条命令会出现一个输入密码的对话框记得记住密码

执行的三条命令的时候,会出现配置对话框。记住选择项顺序 NO——》love.com(这里输入自己想要的域名)——》love(输入组织名与域名一致)——》管理员密码——》再输入管理密码(都输入一样的)——》HDB——》NO——》Yes——》NO

至此,安装完成。

2,安装phpldapadmin

sudo apt-get install phpldapadmin

这里会默认安装php和apache2

给系统增加中文显示

sudo apt-get install language-pack-zh-hans

3,配置phpldapadmin

sudo vi /etc/phpldapadmin/config.php

搜索以下部分并相应地进行修改。

将domain_nam_or_IP_address值更改你的ip地址或者域名。

$ servers-> setValue('server','host',' domain_nam_or_IP_address ');

对于下一部分,将dc=test改成你自己的域名与之前输入的一致。

$ servers-> setValue('server','base',array('dc = test ,dc = com '));
$ servers-> setValue('login','bind_id','cn = admin,dc = test ,dc = com ');

取消注释这一行并将值设置为“true”以避免一些不重要的恼人警告。

$ config-> custom-> appearance ['hide_template_warning'] = true ;

保存并关闭文件。重启下apache。

浏览器输入http://你自己的ip/phpldapadmin,打开后输入之前设置的密码。如果安装了防火墙请自己打开80端口对外开放。

 

方法2,编译安装openldap,准备环境

wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.47.tgz
wget https://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
sudo apt install gcc
sudo apt install libwrap0-dev
sudo apt install make

解压db-4.8.30.tar.gz,cd到db-4.8.30目录安装BDB数据库

tar zxvf db-4.8.30.tar.gz
cd db-4.8.30/build_unix
../dist/configure && make && sudo make install

解压openldap-2.4.47.tgz,cd到openldap目录

./configure --prefix=/usr/local/openldap \
--enable-wrappers \
--enable-syslog \
--enable-modules \
--enable-debug \
--with-tls \
CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include" \
LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib"

遇到报错请参考下面命令,或自行解决

sudo sed -i '$a \/usr\/local\/BerkeleyDB.4.8\/lib' /etc/ld.so.conf.d/libc.conf
sudo ldconfig -v
ldconfig -n /usr/local/BerkeleyDB.4.8/lib

配置openLdap

创建快捷链接,设置可执行环境

cd /usr/local/openldap

ln -s /usr/local/openldap/bin/* /usr/local/bin/

ln -s /usr/local/openldap/sbin/* /usr/local/sbin/

目录功能如下

bin/      --客户端工具如ldapadd、ldapsearch
etc/      --包含主配置文件slapd.conf、schema、DB_CONFIG等
include/
lib/
libexec/   --服务端启动工具slapd
sbin/     --服务端工具如slappasswd
share/
var/      --bdb数据、log存放目录

设置密码为123456

{SSHA}GEWXOBz58bm07aIOleMj0RlvfAflc7cS

编辑配置文件

sudo vi /usr/local/openldap/etc/openldap/slapd.conf

schema默认只有core.schema,各级需要添加如下

include         /usr/local/openldap/etc/openldap/schema/collective.schema
include         /usr/local/openldap/etc/openldap/schema/corba.schema
include         /usr/local/openldap/etc/openldap/schema/cosine.schema
include         /usr/local/openldap/etc/openldap/schema/duaconf.schema
include         /usr/local/openldap/etc/openldap/schema/dyngroup.schema
include         /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include         /usr/local/openldap/etc/openldap/schema/java.schema
include         /usr/local/openldap/etc/openldap/schema/misc.schema
include         /usr/local/openldap/etc/openldap/schema/nis.schema
include         /usr/local/openldap/etc/openldap/schema/openldap.schema
include         /usr/local/openldap/etc/openldap/schema/pmi.schema
include         /usr/local/openldap/etc/openldap/schema/ppolicy.schema

修改如下地方为自己定义

suffix          "dc=sys,dc=com"
rootdn          "cn=admin,dc=sys,dc=com"
rootpw          {SSHA}GEWXOBz58bm07aIOleMj0RlvfAflc7cS    #这里是之前生成的密码123456

初始化ldap

cd /usr/local/openldap/var/openldap-data/
cp DB_CONFIG.example DB_CONFIG
cat /usr/local/openldap/base.ldif
dc: dc=sys,dc=com
o: ldap
objectslass: dcobject
objectclass: organization
sudo /usr/local/openldap/bin/ldapadd -x -D "cn=admin,dc=sys,dc=com" -W -f /usr/local/openldap/base.ldif  #记得替换自己的
/usr/local/openldap-2.4.44/libexec/slapd  #启动

按上面一样安装phpldapadmin,登陆之后默认什么都没有。需要先创建posixGroup,才能创建用户。至此完成安装工作。

KMS激活Win10专业版 企业版 教育版 office 2016

Win10专业版用户请依次输入:

slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
slmgr /skms 915008a280e9.sn.mynetname.net
slmgr /ato

 

Win10企业版用户请依次输入:

slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43
slmgr /skms 915008a280e9.sn.mynetname.net
slmgr /ato

 

Win10教育版用户请依次输入(版本注意):

Windows 10 Education:NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows 10 Education N:2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
slmgr /ipk NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
slmgr /skms 915008a280e9.sn.mynetname.net 
slmgr /ato

office请移到office安装目录(C:\Program Files\Microsoft Office\Office16):

cscript ospp.vbs /sethst:915008a280e9.sn.mynetname.net

cscript ospp.vbs /act

 

ocsng+glpi 安装(install)笔记

1,更新准备源.自己创建一个源文件到/etc/yum.repos.d/目录下,然后更新缓存yum clean all  yum make cache 。这里只是其中一个,我也不太记得用了哪个源.自行摸索下。

[remi-php71]
name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php71/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php71/httpsmirror
mirrorlist=http://cdn.remirepo.net/enterprise/7/php71/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
[remi-php71-debuginfo]
name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php71/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
[remi-php71-test]
name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/test71/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/test71/httpsmirror
mirrorlist=http://cdn.remirepo.net/enterprise/7/test71/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
[remi-php71-test-debuginfo]
name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-test71/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

2,使用命令

yum install mariadb     #最好是新版10.0
mysql -u root -p #连接数据库
mysql_secure_installation;  #初始化数据库
create database ocsweb; #创建数据库
CREATE USER 'ocsweb'@'localhost' IDENTIFIED BY 'password'; #创建本地用户
grant all privileges on ocsweb.* to 'ocsweb'@'localhost' identified by 'password'; # 授权数据库给用户
yum install httpd
yum install php71w-soap php71w php71w-mysql php71w-opcache php71w-pear php71w-pecl-imagick php71w-pecl-apcu php71w-imap php71w-dba php71w-tidy php71w-mcrypt php71w-ldap php71w-xml php71w-pecl-memcached php71w-cli php71w-mbstring php71w-pecl-igbinary php71w-enchant php71w-pecl-xdebug php71w-pecl-redis php71w-embedded php71w-pecl-libsodium php71w-pdo_dblib php71w-fpm php71w-pecl-mongodb php71w-xmlrpc php71w-pspell php71w-pdo php71w-common php71w-phpdbg php71w-pgsql php71w-snmp php71w-process php71w-pecl-geoip php71w-recode php71w-interbase php71w-odbc php71w-bcmath php71w-gd php71w-intl
基本全装了,免得却这个缺那个
yum install perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Net-IP perl-SOAP-Lite mod_perl perl-Digest-SHA1 perl-Test-Simple
yum install mod_perl perl-CPAN perl-Archive-Zip perl-Net-IP perl-XML-Simple perl-SOAP-Lite.noarch perl-ExtUtils-Embed perl-XML-Entities
yum install perl-XML-SAX perl-Apache-DBI perl-Apache2-SOAP
yum install httpd-devel
#cpan
>install YAML
>install ModPerl::MM
>install Apache2::SOAP
>install Apache::DBI

3,官方下载相应的最新版ocsng glpi。先安装ocs在安装glpi。按理到这里基本没什么问题了。有个cas的php扩展我没装了。单点登陆暂时用不到。

4,给写权限。默认我开了seLinux。所以需要给写权限。当然你可以直接关闭selinux。我不建议哦!

chcon -R -t httpd_sys_content_rw_t /usr/share/ocsinventory-reports/config  #ocs配置目录写权限,你也可以全部给。后面再关。
chcon -R -t httpd_sys_content_rw_t /var/www/html  #glpi默认目录写权限,也就是根目录

5,解决glpi新版安装最后三个警告。当然你关了的话一般不会弹出。

setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_sendmail on
setsebool -P httpd_can_network_connect_db on

6,设置glpi ldap同步,设置如下图

过滤如下
(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

7,ocs请打开这里。默认用户名admin admin  glpi glpi

实在懒得安装的,可以用我这个虚拟机镜像VHD格式

链接:https://pan.baidu.com/s/1BFoCjaBwT8a57MsjVpg6nQ
提取码:2zds

OCSNG打包命令

/S /server=http://你的ocs服务器ip/ocsinventory /NOW

/S 代表 silent mode

/server 你的服务器地址

/NOW 安装完立刻向服务器传送数据

我用的2.3.0版本。高版本改了很多,不适用于我。

访问你的服务看看   http://xxxxxx/ocsreports/