CentOS 7 安装部署chemex开源资产管理系统

CentOS 7 安装部署chemex开源资产管理系统

一、简介

咖啡壶是开源、高颜值的IT资产管理平台。资产管理、归属、追溯、盘点以及轻量的服务器状态面板。支持导出导入、LDAP、自定义字段等。基于优雅的Laravel框架和DcatAdmin开发。

参考网址:https://github.com/celaraze/chemex/blob/main/docs/%E5%AE%89%E8%A3%85.md

先决条件

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

PHP:仅支持 PHP8.1。

composer:PHP 的包管理工具,用于安装必要的依赖包。

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

ext-zip:扩展。

ext-json:扩展。

ext-fileinfo:扩展。

ext-ldap:扩展。

ext-bcmath:扩展。

ext-mysqli:扩展。

ext-xml:扩展。

ext-xmlrpc:扩展。

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

二、环境准备

(如果安装出现连接错误,请看最后一节,因为centos已经停止维护,很多源已经停服了,需要更换数据源)

2.1、操作系统
此次部署固定资产管理系统使用的是Linux系统。CentOS 7.9,如何安装不做介绍。关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

vim /etc/selinux/config 
修改好后,记得重启系统
reboot                  # 重启linux系统

2.2、安装PHP
# 安装yum-utils 工具
yum install -y yum-utils

# 安装依赖
yum install openssl-devel gcc gcc-++ gcc-c++ wget make libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel bison autoconf sqlite-devel oniguruma-devel git

# 更换yum源 (提示有错误就换下一个)
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

#为PHP 8。1启用流模块
yum-config-manager --disable 'remi-php81*'
yum-config-manager --enable remi-php81

#安装php81-php 8及扩展:
yum install -y php81-php php81-php-cli php81-php-fpm php81-php-mysqlnd php81-php-zip php81-php-devel php81-php-gd php81-php-mbstring php81-php-curl php81-php-xml php81-php-pear php81-php-bcmath php81-php-json php81-php-redis  php81-php-xmlrpc php81-php-fileinfo php81-php-mysqli php81-php-ldap

不加81,无法显示版本,实际上就是环境变量没有配置好,但这情况会影响后续安装composer 工具,因此我们需要搞定。

1.使用文件搜索命令,查看你的php 实际部署路径在哪里
[root@ITMS ~]# find / -name php.ini
/etc/opt/remi/php81/php.ini

2.创建软连接
 ln -sf /opt/remi/php81/root/usr/bin/php* /usr/local/bin

现在再操作 php -v 就ok了
搜索php.ini 在哪里,然后修改php.ini 文件
[root@ITMS ~]# find / -name php.ini
/etc/opt/remi/php81/php.ini
[root@ITMS ~]# 

php 安装成功 修改php.ini文件

vim /etc/opt/remi/php81/php.ini

zlib.output_compression = On

修改后,注意保存

启动php
systemctl start php81-php-fpm
状态查看
systemctl status php81-php-fpm


2.3、安装nginx
centos平台编译环境使用如下指令
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
useradd www -s /sbin/nologin
wget http://nginx.org/download/nginx-1.22.1.tar.gz  下载
tar zxvf nginx-1.22.1.tar.gz		解压

进入解压后的nginx目录
cd nginx-1.22.1 
编译:
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-file-aio
编译安装:
make && make install

nginx 安装完成
配置nginx
查找nginx.conf 配置文件安装路径
[root@ITMS ~]# find / -name nginx.conf
/root/nginx-1.22.1/conf/nginx.conf
/usr/local/nginx/conf/nginx.conf
[root@ITMS ~]# 
vim /usr/local/nginx/conf/nginx.conf

复制下面的代码,粘贴到 nginx.conf 文件中,注意文件格式。记得保存

server {
    listen       80;
    index  index.php index.html;
    root   /opt/var/www/chemex/public/; #源码目录
    try_files $uri $uri/ /index.php?$args; #伪静态规则
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /opt/var/www/chemex/public$fastcgi_script_name;
        include        fastcgi_params;
    }
}

启动nginx
启动nginx
/usr/local/nginx/sbin/nginx -s reload

如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed
则运行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nginx 启动,关闭,重启,命令

./nginx 启动

./nginx -s stop 关闭

./nginx -s reload 重启

./nginx -c /usr/local/nginx/sbin/nginx.conf 指定配置文件启动

PS扩展知识: nginx 上传文件请求超时解决办法
nginx对上传文件大小有限制,而且默认是1M。另外,若上传文件很大,还要适当调整上传超时时间

