深度桌面20社区版上部署咖啡壶IT资产管理软件

2023-10-13 21:20

本文主要是介绍深度桌面20社区版上部署咖啡壶IT资产管理软件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、咖啡壶介绍

咖啡壶(Chemex)是一个轻量的、现代设计风格的 ICT 资产管理系统。得益于 Laravel 框架以及 Dcat Admin 开发平台,使其具备了优雅、简洁的优秀体验。 咖啡壶(Chemex) 是完全免费且开源的,任何人都可以无限制的修改代码以及部署服务,这对于很多想要对ICT资产做信息化管理的中小型企业来说,是一个很好的选择:低廉的成本换回的是高效的管理方案,同时又有健康的生态提供支持。
项目地址:https://gitee.com/celaraze/chemex

二、环境要求

git,用于管理版本,部署和升级必要工具。

PHP 8+ ,仅支持 PHP8。

MySQL 5.7+,数据库引擎,理论上 MariaDB 10.2 + 兼容支持。

ext-zip 扩展。

ext-json 扩展。

ext-fileinfo 扩展。

ext-ldap 扩展。

ext-bcmath 扩展。

ext-mysqli 扩展。

ext-xml 扩展。

ext-xmlrpc 扩展。

以上扩展安装过程注意版本必须与 PHP 版本一致。

三、部署步骤

1. 安装php8

深度的软件仓库没有php8,所以我们要编译安装php。
到php官方网站下载源代码,源代码拷贝到/opt目录并加压,然后编译安装,如下编译选项:

./configure --prefix=/opt/php8 --with-config-file-path=/opt/php8/etc \
--enable-fpm --enable-mysqlnd --enable-opcache --enable-pcntl \
--enable-mbstring --enable-soap --with-zip --enable-calendar \
--enable-bcmath --enable-exif --enable-ftp --enable-intl --with-mysqli\
--with-pdo-mysql --with-openssl --with-curl --enable-gd --with-gettext \
--with-mhash --with-openssl --with-tidy \
--with-zlib --with-ldap

如果有些支持库没有满足,需要手动安装

apt-get install -y autoconf libxml2-dev libsqlite3-dev \
libcurl4-openssl-dev libssl-dev libonig-dev libtidy-dev zlib1g-devai libldap2-dev libzip-dev

xml-rpc这个扩展没有这个编译选项,跳过。
编译和拷贝配置文件

make
make install
cp php.ini-production /opt/php/etc/php.ini
cd /opt/php8/etc
cp php-fpm.conf.default php-fpm.conf
cp ./php-fpm.d/www.conf.default ./php-fpm.d/www.conf

php可执行程序软链接

ln -s /opt/php8/bin/php /usr/bin/php

验证php

php -v
PHP 8.0.8 (cli) (built: Jul 24 2021 20:03:16) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.8, Copyright (c) Zend Technologieswith Zend OPcache v8.0.8, Copyright (c), by Zend Technologies
php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
SPL
sqlite3
standard
tidy
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib[Zend Modules]
Zend OPcache

设置php-fpm服务

vim /lib/systemd/system/php-fpm.service

内容如下:

[Unit]
Description=The PHP 8.0 FastCGI Process Manager
Documentation=man:php-fpm8.0(8)
After=network.target[Service]
Type=simple
PIDFile=/var/run/php-fpm.pid
ExecStart=/opt/php8/sbin/php-fpm --nodaemonize --fpm-config /opt/php8/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID[Install]
WantedBy=multi-user.target

现在php-fpm服务还无法启动,我们还要修改对应的配置文件,修改php执行的用户和组。为什么是这个用户和组,因为apache2是使用这个用户运行的。涉及后面网站的权限。

sudo vim www.conf; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.user = www-datagroup = www-data

这时候php能够正常运行了。9000端口开启了。

State             Recv-Q            Send-Q                       Local Address:Port                        Peer Address:Port            
LISTEN            0                 511                              127.0.0.1:9000                             0.0.0.0:*               
LISTEN            0                 50                                 0.0.0.0:139                              0.0.0.0:*    

2.安装apache2和mariadb

深度软件仓库中的这两个软件满足要求。不需要编译安装了。

3.下载网站源码部署网站

到项目中下载网站,然后拷贝到/opt目录并解压。

