手把手教你使用群晖部署chemex资产管理系统
本文主要通过群晖系统进行演示,其他NAS如威联通等大同小异,按照此操作逻辑都可实现部署。
准备工作
群晖NAS(黑的白的都行)
需要确认群晖的docker套件能够正常使用(点击docker的注册表选项不会“查询注册表失败”),如果出现此报错可以自行网络搜索解决方法(需要的话我也可以后面再处一篇专门针对这个问题的文章)
开始部署
第一步,安装Web Station套件,此套件就是一个web服务器,用于承载chemex网页运行。
安装完成套件会自动运行,不需要做额外配置。
第二步,安装phpMyadmin套件,此套件用于管理PHP脚本与数据库,安装时会自动安装依赖环境PHP7.4。
第三步,安装mariaDB套件,此套件时开源的数据库,兼容mysql,安装完毕后需要设置root管理员密码(密码必须强密码,即同时包含大小写字母数字特殊符号),端口号可以保持默认的3306即可。(我这的密码为P@ssw0rd!#)
第四步,打开phpMyadmin,设置MariaDB远程访问权限(由于chemex使用docker安装,原则上来说要使用群晖套件上的数据库就算是远程访问了,docker的原理可以简单理解为虚拟机,虽然和虚拟机有区别。)
登录(密码为刚刚设置的mariadb密码-----我这是P@ssw0rd!#)
确认密码能够本地登录后,打开群晖的SSH连接。
使用操作系统的终端ssh连接到群晖。windows:win+R运行框输入cmd打开终端;mac:command+空格输入terminal打开终端。我这是mac平台。
终端内输入ssh 账号@群晖ip地址,账号和ip地址替换成你自己的,输入群晖的登录密码(输入密码没有显示),回车即可完成远程登录。
远程登录后,在命令行界面输入sudo -i切换到root超级用户(需要再次验证群晖登录密码)
然后,运行命令:cd /volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/ 切换到数据库所在目录。
登录数据库: ./mysql -u root -p (注意斜杠前有小数点,输入数据库的密码,我的是P@ssw0rd!#)
依次运行命令:use mysql 此命令作用是选择系统数据库
update user set host = '%' where user = 'root'; 不要漏了最后的分号,输入法提前切换到英文小写
select host,user from user; 查看用户权限表是否修改成功
当看到root的允许登录终端为%时即可(%代表任意终端)
FLUSH PRIVILEGES; 重建数据库(相当于刷新权限设置)
单击打开MariaDB10套件,启用TCP/IP连接
第五步,创建chemex数据库,打开phpMyadmin,新建一个chemex的数据库,编码格式选择utf8mb4_general_ci
第六步,下载chemex官方镜像,打开docker套件,搜索chemex,选择官方镜像下载。
下载成功后,可在映像中看到。
第七步,安装容器,选择docker套件中的容器,点击新增,使用之前下载好的chemex镜像。
使用已选择的网络——即桥接模式。
高级设置中,新增变量INSTALL,值为true。
设置端口,容器端口为8000,类型TCP,本地端口可自己设置为未被占用的端口,如不清楚,本地端口可留空系统自动指派。(注意本地端口为部署成功后的实际访问端口,须记下)
存储空间设置中,添加文件.env 这个文件需要新建,可以新建一个文本文件,内容如下:
# 欢迎使用 chemex,在您开始之前,请按照指引完成配置
# 基础配置:
### 第一步:数据库配置
#数据库类型,不需要修改(兼容mariadb)
DB_CONNECTION=mysql
# 数据库地址
DB_HOST=192.168.4.3
#此处改为你自己的群晖登录ip
# 数据库端口号,mysql默认是3306
DB_PORT=3306
# 数据库名称,如果没有此数据库,后续会提示创建
DB_DATABASE=chemex
# 数据库用户名
DB_USERNAME=root
# 数据库密码
DB_PASSWORD=P@ssw0rd!#
#此处改为你自己的数据库密码
### 第二步:配置HTTPS
### 如果您使用HTTPS协议,请将下面两个参数修改为true
ADMIN_HTTPS=false
### 第三步:配置应用信息
# 应用名称,一般不需要修改
APP_NAME=chemex
APP_ENV=local
# 修改默认应用地址和站点配置中地址相同配合上传LOGO使用,在站点配置中设置站点地址!
APP_URL=http://127.0.0.1:8000
### 第四步:执行安装命令
# 在项目根目录中执行 php artisan chemex:install
# 高级配置:
# 应用密钥,可以通过执行 php artisan key:generate 重新生成
# 此项影响用户密码,一旦修改,既有的密码将全部失效,请谨慎修改
APP_KEY=base64:aRpYlARLPcqF3VlZ6jrT1vUX4aWzG0xFYriKzLO3zqE=
# 是否开启 DEBUG 模式
# 开启后如果程序出错,将会抛出异常
# 关闭后如果程序出错,将只会给出 HTTP 错误码 500
APP_DEBUG=true
LOG_CHANNEL=stack
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
# 决定了此实例是否以demo运行(部分权限受阻)
ADMIN_DEMO=false
JWT_SECRET=g7QnRkdVPe6tqR7XKldp430kxkitk1j4nKWHo6TxMK920yaKAzHFMrHolHAuM8jp
编辑好文件后,将文件上传至群晖中,我这里是上传在docker/chemex 并改名为.env
存储空间设置中,添加文件,装载路径为/var/www/html/laravel/.env
第八步,设置容器终端,导入数据库信息。打开docker套件,在容器中,打开chemex容器(双击即可)
在容器的终端机中,输入命令:php artisan chemex:install 执行安装数据库操作
第九步,登录系统,先在容器的总览页面查看本地端口信息,然后使用“群晖的ip:本地端口”访问,默认用户名密码均为admin。我这的群晖ip为192.168.4.3,端口为49167,所以浏览器访问192.168.4.3:49167即可打开。
如果打开报错,回到容器的终端机,输入命令php artisan cache:clear 清除缓存信息。
回到登录页面,刷新就可以正常打开了。
总结
咖啡壶是开源、高颜值的IT资产管理平台。资产管理、归属、追溯、盘点以及轻量的服务器状态面板。支持导出导入、LDAP、自定义字段等。基于优雅的Laravel框架和DcatAdmin开发。
此系统部署方便,但部署时步骤较多,数据库设置尤其需要注意,往往报错皆为数据库配置导致,需要特别留意。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
































校验提示文案
PHP 8.1.2-1ubuntu2.11
10.23.1
The stream or file "/var/www/html/laravel/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
The exception occurred while attempting to log: The /var/www/html/laravel/bootstrap/cache directory must be present and writable.
Context: {"exception":{}}
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
SERVER ERROR
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
\
Database
\
QueryException
PHP 8.1.2-1ubuntu2.11
10.23.1
SQLSTATE[HY000] [1130] Host '172.17.0.2' is not allowed to connect to this MariaDB server
select * from `admin_users` where `id` is null and `admin_users`.`deleted_at` is null limit 1
校验提示文案
PHP 8.1.2-1ubuntu2.11
10.23.1
The stream or file "/var/www/html/laravel/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
SERVER ERROR
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
The exception occurred while attempting to log: The /var/www/html/laravel/bootstrap/cache directory must be present and writable.
Context: {"exception":{}}
校验提示文案
校验提示文案
校验提示文案