Ubuntu 24.04.1 LTS nginx配置maccms

之前在Ubuntu 20.04中搭建过,现在换了新操作系统,顺便整理一下。

相关文章

环境准备

安装 Nginx

默认情况下,最新版本的 Nginx 位于 Ubuntu 20.04 默认存储库中。您可以使用以下命令安装它:

bash 复制代码
apt-get install nginx -y

安装 Nginx 后,启动 Nginx 服务,并通过以下命令使其在系统重启时启动:

bash 复制代码
systemctl start nginx
systemctl enable nginx

您还可以使用以下命令验证已安装的 Nginx 版本:

bash 复制代码
nginx -v

您应该得到以下输出:

nginx version: nginx/1.24.0 (Ubuntu)

安装mysql

我这里是使用docker安装的,其他方式可以自行网上搜索。

安装docker

为了方便后面安装mysql和redis我们先来安装一下docker。

首先我们先安装一下docker,详情的帮助见:

《Install Docker Engine on Ubuntu》
https://docs.docker.com/engine/install/ubuntu/

mysql安装

这里我们就来安装一个5.7版本的吧。

docker安装mysql5.7

bash 复制代码
#下载镜像
docker pull mysql:5.7.37
#创建mysql实例
docker run --name maccms-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=maccms123456 -d mysql:5.7.37

连接mysql数据库测试

下面我们来测试一下数据库连接是否正常。

bash 复制代码
docker run -it --rm mysql:5.7.37 mysql --port=3306 -h172.17.0.1 -uroot -pmaccms123456

创建数据库

我的设置如下,请自行修改成自己的。这里先建好,后面会用到。

  • 数据库maccms
  • 用户名maccms
  • 密码macms@pwd
sql 复制代码
-- 创建数据库
CREATE DATABASE maccms;
-- 创建用户并设置密码
CREATE USER 'maccms'@'%' IDENTIFIED BY 'macms@pwd';
-- 授予用户所有权限
GRANT ALL PRIVILEGES ON maccms.* TO 'maccms'@'%';
-- 刷新权限
FLUSH PRIVILEGES;

安装 php7.4

Ubuntu 20.04中默认就有php7.4,直接就可以安装。Ubuntu 24.04.1中就无法直接安装了。

bash 复制代码
apt-get install php7.4

安装会提示:E: 软件包 php7.4 没有可安装候选

增加源

bash 复制代码
sudo add-apt-repository ppa:ondrej/php
sudo apt update

安装 php7.4

bash 复制代码
sudo apt install php7.4

停用apache(可选)

安装完以后,默认会安装了apache2.service,会与nginx端口冲突。我这里把它停止掉并停止开机启动。

bash 复制代码
# 停止
systemctl stop apache2.service
# 不允许开机启动
systemctl disable apache2.service

当然喜欢使用apache的小伙伴可以保留。

安装 PHP7.4-FPM 和其他扩展

PHP7.4-FPM 是一个非常重要的PHP组件,它在现代Web应用程序中扮演着关键角色。

什么是PHP-FPM?

  • FPM 是 FastCGI Process Manager 的缩写。
  • FastCGI 是一种协议,它允许Web服务器(如Nginx、Apache)与PHP解释器进行通信。
  • PHP-FPM 是一种实现了FastCGI协议的PHP进程管理器,它负责管理PHP进程的生命周期,并提供了一些额外的功能,如动态调整进程数、监控进程状态等。

您可以通过运行以下命令来安装 PHP7.4-FPM 和其他必要的扩展:

bash 复制代码
apt-get install php7.4-fpm php7.4-cli php7.4-mysql php7.4-curl php7.4-json php7.4-mbstring php7.4-zip php7.4-gd  -y
  • php7.4-mbstring 不安装,macmcs会报错
  • php7.4-zip如果不安装,maccms安装自检无法过
  • php7.4-gd 不安装后台登录会没有验证码

安装maccms

下载

可以从https://github.com/magicblack/maccms10中下载。

我下载的是v2024.1000.4046版本的。

解压程序目录

