使用mpm-itk让Apache以不同用户身份运行的完整指南

news/2025/9/27 22:17:58/文章来源:https://www.cnblogs.com/qife122/p/19115803

使用mpm-itk让Apache以不同用户身份运行

在WordPress开发和WordPress托管中,让Apache以不同用户身份运行非常有用。在Debian/Ubuntu中,Apache默认以www-data用户运行。然而,这在WordPress安装中并不方便:

在生产服务器上:

  • 许多WordPress文件必须由SSH/SFTP用户拥有才能应用更改
  • 大多数WordPress必须由Web服务器用户拥有,以便应用WordPress更新

在开发环境中更是如此:
除了上述原因外,许多WordPress文件必须由PC用户拥有,以便:

  • 使用IDE处理代码
  • 使用git(如果需要)
  • 轻松进行备份

使用mpm-itk让Apache以不同用户身份运行

这个问题有几种解决方案,其中之一就是mpm-itk。根据官方页面说明:

apache2-mpm-itk(简称mpm-itk)是Apache网页服务器的MPM(多处理模块)。mpm-itk允许您在每个虚拟主机下以独立的uid和gid运行——简而言之,一个虚拟主机的脚本和配置文件不再需要对所有其他虚拟主机可读。

只需安装:

apt-get install libapache2-mpm-itk

并在您的虚拟主机配置文件中使用以下指令:

<IfModule mpm_itk_module>AssignUserId your_user your_group
</IfModule>

例如:

<VirtualHost *:443>ServerName example.comServerAdmin you@your_email.comDocumentRoot /var/www/html/example.com<IfModule mpm_itk_module>AssignUserId your_user your_group</IfModule><Directory /var/www/html/example.com>Options -Indexes +FollowSymLinks +MultiViewsAllowOverride AllRequire all granted</Directory>ErrorLog ${APACHE_LOG_DIR}/example.com_error.logLogLevel warnCustomLog ${APACHE_LOG_DIR}/example.com_access.log combinedSetOutputFilter DEFLATESetEnvIfNoCase Request_URI .(?:gif|jpe?g|ico|png)$ no-gzip dont-varySetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-varySetEnvIfNoCase Request_URI .pdf$ no-gzip dont-varyBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4.0[678] no-gzipBrowserMatch bMSIE !no-gzip !gzip-only-text/htmlSSLEngine onSSLCertificateFile /etc/ssl-dev/your_cert.pemSSLCertificateKeyFile /etc/ssl-dev/your_cert_key.pem
</VirtualHost><VirtualHost *:80>ServerName example.comRedirect permanent / https://example.com/
</VirtualHost>

Docker相关问题

它不会在Docker容器中运行。在Apache error.log中会出现如下错误:

[mpm_itk:warn] [pid 1783] (itkmpm: pid=1783 uid=33, gid=33) itk_post_perdir_config(): setgid(1000): Operation not permitted

解决方案是以不同权限运行容器(安全性较低——不推荐在生产环境使用):

docker run --name "my-container" --cap-add=SYS_NICE --cap-add=DAC_READ_SEARCH vendor/image

更多信息请参考相关文档。

PHP邮件函数和Exim4问题

如果您安装了libapache2-mpm-itk,PHP邮件函数无法与exim4一起工作(!)
当WordPress尝试发送电子邮件时,exim会崩溃,在paniclog(/var/log/exim4/paniclog)中您会看到类似内容:

2023-01-30 19:25:27 unable to set gid=33 or uid=0 (euid=0): forcing real = effective

根据[mpm-itk官方页面]和[此资源],解决方案是在Apache配置中添加LimitUIDRange 0 2000。

nano /etc/apache2/conf-available/mpm_itk_with_php_mail.conf

添加指令:

LimitUIDRange 0 2000

最后:

a2enconf mpm_itk_with_php_mail
systemctl restart apache2.service

(可能对生产使用不安全)
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sg.如何打开PySimpleGUI调试器窗口?

在PySimpleGUI中,调试器窗口的打开方式主要有以下三种,每种方式均适用于不同调试场景,且均通过内置调试器实现: 方法一:使用show_debugger_window()函数适用场景:需要快速查看变量值或交互式执行代码时。 操作步…

第6篇、Flask 表单处理与用户认证完全指南:从零到实战

标签:Python Flask Web开发 表单验证 Session Cookie 用户认证 安全编程🎯 为什么选择这篇文章? 在Web开发的世界里,表单处理和用户认证是每个开发者必须掌握的核心技能。无论是构建电商网站、社交平台还是企业管…

做视频网站收费标准wordpress.org密码

近日&#xff0c;全球IT市场研究和咨询公司Gartner发布最新报告《Magic Quadrant™ for Cloud Database Management Systems》&#xff08;全球云数据库管理系统魔力象限&#xff09;。全自研分布式数据库 OceanBase 入选“荣誉提及”&#xff0c;2022 年推出的云数据库 OB Clo…

腾讯开源 AudioStory!能生成 150 秒故事长音频,还会剧情拆解 + 自动配乐 - 详解