client_max_body_size         50m;//限制请求体的大小,若超过所设定的大小,返回413错误。
client_header_timeout        1m; //读取请求头的超时时间,若超过所设定的大小,返回408错误。
client_body_timeout          1m; //读取请求实体的超时时间,若超过所设定的大小,返回413错误。
proxy_connect_timeout        60s;//http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,
proxy_read_timeout           1m; //http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒。
proxy_send_timeout           1m; //http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒。

2.4、数据库**
#修改 yum源指向 清华大学镜像
vim /etc/yum.repos.d/mysql.repo
[mysql]
name= mysql8.0
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el7-x86_64/
enable=1
gpgcheck=0

更新镜像源:
yum clean all && yum makecache #清除缓存  生成缓存

#安装mysql 和查看 初始密码
yum install mysql-community-server -y     
systemctl enable --now mysqld
grep "password" /var/log/mysqld.log 


登录数据库  初始密码:5&A/glYm.R)b
mysql -uroot -p

使用初始密码登录,输入任何命令都会报错。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Asdf_jj!@#@123';      #修改新密码第一次要用复杂点的密码,否则会报错
set global validate_password.policy=0;								#关闭密码复杂度检查
ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin@123';   			#修改密码为 admin@123

create database chemex;                                #创建chemex 数据库
create user 'chemex'@'%' identified by 'admin@123';		#创建数据库用户:chemex和密码:admin@123
grant all privileges on chemex.* to 'chemex'@'%';		#赋予用户chemex 权限只能访问chemex 库
flush privileges;										#刷新策略

数据库就创建完毕了

开启mysql 远程连接,按需配置

[root@ITMS ~]# vim /etc/my.cnf   #修改配置文件
CREATE USER 'root'@'%' IDENTIFIED BY 'admin@123';            #创建新用户

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; #授权远程登录

示例:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'指定的IP地址' IDENTIFIED BY '您的密码' WITH GRANT OPTION;


FLUSH PRIVILEGES; 更新策略

systemctl restart mysqld         #修改好后,重启mysql服务

连接成功


2.5、安装composer1.下载

确保系统环境中 可执行 php -v。

curl -sS https://getcomposer.org/installer | php81
2.6配置系统变量
mv composer.phar /usr/local/bin/composer 
2.7更换镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
2.8查看
composer

出现下图,代表安装成功:

composer   #查看是否安装成功。


三、安装部署

3.1、下载咖啡壶源码
mkdir -p /opt/var/www && cd /opt/var/www
git clone https://gitee.com/celaraze/chemex.git .   克隆数据,github 国内可能会失败,可以先下载下来。

参考网址:https://github.com/celaraze/chemex/blob/main/docs/%E5%AE%89%E8%A3%85.md

配置文件权限
chmod -R 777 storage

cp .env.example .env
vim .env
    DB_CONNECTION=mysql #数据库类型,不需要修改(兼容mariadb)
    DB_HOST=127.0.0.1 # 数据库地址
    DB_PORT=3306 # 数据库端口号
    DB_DATABASE=chemex # 数据库名称
    DB_USERNAME=chemex # 数据库用户名
    DB_PASSWORD=admin@123 # 数据库密码,自己在MySQL中的配置的密码


3.2、执行安装chemex
composer install

注意上面的命令,在那个路径下执行

[root@ITMS chemex]# composer install

3.3.安装 chemex
php artisan chemex:install

安装成功

3.4验证是否能够正常打开网页
打开网页出现以下报错,那是因为cache 文件未开启写权限,可以给他授权权限即可
chmod 777 /opt/var/www/bootstrap/cache 


因centos 已经停服务,因此需要重新配置更新yum 源

设置centos7的更新源

​ 设置CentOs 7的更新源可以按照以下步骤进行:
​ 1.备份原有的yum源文件:

​ cp /etc/yum.repos.d/centos-Base,repo /etc/yum.repos.d/centos-Base.repo.bak

​ 2.切换到阿里云的yum源:
​ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

​ 3.添加EPEL源:
​ wget -p /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo

查看内核版本
查看全部信息:

[zhangsan@localhost ~]$ uname -a
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
查看linux内核信息:

[zhangsan@localhost ~]$ uname -r
3.10.0-693.el7.x86_64
查看linux版本号:

[zhangsan@localhost ~]$ cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 

Linux(Centos 7) Minimal 安装后,由于没有预装wget,在使用wget命令去下载安装相关应用时,提示:“wget: command not found”

