UBUNTU 20.04 docker部署 企业级开源局域网IP地址管理系统 Phpipam系统安装设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UBUNTU 20.04 docker部署 企业级开源局域网IP地址管理系统 Phpipam系统安装设置相关的知识,希望对你有一定的参考价值。

说明:

phpipam是一个开源的 Web IP地址管理平台(IPAM)。其目标是提供轻便,现代且有用的IP地址管理。它是基于PHP的应用程序,具有mysql数据库后端,使用jQuery库,ajax和html5 / CSS3功能。
phpipam特性
同时支持IPv4和IPv6
内建的IPv4和IPv6计算器
支持无类域间路由(CIDR)标记
支持MySQL数据库
子网嵌套
基于用户/组权限
可视化报表工具
使用.xls文件导入/导出
支持设备、VRF和VLAN
强大的搜索引擎
电子邮件标记
支持基于AD/LDAP的验证

phpipam docker 镜像仓
https://hub.docker.com/r/phpipam/phpipam-www
phpipam docker三大组件
phpipam-www: 前端Apache PHP容器
phpipam-cron: 用于计划任务网络发现作业的cron容器
phpipam-mariadb: MySQL数据库

官方网站

https://phpipam.net/

项目github地址

https://github.com/phpipam/phpipam

安装效果

UBUNTU

UBUNTU

UBUNTU

UBUNTU

UBUNTU

拓扑:

UBUNTU

一、基础环境部署(安装docker)

1.先卸载旧版,如果没有的话,就不用执行了,直接第二步。

apt-get remove docker docker-engine docker.io containerd runc


2.在终端输入

apt update
apt-get install ca-certificates curl gnupg lsb-release



3.安装证书

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -



4.写入软件源信息

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"



5.安装

sudo apt-get install docker-ce docker-ce-cli containerd.io



中途出现问题的话,使用 sudo apt-get update 试试

6 启动Docker

systemctl start docker


7.安装工具

apt-get -y install apt-transport-https ca-certificates curl software-properties-common



8.重启docker

service docker restart


9.测试输入sudo docker run hello-world 显示以下信息则成功,第一次比较慢。

sudo docker run hello-world



10.查看版本

sudo docker version



11.查看镜像,可以看到刚才创建的镜像

sudo docker images

二、安装docker-compose

docker-compose github地址
https://github.com/docker/compose

开始安装
1、下载二进制文件
wget https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64

2.移动文件至/usr/local/bin/
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

3.赋予可执行权限
chmod +x /usr/local/bin/docker-compose

4.创建软链
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

5.测试是否安装成功
docker-compose --version

三、创建phpipam docker-compose.yml 文件

注意下面:- IPAM_DATABASE_PASS=phpipam_root_phpipam 为数据库的root密码

编辑文件 
vim docker-compose.yml
如下

version: 3

services:
phpipam-web:
privileged: true
image: phpipam/phpipam-www:latest
ports:
- "80:80"
environment:
- TZ=Asia/Shanghai
- IPAM_DATABASE_HOST=phpipam-mariadb
- IPAM_DATABASE_PASS=phpipam_root_phpipam
- IPAM_DATABASE_WEBHOST=%
restart: unless-stopped
volumes:
- phpipam-logo:/phpipam/css/images/logo
- phpipam-ca:/usr/local/share/ca-certificates:ro
depends_on:
- phpipam-mariadb

phpipam-cron:
privileged: true
image: phpipam/phpipam-cron:latest
environment:
- TZ=Asia/Shanghai
- IPAM_DATABASE_HOST=phpipam-mariadb
- IPAM_DATABASE_PASS=phpipam_root_phpipam
- SCAN_INTERVAL=1h
restart: unless-stopped
volumes:
- phpipam-ca:/usr/local/share/ca-certificates:ro
depends_on:
- phpipam-mariadb

phpipam-mariadb:
privileged: true
image: mariadb:latest
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=phpipam_root_phpipam
restart: unless-stopped
volumes:
- phpipam-db-data:/var/lib/mysql
volumes:
phpipam-db-data:
phpipam-logo:
phpipam-ca:

保存退出

四、运行phpipam 相关容器

启动
docker-compose -p phpipam up -d
停止
docker-compose -p phpipam stop
查看
docker-compose -p phpipam ps -a

五、登录phpipam 数据库容器,mysqldump 备份数据库

进入容器
docker exec -it phpipam-phpipam-mariadb-1 /bin/bash
备份数据库
/usr/bin/mysqldump -uroot -phpipam_root_phpipam phpipam > /opt/phpipam_bkp_$(date +"%y%m%d").db

六、phpipam 定时扫描发现IP主机任务

(说明:我设置的是30分钟自动发现IP和主机检测  可以按自己情况更改下面的*/30 为*/15就是15分钟检测IP)

1,登录 phpipam-phpipam-cron-1容器

docker exec -it phpipam-phpipam-cron-1 /bin/sh

2,添加phpipam自动扫描任务
crontab -e

最后一行添加
#自动发现ip
*/30 * * * * /usr/bin/php /phpipam/functions/scripts/discoveryCheck.php
#ping 主机检测状态
*/30 * * * * /usr/bin/php /phpipam/functions/scripts/pingCheck.php