我把上面下载的程序解压到了如下目录:

bash 复制代码
/var/www/maccms10

并设置目录的权限,不然会报权限的错误

bash 复制代码
sudo chown -R www-data:www-data /var/www/maccms10
sudo chmod -R 755 /var/www/maccms10

配置nginx

其中www.demo.com修改成自己的域名。

bash 复制代码
server {
    listen       80;
    server_name  www.demo.com;
    root /var/www/maccms10;

	location / {
		index index.php index.html error/index.html;
 	 	if (!-e $request_filename) {
        rewrite ^/index.php(.*)$ /index.php?s=$1 last;
        rewrite ^/admin.php(.*)$ /admin.php?s=$1 last;
        rewrite ^/api.php(.*)$ /api.php?s=$1 last;
        rewrite ^(.*)$ /index.php?s=$1 last;
        break;
   		}
		autoindex off;
	}
	
	 location ~ \.php(.*)$ {
			fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

配置完成以后,可以重启nginx使配置生效。

bash 复制代码
systemctl restart nginx

maccms安装向导

此时访问你的域名可以看到安装配置的界面了,比如:访问www.demo.com。界面如下:

同意协议并安装系统

运行环境检测

如果以上步骤都是跟我一样的话,应该是全部检验通过了。如果有不通过的单独解决一下即可。

这里点击进行下一步。

数据库与管理员设置【关键】

在这里设置我们上面的创建的数据库,用户名,和密码。我这里是

  • 数据库maccms
  • 用户名maccms
  • 密码macms@pwd

    设置完成后,点击"立即执行安装"即可。

修改管理后台的地址

正常情况下,会提示

然后会自动跳转到以下界面 。

只要把admin.php重命名就可以了。这里我修改成bugaosuni.php 这里请修改成你自己能记得的,别人猜不到的就行了。

bash 复制代码
mv /var/www/maccms10/admin.php /var/www/maccms10/bugaosuni.php

进入管理后台

然后访问http://你的域名/bugaosuni.php就可以进行管理后台。

  1. 这里如果您遇到了验证码不显示的问题,请检查php7.4-gd是否安装了。
bash 复制代码
apt-get install php7.4-gd  -y
  1. 如果报页面不存在,而且还是用nginx配置的话,要检查一下nginx配置是否正确。特别是这里:
bash 复制代码
 location ~ \.php(.*)$ {
			fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }

这两点坑我可以花了好几个小时才搞定的,写出来帮助那些需要的人。

升级脚本

第1次进来可以要升级一下脚本,点一下即可。

至此我们就安装配置完成了。

其他

默认是不带有模板的,需要模板的可以自行网上找找。我也忘记我的模板在哪下载的,我是在github中找到的一个。

系统=>网站参数=>网站模板、手机模板

设置一下就可以了。

相关推荐
-Harvey3 小时前
ubuntu为Docker配置代理
linux·ubuntu·docker
thehunters3 小时前
win10 ubuntu 使用Android ndk 问题:clang-14: Exec format error
android·linux·ubuntu
一个假的前端男4 小时前
使用宝塔面板,安装 Nginx、MySQL 和 Node.js
mysql·nginx·node.js
姜太小白5 小时前
【Nginx】设置https和http同时使用同一个端口访问
nginx·http·https
soragui7 小时前
【Ubuntu】想知道怎么通过命令行查看笔记本电池健康程度吗?
linux·ubuntu·电脑
小学导航员7 小时前
centos服务器 /1ib64/libm.so.6: version “GLIBc 2.27’ not found 异常
linux·服务器·centos
libra69567 小时前
esp32开发笔记之一:esp32开发环境搭建vscode+ubuntu
笔记·vscode·ubuntu
揽星逐月酒微醺7 小时前
find 查找文件grep匹配数据
linux·运维·服务器
银河麒麟操作系统7 小时前
【银河麒麟高级服务器操作系统】服务器异常重启故障分析及处理建议
linux·运维·服务器·安全·电脑
Codeking__7 小时前
Linux初识——基本指令
linux·运维·服务器