先在Linux服务器窗口中,输入如下命令,检查Linux服务器有没有安装过wget。

rpm -qa | grep "wget"

登录wget官网下载地址,下载最新的wget的rpm安装包到本地
官网地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/

将下载好的wget的rpm安装包通过Xftp工具上传到Linux服务器对应目录下。
如我们在/usr/local目录下手动创建一个wget文件目录,然后将下载好的wget-1.14-18.el7_6.1.x86_64.rpm通过Xftp工具上传到这个wget目录下

进入上传目录,安装wget

# 进入wget安装目录
cd /usr/local/wget
# 安装wget
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
# 查看wget是否安装
rpm -qa | grep wget


# 查看wget的版本信息
	wget -V

	设置CentOs 7的更新源可以按照以下步骤进行:
​	1.备份原有的yum源文件:

​	cp /etc/yum.repos.d/centos-Base,repo /etc/yum.repos.d/centos-Base.repo.bak

​	2.切换到阿里云的yum源:

​	wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

​	3.添加EPEL源:
​	wget -p /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
**提示wget 无法解析主机地址,解决办法如下
登录root用户,用vim /etc/resolv.conf ,打开rsolv.conf,添加DNS地址

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 223.5.5.5
nameserver 223.6.6.6

(nameserver 223.5.5.5 和 nameserver 223.6.6.6选择其中一个添加即可)

更新镜像源
	# 清除缓存
	yum clean all
	# 生成缓存
	yum makecache

启动EPEL软件源
	yum install epel-release

安装常用工具包

[root@dhcp-1 ~]# yum -y install  ifconfig gcc netsat lsof ftp net-tools git tar make

***注意事项,千万不要使用

gitee 里的代码,否则会报错。
https://gitee.com/carlson/chemex/tree/main

github 博主安装说明

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

Docker
Docker 部署方式不会建立数据库容器,也意味着你必须有一个已有的数据库,在启动 chemex 后需要对 .env 文件做配置。

docker pull celaraze/chemex:latest

注意 your_path 为你的宿主机某个目录,chemex 根目录有一个 .env.example 的环境变量配置文件,复制这个文件到 your_path 下并改名为 .env,然后修改 .env 中的数据库连接信息。

docker run -itd --name chemex --restart=always -p 8000:8000 -v /your_path/.env:/var/www/html/laravel/.env celaraze/chemex:latest
即可通过 http://127.0.0.1:8000 访问 chemex。

初始化数据库:如果您是第一次使用 chemex,则需要执行数据库迁移。docker exec -it chemex /bin/bash 进入 docker 容器执行命令: cd /var/www/html/laravel && php artisan chemex:install。

手动部署
先决条件
git:用于管理版本,部署和升级必要工具。

PHP:仅支持 PHP8.1。

composer:PHP 的包管理工具,用于安装必要的依赖包。

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

ext-zip:扩展。

ext-json:扩展。

ext-fileinfo:扩展。

ext-ldap:扩展。

ext-bcmath:扩展。

ext-mysqli:扩展。

ext-xml:扩展。

ext-xmlrpc:扩展。

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

安装步骤
生产环境下为遵守安全策略,非常建议在服务器本地进行部署,暂时不提供相关线上初始化安装的功能。因此,虽然前期部署的步骤较多,但已经为大家自动化处理了很大部分的流程,只需要跟着下面的命令一步步执行,一般是不会有部署问题的。

为你的计算机安装 PHP8.1 环境,参考:PHP官方 。

为你的计算机安装 MySQL 或者 mariadb。

在你想要的地方,执行 mkdir chemex && cd chemex。

执行 git clone https://gitee.com/celaraze/chemex.git .,注意末尾的 . 也是需要包含的。

执行 git submodule init && git submodule update。

执行 cp .env.example .env。

根据 .env 文件中注释的指引进行配置。

执行 composer install -vvv 安装依赖。

你可能使用的web服务器为 nginx 以及 apache,无论怎样,应用的起始路径在 /public 目录,请确保指向正确,同时程序的根目录权限应该调整为:拥有者和你的 Web 服务器运行用户一致,例如 www 用户,且根目录权限为 755。

/storage 目录设置为 755 权限。

/public 目录设置为 755 权限。

修改web服务器的伪静态规则为:try_files $uri $uri/ /index.php?$args;。

执行 php artisan chemex:install。

此时可以通过访问 http://your_domain 来使用咖啡壶。管理员账号密码为:admin / admin。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值