保存退出

3.退出容器
exit

宿主机执行容器命令

docker exec --user root -it phpipam-phpipam-cron-1 php /phpipam/functions/scripts/discoveryCheck.php

安装完成!

七:设置Phpipam(Web 初始化)

登陆你的服务器:http://10.10.201.160/

phpIPAM Web 向导创建 phpIPAM 数据库和用户,并为 phpIPAM 的 Web 界面设置管理员用户帐户。

1,三个选项新的 phpipam 安装、迁移 phpipam 安装和工作安装,新的 phpIPAM 安装时,选择 New phpipam installation 

UBUNTU

2,分为自动数据库安装、MySQL 导入说明、手动数据库安装,选择自动数据库安装选项

UBUNTU

3,输入数据库用户名、密码、主机、数据库名称 选择 Install phpipam database 选项

之前 docker-compose 设置的用户名:root 密码phpipam_root_phpipam

UBUNTU

4,提示数据库安装成功,选择 Continue 继续安装

UBUNTU

5,设置 Web 界面的管理员用户、密码、phpIPAM 界面顶部的标题以及 phpIPAM 安装的 URL,选择Save settings 选项

UBUNTU

6,选择 Proceed to login 跳转到 phpIPAM 登录界面

UBUNTU

7,输入admin 用户密码登录(输入你刚刚设置的admin 和密码)

UBUNTU

8.设置账户中文显示,选择Administrator--Users

UBUNTU

9.选择Admin 用户,点击编辑按钮

UBUNTU

10.选择Chinese

UBUNTU

11.注销当前登录会话重新登录,界面中文显示

UBUNTU


八、基础设置PHPIPAM 内部网络VLAN

例如:添加你的内网网段(例如我的192.168.10.0/24 需要先建立一个192.168的标签)

第一步:新建标签(管理---标签---添加标签--设置标签名字和描述)

UBUNTU

UBUNTU

UBUNTU

第二步:添加子网(管理---子网 )我是先建立一个16位的主子网 192.168.0.0/16)

UBUNTU

UBUNTU

UBUNTU

第三步:添加子网(管理---子网 找到你刚建立的192.168标签 点击添加子网)(在主子网 192.168.0.0/16 下添加 192.168.10.0/24子网)

UBUNTU

UBUNTU

UBUNTU

全部设置完成~等待30分钟 就会在子网中看到自己网络中192.168.10.0/24网络的IP地址使用情况~















企业级docker私有仓库harbor在Ubuntu14.04上的部署与使用

一、harbor简介:

  简单的说,Harbor 是一个企业级的 Docker Registry,可以实现 images 的私有存储和日志统计权限控制等功能,并支持创建多项目(Harbor 提出的概念),基于官方 Registry V2 实现的。


二、部署方法:

  操作系统:Ubuntu14.04

  1、安装docker: 

#安装插件
sudo apt-get install apt-transport-https ca-certificates

#添加GPG key
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo vim /etc/apt/sources.list.d/docker.list
#添加以下内容,保存退出
deb https://apt.dockerproject.org/repo ubuntu-trusty main

#跟新、清除老的repo
sudo apt-get update
sudo apt-get purge lxc-docker

#安装docker-engine
sudo apt-get install docker-engine


  2.安装docker-com:

sudo curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /home/cimer/docker-compose
sudo mv docker-compose /usr/local/bin/
sudo chmod +x /usr/local/bin/docker-compose


 3.安装Harbor:

   3.1、克隆源码:

git clone https://github.com/vmware/harbor

   3.2、修改配置:

cd harbor/Deploy/
vim harbor.cfg

   如下:

## Configuration file of Harbor

#The IP address or hostname to access admin UI and registry service.
#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
# 指定 hostname,一般为IP,或者域名,用于登录 Web UI 界面
hostname = 172.16.4.253

#The protocol for accessing the UI and token/notification service, by default it is http.
#It can be set to https if ssl is enabled on nginx.
# URL 访问方式,SSL 需要配置 nginx
ui_url_protocol = http

#Email account settings for sending out password resetting emails.
# 邮件相关信息配置,如忘记密码发送邮件
email_server = smtp.xxxxxx.com
email_server_port = 465
email_username = [email protected]
email_password = xxxxxx
email_from = docker <[email protected]>
email_ssl = true

##The password of Harbor admin, change this before any production use.
# 默认的 Harbor 的管理员密码,管理员用户名默认 admin
harbor_admin_password = Harbor12345

##By default the auth mode is db_auth, i.e. the credentials are stored in a local database.
#Set it to ldap_auth if you want to verify a user‘s credentials against an LDAP server.
# 指定 Harbor 的权限验证方式,Harbor 支持本地的 mysql 数据存储密码,同时也支持 LDAP
auth_mode = db_auth

#The url for an ldap endpoint.
# 如果采用了 LDAP,此处填写 LDAP 地址
ldap_url = ldaps://ldap.mydomain.com