腾讯开源 AudioStory!能生成 150 秒故事长音频,还会剧情拆解 + 自动配乐 - 详解2025-09-27 22:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overf…

First blog of HannesZ

First blog of HannesZ这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546这个作…

威联通 NAS Docker 容器更新详解:从备份、推送到重建的全流程指南

本文针对在威联通(QNAP)等 NAS 平台上,因网络限制导致从 Docker Hub 更新容器困难或速度缓慢的问题,提出了一套完整且高效的解决方案。文章以更新 Sun-Panel 导航面板为例,详细阐述了如何利用 PC 作为跳板,结合 …

parameter和defparam的简单用法

parameter和defparam的用法 1.parameter (1)“C语言中的宏定义”功能 对于parameter来说,在我们的verilog语言中,在写.v的文件中,对于同一个变量多次出现,每次都是同时改变这些变量,可以使用parameter来替换变量…

9.27学习笔记

今日速览 环境拓扑(安全开启后) 表格 节点 新增角色 Principal 样例 node1 KDC (kerberos) kadmin/admin@HADOOP.COM node2 YARN RM + Queue Mgmt yarn/node2@HADOOP.COM node3 Phoenix RS hbase/node3@HADOOP.COM 关…

什么网站做兼职最好平台经济是什么意思

首先&#xff0c;我的结论是&#xff0c;如果是对对象进行 操作的话&#xff0c;传的是地址&#xff0c;如果是对基本数据类型进行操作的话&#xff0c;传的是值!下面&#xff0c;我再用一个小的实例来测试我的结论&#xff1a;class Person {int age;public void setAge(int a…

开学日记

dse好玩的dse好玩 我选了M2/物理/化学,物理和M2老师允许我不听课,所以理论上我可以偶尔去隔壁中国文学&&历史客串一下,好玩的 M2目前就是在学代数入门,感觉学的东西和深度不是很牛,但是我们神秘的M2老师说…

生活随笔

2025.9.27 今天不用上课(开心 做了一些题水了会洛谷一天就结束了!

网站免费建站广告机创新的南昌网站制作

目录 1 填算式 2 提取子串 3 机器人行走 4 地址格式转换 5 排日程 前言&#xff1a;以下代码仅供参考&#xff0c;若有错误欢迎指正哦~ 1 填算式 【结果填空】 (满分11分)看这个算式&#xff1a;☆☆☆ ☆☆☆ ☆☆☆如果每个五角星代表 1 ~ 9 的不同的数字。这个算式有多少种…

西宁商城网站建设公司免费解析素材网站

制造执行系统MES是一种应用于制造工厂的实际操作系统&#xff0c;它通过实时监控和控制生产流程&#xff0c;为生产过程提供全面的管理和优化。在MES管理系统解决方案中&#xff0c;设备管理功能是非常重要的一部分&#xff0c;它可以实现设备实时监控、故障预警、维护保养等功…

NOIP模拟赛 十八

DP/生成函数+博弈论+构造/倍增+根号重构A. 神秘 DP 的神秘做法。 先考虑朴素 DP ,发现最短路是可以钦定的,具体的,设 \(1\) 到其最短路为 \(d\) ,则称其为第 \(d\) 层。 要求,每一层如果存在点,一定要向上一层连…

网站建设与设计毕业设计西安加盟代理网站建设

转自&#xff1a;http://xilinx.eetrend.com/content/2019/100042384.html xilinx7系列FPGA主要包括&#xff1a;Spartan-7、Artix-7、Kintex-7、Virtex-7。其性能/密度/价格也随着系列的不同而提升。 Spartan7系列是7系列中的屌丝青年&#xff0c;拥有最低的价格、最低的功耗…

UNIQUE VISION Programming Contest 2024 Autumn (AtCoder Beginner Contest 425)

A - Sigma Cubes点击查看代码 #include <bits/stdc++.h>using i64 = long long;void solve() {int n;std::cin >> n;int ans = 0;for (int i = 1; i <= n; ++ i) {ans += (i % 2 ? -1 : 1) * i * i * …

WPF Canvas draw circle,triangle,rectangle such as mark

//Window.xaml <Window x:Class="WpfApp15.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml&quo…

论文解读-《Less is More on the Over-Globalizing Problem in Graph Transformers》 - zhang

1. 论文介绍 论文题目:Less is More on the Over-Globalizing Problem in Graph Transformers 论文领域:图神经网络,graph transformer 论文发表: ICML 2024 论文代码:https://github.com/null-xyj/CoBFormer 论文…

发布软文网站济南建设工程交易中心

在互联网的世界中&#xff0c;不同应用程序的数据传输方法各异。P2P文件共享&#xff08;Peer-to-Peer File Sharing&#xff09; 作为一种高效的文件传输方式&#xff0c;使得用户可以在没有中央服务器的情况下直接进行文件交换。本文将详细介绍P2P文件共享的基本原理、优势及…

网站规范建设学校网站集群建设

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Hash索引和B+树区别是什么?在设计索引怎么选择? 在MySQL中,Hash索引和B+树索引是两种常见的索引类型,他们有以下区别: 数据结构:Hash索引:…