最近由于平台清查软件资产,所以需要搭建一套资产(软、硬)管理系统,但是根据2年前的部署经验发现,开源的OCS版本升级后依赖库发生了一些变化,这也导致我用以前的记忆重新部署失败,折腾了2天终于在今天大功告成了。
劳动成果还是用文字的形式记录保留比较好!非常鄙视网上那些作者写的文章到处埋坑,通常你只看一个作者的教程根本就不可能部署成功,NOW!你只要看这一篇就够了!保证成品!
>>>>OCSNG官网:https://www.ocsinventory-ng.org/en/
主要功能盘点:
每日自动盘点安装有agent的IT资产,列出资产总数,今日上线数,今日资产信息更新数。
资产台帐,列出软硬件详细信息。
TAG分类,安装agent时可根据资产属性自定义TAG,在台帐页面中一目了然。
硬件报表,使管理员简单明了得了解PC资产的性能,指定报废更新计划。
OS报表,使管理员简单明了得了解公司内的OS版本,排除低版本OS风险。
软件报表,在某些公司内有大用,可监控各员工是否有私自安装IT制度禁用的软件。
以上是我使用到现在用到的功能,还有些我没用过的功能有待各位自己发觉。下面给大家介绍下具体安装方法。
OCSNG有windows端的服务端,而且是一键傻瓜式安装,但我就是喜欢挑战,所以心一横就在centos上装了个,应该也会比windows端稳定很多。(不用怀疑,我真是微软粉)
实验环境: Centos 7.10| Mysql 5.7 | PHP 7.3 | OCSNG 2.6 |
关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
关闭防火墙的开机自启
[root@localhost ~]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
替换防火墙参数
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
查看防火墙状态
[root@localhost ~]# grep SELINUX=disabled /etc/selinux/config SELINUX=disabled
关闭当前防火墙
[root@localhost ~]# setenforce 0
系统更新
[root@localhost ~]# yum update
安装epel包
[root@localhost ~]# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装webtatic包
[root@localhost ~]# rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装以下两个包
[root@localhost ~]# yum install mod_perl php-pclzip
安装MySQL数据库YUM源
[root@localhost ~]# rpm -ivhl https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
配置数据库YUM源
[root@localhost ~]# vi /etc/yum.repos.d/mysql-community.repo # Enable to use MySQL 5.7 [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
安装MySQL数据库Client
[root@localhost ~]# yum -y install mysql
创建远程数据库文件
[root@localhost ~]# mysql -u root -p mysql> CREATE DATABASE ocs; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON ocs.* to ocs@10.1.1.10 IDENTIFIED BY 'ocs&123'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
安装remi包
[root@localhost ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
更新PHP
[root@localhost ~]# yum repolist all [root@localhost ~]# yum search yum-config-manager [root@localhost ~]# yum -y install yum-utils [root@localhost ~]# yum-config-manager --enable remi [root@localhost ~]# yum-config-manager --enable remi-php73 [root@localhost ~]# yum update php*
继续安装各种包
[root@localhost ~]# yum -y install php php-mbstring php-gd php-xml php-pecl-memcached php-mysql php-soap [root@localhost ~]# yum -y 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 perl-Archive-Zip perl-Mojolicious perl-Plack perl-XML-Entities perl-Switch
设置httpd开机自启
[root@localhost ~]# systemctl enable httpd
启动httpd
[root@localhost ~]# systemctl start httpd
安装perl相关包
[root@localhost ~]# yum install mod_perl perl-CPAN perl-SOAP-Lite.noarch perl-ExtUtils-Embed [root@localhost ~]# yum install perl-XML-SAX perl-Apache-DBI perl-Apache2-SOAP [root@localhost ~]# yum install httpd-devel [root@localhost ~]# cpan [local::lib] sudo cpan[1]> install YAML cpan[2]> install ModPerl::MM cpan[3]> install Apache2::SOAP cpan[4]> install Apache::DBI cpan[5]> exit
下载OCS软件包
[root@localhost ~]# cd /tmp [root@localhost tmp]# wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.6/OCSNG_UNIX_SERVER_2.6.tar.gz [root@localhost tmp]# tar -zxvf /tmp/OCSNG_UNIX_SERVER_2.6.tar.gz
安装OCSInventory
[root@localhost tmp]# cd OCSNG_UNIX_SERVER_2.6 [root@localhost OCSNG_UNIX_SERVER_2.6]# ./setup.sh
一路回车即可,只在以下一处需手动指定路径
Where to copy Administration Server static files for PHP Web Console [/usr/share/ocsinventory-reports] ? /var/www/html/
重启Apache
[root@localhost tmp]# systemctl restart httpd
修改z-ocsinventory-server.conf
[root@localhost OCSNG_UNIX_SERVER_2.6]# vi /etc/httpd/conf.d/z-ocsinventory-server.conf # Master Database settings # Replace 192.169^H by hostname or ip of MySQL server for WRITE PerlSetEnv OCS_DB_HOST 192.168.0.44 #Mysql数据库地址 # Replace 3306 by port where running MySQL server, generally 3306 PerlSetEnv OCS_DB_PORT 3306 # Name of database PerlSetEnv OCS_DB_NAME ocs #数据库名字 PerlSetEnv OCS_DB_LOCAL ocs # User allowed to connect to database PerlSetEnv OCS_DB_USER ocs #数据库用户名 # Password for user PerlSetVar OCS_DB_PWD ocs&123 #数据库密码
修改zz-ocsinventory-restapi.conf
[root@localhost OCSNG_UNIX_SERVER_2.6]# vi /etc/httpd/conf.d/zz-ocsinventory-restapi.conf PerlOptions +Parent <Perl> $ENV{PLACK_ENV} = 'production'; $ENV{MOJO_HOME} = '/usr/lib64/perl5/vendor_perl'; $ENV{MOJO_MODE} = 'deployment'; $ENV{OCS_DB_HOST} = '192.168.0.44'; $ENV{OCS_DB_PORT} = '3306'; $ENV{OCS_DB_LOCAL} = 'ocs'; $ENV{OCS_DB_USER} = 'ocs'; $ENV{OCS_DB_PWD} = 'ocs&123'; </Perl> <Location /ocsapi> SetHandler perl-script PerlResponseHandler Plack::Handler::Apache2 PerlSetVar psgi_app '/usr/lib64/perl5/vendor_perl/Api/Ocsinventory/Restapi/Loader.pm' </Location>
至此服务器端安装基本完成,可在浏览器上打开该地址进行web配置:http://ocsserverIP/ocsreports/ (ocsserverIP为你的服务器IP地址)
进入页面需要配置四项:
Mysql login:ocs
Mysql password: (根据你自定义的密码填)
Name of database : ocs
Mysql Hostname:192.168.0.44
点击send后刷新网页即可登录(默认用户名密码都是admin),页面如下:
中间的两项告警可无视。
备注:
1.Apache配置文件位置:/etc/httpd/conf.modules.d /etc/httpd/conf
2.测试PHP是否正常
[root@localhost ~]# vi /var/www/html/phpinfo.php <?php phpinfo(); ?> :wq! #保存退出
2.MySql的安装与配置请参考本人以前的教程《Linux部署Nginx+Mysql+PHP+PHPMyAdmin4环境》