#The basedn template to look up a user in LDAP and verify the user‘s password.
# LADP 验证密码的方式
ldap_basedn = uid=%s,ou=people,dc=mydomain,dc=com

#The password for the root user of mysql db, change this before any production use.
# mysql 数据库 root 账户密码
db_password = root123

#Turn on or off the self-registration feature
# 是否允许开放注册
self_registration = on

#Turn on or off the customize your certicate
# 允许自签名证书
customize_crt = on

#fill in your certicate message
# 自签名证书信息
crt_country = CN
crt_state = State
crt_location = CN
crt_organization = mritd
crt_organizationalunit = mritd
crt_commonname = mritd.me
crt_email = reg.mritd.me

#####

   3.3、生成相关配置文件:

cd harbor/Deploy/
./prepare

技术分享


   3.4、编译image并启动:

cd harbor/Deploy/
docker-compose up -d

技术分享

  3.5、检查启动后的相关容器:

  Proxy : 由Nginx 服务器构成的反向代理

  Registry : 由Docker官方的开源registry 镜像构成的容器实例

  UI : 即架构中的core services, 构成此容器的代码是Harbor项目的主体

  Mysql : 由官方MySql镜像构成的数据库容器

  Log : 运行着rsyslogd的容器,通过log-driver的形式收集其他容器的日志

技术分享


  4、访问Web Ui:

   访问:http://172.16.4.253,账户密码为harbor.cfg中配置的

技术分享   如果harbor.cfg中的self_registration设置为off,那么普通用户无法实现注册,只能由管理员创建用户;右上角的注册按钮也会消失。

   4.2、登录:

   默认账户密码:admin:Harbor12345

技术分享


   4.3、创建私有项目:

   harbor的项目类似于Docker Hub的用户名,其下可以存很多镜像

技术分享


 4.4、push镜像:

技术分享

   在web ui中查看

技术分享




著:要是不适用验证功能的话,修改registry的配置文件,把auth部分注释掉,重新启动即可

sudo vim harbor/Deploy/config/registry/config.yml
sudo docker-compose stop
sudo docker-compose up -d

技术分享






三、配置docker镜像的复制:

  复制功能是image在两个或多个harbor节点之间的复制。原理图如下:


技术分享

技术分享

  1.先配置2个harbor实例,分别为172.16.4.253和172.16.4.252

  2.在172.16.4.253上上传一个镜像,该实例作为主节点

技术分享  3.进入web ui的项目选项,选择复制:

技术分享

  4.点击新增策略,并设置策略:

技术分享

  创建完毕后,我们可以看到复制策略中多一个策略,复制任务里面也多一个任务,稍等一会就可以复制完成。登录172.16.4.252的web ui,会发现镜像和日志都复制过来了。





四、升级harbor:

 1.删除原有容器

cd harbor/Deploy/
sudo docker-compose down

  2.备份

mv harbor/ /tm/harbor

  3.重新下载源码

git clone https://github.com/vmware/harbor

  4.如果harbor 是迁移到其他服务器,请先执行数据备份

cd harbor/migration/

   修改 migration.cfg 文件里面的 数据库 帐号密码后

sudo docker build -t migrate-tool .

  5.运行一个临时数据库容器,(注意:/data/database 为你设置的挂载数据库的目录 /path/to/backup 数据备份的目录)本分数据

sudo docker run -ti --rm -v /data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backup migrate-tool backup

  6.数据库还原

sudo docker run -ti --rm -v /data/database:/var/lib/mysql migrate-tool up head

  7.对比一下配置文件

       如果修改了端口 必须更新 cd harbor/Deploy/config/nginx/nginx.conf 里面的端口

diff harbor.cfg /tmp/harbor/Deploy/harbor.cfg
diff docker-compose.yaml /tmp/harbor/Deploy/docker-compose.yaml

     8.执行 ./prepare 生成新的配置文件

cd /harbor/Deploy/
./prepare

  9.build 新的镜像,启动容器

cd /harbor/Deploy/
docker-compose up --build -d

  完成后,登录web ui,检查是否升级成功。


参考:

  https://my.oschina.net/u/1540325/blog/702260

  http://www.cnblogs.com/jicki/p/5737369.html

  http://blog.csdn.net/project_harbor/article/details/51261934

  http://www.tuicool.com/articles/m2uyQri

  http://www.2cto.com/net/201607/531849.html


本文出自 “黑色时间” 博客,请务必保留此出处http://blacktime.blog.51cto.com/11722918/1861132

以上是关于UBUNTU 20.04 docker部署 企业级开源局域网IP地址管理系统 Phpipam系统安装设置的主要内容,如果未能解决你的问题,请参考以下文章

fabric:在ubuntu20.04上部署Hyperledger-fabric最新2.3.2环境

如何在Ubuntu 20.04上安装Docker Compose

如何在Ubuntu 20.04上安装Docker Compose

K8S部署Harbor仓库实战

在Ubuntu20.04安装StarRocks On Docker并在DataGrip配置JDBC协议连接容器内StarRocks2.3.2

在Ubuntu20.04安装StarRocks On Docker并在DataGrip配置JDBC协议连接容器内StarRocks2.3.2