# jlee @ jlee-PC in /opt/chemex [13:57:30] 
$ ls
app      bootstrap      config    LICENSE       phpunit.xml  README.md  routes  server.php  tests   webpack.mix.js
artisan  composer.json  database  package.json  public       resources  rr      storage     vendor

在项目根目录中,复制 .env.example 文件为一份新的,并重命名为 .env

sudo vim .env1 # 欢迎使用 chemex,在您开始之前,请按照指引完成配置2 3 # 基础配置:4 5 ### 第一步:数据库配置6 DB_CONNECTION=mysql #数据库类型,不需要修改(兼容mariadb)7 DB_HOST=127.0.0.1 # 数据库地址8 DB_PORT=3306 # 数据库端口号9 DB_DATABASE=chemex_alone # 数据库名称10 DB_USERNAME=test # 数据库用户名11 DB_PASSWORD=test # 数据库密码

进入mysql,创建数据库和用户名

create database chemex_alone;
grant all on chemex_alone.* to test@'%' identified by 'test';

不要修改字符集,默认就是utf8

MariaDB [(none)]> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.001 sec)

进入网站根目录安装chemex

php artisan chemex:install

配置httpd
主配置文件

sudo vim apache2.conf176 <Directory /opt/chemex>
177 ▸   Options FollowSymLinks
178 ▸   AllowOverride All
179 ▸   Require all granted
180 </Directory>

模块增加

cd /etc/apache2/mods-enabled/
sudo ln -s ../mods-available/proxy.conf proxy.conf
sudo ln -s ../mods-available/proxy.load proxy.load
sudo ln -s ../mods-available/rewrite.load rewrite.load
sudo ln -s ../mods-available/proxy_fcgi.load proxy_fcgi.load

主机配置

cd /etc/apache2/sites-enabled/
sudo vim 000-default.conf

修改内容

<VirtualHost *:80># The ServerName directive sets the request scheme, hostname and port that# the server uses to identify itself. This is used when creating# redirection URLs. In the context of virtual hosts, the ServerName# specifies what hostname must appear in the request's Host: header to# match this virtual host. For the default virtual host (this file) this# value is not decisive as it is used as a last resort host regardless.# However, you must set it for any further virtual host explicitly.#ServerName www.example.comServerAdmin webmaster@localhostDocumentRoot /opt/chemex/public/AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phpsProxyRequests offProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/opt/chemex/public/$1# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,# error, crit, alert, emerg.# It is also possible to configure the loglevel for particular# modules, e.g.#LogLevel info ssl:warnErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined# For most configuration files from conf-available/, which are# enabled or disabled at a global level, it is possible to# include a line for only one particular virtual host. For example the# following line enables the CGI configuration for this host only# after it has been globally disabled with "a2disconf".#Include conf-available/serve-cgi-bin.conf
</VirtualHost># vim: syntax=apache ts=4 sw=4 sts=4 sr noet

修改服务器的伪静态规则,apache的方法是:

  • 开启 rewrite 模块
  • 文件夹开启 AllowOverride All

最后修改网站目录的所有者和所属组为www-data,并且设置755权限。其中/storage 目录设置为 777 权限。

这样网站就能够打开了
在这里插入图片描述

这篇关于深度桌面20社区版上部署咖啡壶IT资产管理软件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/205939

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

韦季李输入法_输入法和鼠标的深度融合

在数字化输入的新纪元,传统键盘输入方式正悄然进化。以往,面对实体键盘,我们常需目光游离于屏幕与键盘之间,以确认指尖下的精准位置。而屏幕键盘虽直观可见,却常因占据屏幕空间,迫使我们在操作与视野间做出妥协,频繁调整布局以兼顾输入与界面浏览。 幸而,韦季李输入法的横空出世,彻底颠覆了这一现状。它不仅对输入界面进行了革命性的重构,更巧妙地将鼠标这一传统外设融入其中,开创了一种前所未有的交互体验。 想象

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Solr部署如何启动

Solr部署如何启动 Posted on 一月 10, 2013 in:  Solr入门 | 评论关闭 我刚接触solr,我要怎么启动,这是群里的朋友问得比较多的问题, solr最新版本下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境 建立一个solr目录,把solr压缩包example目录下的内容复制

动手学深度学习【数据操作+数据预处理】

import osos.makedirs(os.path.join('.', 'data'), exist_ok=True)data_file = os.path.join('.', 'data', 'house_tiny.csv')with open(data_file, 'w') as f:f.write('NumRooms,Alley,Price\n') # 列名f.write('NA