专业的编程技术博客社区

网站首页 > 博客文章 正文

免费开源IT资产管理系统Chemex安装教程

baijin 2024-08-24 22:29:26 博客文章 8 ℃ 0 评论

咖啡壶(Chemex)是一个轻量的、现代设计风格的 ICT 资产管理系统。完全免费且开源,任何人都可以无限制的修改代码以及部署服务,这对于很多想要对 ICT 资产做信息化管理的中小型企业来说,是一个很好的选择。

chemex 是个标准的 Laravel 应用程序,适用于所有的 LNMP/WNMP/DNMP 环境,虽然部署方式有很多,但仍然强烈建议使用 Docker 方式部署。

我这里用的操作系统是 Centos7,部署步骤如下;

1.防火墙设置

#临时关闭SELinux
setenforce 0
#永久关闭SELinux(重启生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#临时关闭防火墙
systemctl stop firewalld.service
#永久关闭防火墙
systemctl disable firewalld.service

2.安装 Docker

#安装最新版Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#启动docker
systemctl start docker
#设置开机启动docker
systemctl enable docker

3.Docker中安装Mariadb数据库

3.1 下载Mariadb镜像

#搜索mariadb镜像(非必须)
docker search mariadb 
#下载Mariadb镜像(下载的是最新版本)
docker pull mariadb
#想要下载指定版本执行的命令为
docker pull mariadb:10.6
#查看已有的所有镜像
docker images

3.2 创建容器,并映射目录

为了持久化存储MariaDB的数据,可以将主机上的目录挂载到容器中。这样,MariaDB的数据将存储在主机上的目录中,即使容器被删除或重新创建,数据也不会丢失。

#创建一个目录作为和容器的映射目录
mkdir -p /data/mariadb/data

使用以下命令创建并运行MariaDB容器,并将数据目录挂载到主机上的/data/mariadb/data目录:

docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=P@ssw0rd@123 -v /data/mariadb/data:/var/lib/mysql -d mariadb:10.6
  • --name启动容器设置容器名称为mariadb
  • -p设置容器的3306端口映射到主机3306端口
  • -e MYSQL_ROOT_PASSWORD设置环境变量数据库root的用户密码为P@ssw0rd@123
  • -v设置容器目录/var/lib/mysql映射到本地目录/data/mariadb/data
  • -d后台运行容器mariadb并返回容器id

3.3 查看容器是否启动成功,修改容器为自启动

#查看正在运行的容器
docker ps

#修改容器为自启动
docker container update --restart=always 容器名

3.4 进入容器,并登录Mariadb数据库

#进入容器
docker exec -it 容器名 /bin/bash

#登录Mariadb数据库
mysql -u root -p

#创建chemex数据库
create database chemex; 
#创建用户chemex,并让它可以远程登录(@'%'),密码是chemex
create user chemex@'%' identified by 'chemex';
#创建本地用户
create user chemex@'localhost' identified by 'chemex';
#查看所有用户
select host,user from mysql.user
#查看所有数据库
show databases;
#授予chemex用户访问chemex数据库的权限
grant all privileges on chemex.* to chemex;
#刷新权限
flush privileges;

4.安装Chemex

4.1下载Chemex镜像

docker pull celaraze/chemex:latest

4.2本机创建存放laravel配置文件的目录

#创建chemex目录并切换到这个目录下
mkdir /usr/local/chemex && cd /usr/local/chemex

4.3先建立一个空文件

如果不提前创建名为".env"的文件,,则在创建chemex容器时容器中会生成名为".env"的文件夹。

#创建.env文件
touch .env

4.4创建chemex容器

docker run -itd --name chemex --restart=always -p 8000:8000 -v /usr/local/chemex/.env:/var/www/html/laravel/.env celaraze/chemex:latest

从容器中拷贝环境配置文件/var/www/html/laravel/.env.example 到本机替换刚刚的空文件.env

#查看chemex容器的信息,主要是获取容器ID
docker ps | grep chemex
#复制容器中的.env.example到本机
docker cp fd45eafffd29:/var/www/html/laravel/.env.example ./
#复制.env.example文件替换.env文件
cp .env.example .env

4.5确认Mariadb的IP及容器间网络互通性

查看容器的ip地址:

docker inspect bridge
#进入容器chemex
docker exec -it chemex /bin/bash
#默认容器是没有ping功能的,通过下面的命令安装
apt-get update && apt-get install iputils-ping

然后ping 172.17.0.2 即在容器chemex内ping容器mariadb的IP,正常情况下是网络是通的。

4.6按说明修改.env文件

一般只需要修改数据库的相关连接配置信息;

注意:DB_HOST=数据库的容器名

### 第一步:数据库配置
#数据库类型,不需要修改(兼容mariadb)
DB_CONNECTION=mysql
# 数据库地址,这里在容器里安装的mariadb数据,DB_HOST应该为容器名字
DB_HOST=mariadb
# 数据库端口号,mysql默认是3306
DB_PORT=3306
# 数据库名称,如果没有此数据库,后续会提示创建
DB_DATABASE=chemex
# 数据库用户名
DB_USERNAME=chemex
# 数据库密码
DB_PASSWORD=chemex

9.重启chemex,进入容器初始化

#重启容器chemex
docker restart chemex
#修改容器为自启动
docker container update --restart=always chemex
#进入容器chemex
docker exec -it chemex /bin/bash
#初始化安装chemex系统
cd /var/www/html/laravel && php artisan chemex:install

出现下图说明初始化完成;

通过http://宿主机ip:8000访问chemex提示如下错误:

如果访问提示The /var/www/html/laravel/bootstrap/cache directory must be present and writable.

需要在docker里修改bootstrap的权限为777

chmod -R 777 bootstrap

至此,chemex安装成功。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表