修改apache的httpd服务为root权限

一、修改配置文件

  1. 修改配置文件及重启服务
[[email protected] ~]# cd /etc/httpd/conf
[[email protected] conf]# vim httpd.conf修改配置文件

将User 和group改为root:

[[email protected] conf]# service httpd restart
Stopping httpd:                                           [  OK  ]
Starting httpd: Syntax error on line 244 of/etc/httpd/conf/httpd.conf:
Error:\tApache has not been designed to serve pageswhile\n\trunning as root.  There areknown race conditions that\n\twill allow any local user to read any file on thesystem.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLEto the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is stronglysuggested that you instead modify the User\n\tdirective in your httpd.conf fileto list a non-root\n\tuser.\n
                                                          <span style="color:#ff6666;">[FAILED]</span>
[[email protected] conf]#

重启服务出错。

Error:\tApache has not been designed to serve pageswhile\n\trunning as root.  There areknown race conditions that\n\twill allow any local user to read any file on thesystem.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLEto
the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is stronglysuggested that you instead modify the User\n\tdirective in your httpd.conf fileto list a non-root\n\tuser.\n

从报错信息来看意思就是:如果要用root用户来跑apache服务,需要添加“-DBIG_SECURITY_HOLE”到CFLAGS环境变量中,然后在重新编译源代码。

二、下载源码,修改,重新编译

1. 清理环境

[[email protected] software]# rpm -qa |grep apr
apr-1.3.9-5.el6_2.x86_64
apr-util-1.3.9-3.el6_0.1.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
[[email protected] software]# rpm -e apr
error: Failed dependencies:
	libapr-1.so.0()(64bit) is needed by (installed) apr-util-1.3.9-3.el6_0.1.x86_64
	libapr-1.so.0()(64bit) is needed by (installed) httpd-tools-2.2.15-39.el6.centos.x86_64
	libapr-1.so.0()(64bit) is needed by (installed) httpd-2.2.15-39.el6.centos.x86_64
[[email protected] software]# rpm -e --nodeps apr【--nodeps表示不要做依赖检查】
[[email protected] software]# rpm -e --nodeps apr-util
[[email protected] software]# rpm -qa |grep apr
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
[[email protected] software]#

2. 下载源码编译安装

[[email protected] software]# wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
[[email protected] software]# wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz
[[email protected] software]# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip
[[email protected] software]# ls
apr-1.4.5.tar.gz  apr-util-1.3.12.tar.gz  pcre-8.10.zip
[[email protected] apr-1.4.5]# ./configure --prefix=/usr/local/apr
[[email protected] apr-1.4.5]# make && make install

[[email protected] apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
[[email protected] apr-util-1.3.12]# make && make install

[[email protected] pcre-8.10]# ./configure --prefix=/usr/local/pcre
[[email protected] pcre-8.10]# make && make install

下载apache并修改源码:

<p>[[email protected] software]# wgethttp://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.10.tar.gz</p><p>[[email protected] software]# tar -xvf httpd-2.4.10.tar.gz </p><span style="color: windowtext;">[[email protected] software]# cd httpd-2.4.10</span>

修改代码include/http_config.h,在文件头添加上

#ifndefBIG_SECURITY_HOLE
#defineBIG_SECURITY_HOLE
#endif

重新编译:

[[email protected] httpd-2.4.10]# ./configure --prefix=/usr/local/httpd --enable-ssl --enable-cgi --enable-mods-shared=allable-ssl --enable-cgi --enable-mods-shared=all  --enable-track-vars --enable-rewrite <strong>--with-apr-util=/usr/local/apr-util/ --with-apr=/usr/local/apr --with-pcre=/usr/local/pcre</strong>
[[email protected] httpd-2.4.10]# make && make install

3、修改配置文件重启服务

此时如果启动服务,那对应的User是配置文件中默认的User:deamon或者apache。那么现在修改配置文件:

[[email protected] httpd-2.4.10]# vim /usr/local/httpd/conf/httpd.conf

将User和Group改为root.

重启服务:

[[email protected] httpd-2.4.10]# /usr/local/httpd/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
则:修改配置文件中的ServerName

修改配置文件中的ServerName为:ServerName localhost:80。重启服务:

[[email protected] httpd-2.4.10]# /usr/local/httpd/bin/apachectl start
[[email protected] httpd-2.4.10]# ps -ef |grep httpd
root      9919     1  0 16:02 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
root      9920  9919  0 16:02 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
root      9921  9919  0 16:02 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
root      9922  9919  0 16:02 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
root     10005 12944  0 16:03 pts/2    00:00:00 grep httpd
[[email protected] httpd-2.4.10]#

如果执行 service httpd restart 出现httpd: unrecognized service错误,则将/usr/local/httpd/bin/apachectl 拷贝到/etc/init.d/httpd即可。

至此,修改权限成功。鼓掌^^

补充(安装pcre可能遇到的出错状况):

  • ./libtool: line 990: g++: command not found

    make[1]: *** [pcrecpp.lo] Error 1

    make[1]: Leaving directory `/root/software/pcre-8.10‘

    make: *** [all] Error 2

    解决办法:yum install gcc+ gcc-c++

  • make && make install的时候出错:

    libtool: link: unsupported hardcode properties

    libtool: link: See the libtool documentation for moreinformation.

    libtool: link: Fatal configuration error.

    解决方案:在yum install gcc+ gcc-c++后要重新编译./configure下,再make即可。

其他link:

时间: 2024-10-12 15:57:18

修改apache的httpd服务为root权限的相关文章

安装Apache(httpd服务)

安装Apache(httpd服务) ① 移动所有压缩包到root文件夹下(root的家) ② 解压httpd压缩包(.tar.gz) 使用tar指令解压.tar.gz压缩包 tar 指令 -zxf :解压文件 -v :解压时显示解压进度 ③ 使用configure来设置配置信息 设置完成后,单击回车即可. ④ 使用make指令编译源码生成可执行文件 ⑤ 使用make install指令对编译后的文件进行安装 ⑥ 安装完成后,还不能直接使用,必须手工启动apache服务 执行以上指令后,代表apa

【修改端口号】linux下修改apache,nginx服务端口号

一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找到 port=80 这一行, 把80改成在此服务器上没有用到的端口号,保存退出. 二.linux下修改nginx端口号 yum安装后,nginx配置文件路径:/nginx/nginx-1.8.0/conf/nginx.conf 把80改成在此服务器上没有用到的端口号

WAMP 之 修改apache(httpd)端口号

window的IIS服务器默认端口也是80, 而Wamp的apache(httpd)默认端口也是80, 凡是端口冲突引起的Wamp开启失败,引起Wamp右下角图标是黄颜色(正常开启时绿色), 都可以更改apache(httpd)的端口号就可以了. 具体方案如图: 替换为: 然后重启Wamp服务,或者Wamp本身就可以了

忘记root密码时如何修改密码?如何解决进入root权限时出现的XXis not in the sudoers file. this incident will be reported.问题。

当出现这种情况时,可以用如下方法解决. 首先重启虚拟机,当出现如下界面时,将鼠标进入Linux系统,一定要在这三秒内按下回车键. 进入如下界面 按e之后,会进入如下界面 用上下键跳至第二行,按e进入编辑模式后,在最后输入single.(注意,这里single之前一定要有空格) 之后按b重启,修改密码 这样就可以进入root模式了. 但是随后输入exit退出之后,又出现了用户不在sudoers文件的问题. 怎么解决呢? 首先输入su - 输入超级管理员密码之后,就会切换到root用户(注意,-不要

linux启动httpd服务出现 Could not reliably determine the server`s fully qualified domain name.

安装好apache启动httpd服务时,出现httpd: Could not reliably determine the server's fully qualified domain name, using XXX for ServerName. 网上找了不少资料,叫修改安装apache根目录下的httpd/conf/httpd.conf配置文件 1.打开apache_home/httpd/conf/httpd.conf 2.找到 #ServerName www.example.com:80

httpd服务配置与部署

1.编译安装httpd-2.42.配置三种不同风格的虚拟主机1 相同Ip不同端口2相同端口不同ip3相同IP相同端口不同域名实验环境说明:** 主机名 操作系统 ip地址 [email protected] ~ rhel7 192.168.43.199 更改主机名,关掉防火墙和selinux. [[email protected] ~]# systemctl stop firewalld.service [[email protected] ~]# setenforce 0 [[email pr

CentOS 7 中httpd服务的用户限制详解

Apache HTTP Server 之所以受到众多企业的青睐,得益于其代码开源.跨平台.功能模块haul.可灵活定制等诸多优点,其不仅性能稳定,在安全性方面的表现也十分出色. 为了更好的控制对网站资源的访问,可以为特定的网站目录添加访问授权.授权的方式有两种:客户机地址限制,用户授权限制.以下所有操作必须基于httpd服务的环境下,搭建httpd服务可以参考博文CentOS 7 利用Apache搭建Web网站服务 我们来详细了解如何实现web服务器对用户的限制 客户机地址限制 通过Requir

Apache—httpd服务创建个人用户主页功能

创建个人用户主页功能 第1步:开启个人用户主页功能  UserDir disabled前加# UserDir public_html 去掉前面# UserDir参数表示的是需要在用户家目录中创建的网站数据目录名称(public_html) 第2步:创建1个新的普通用户fireuser,并且切换到普通用户的家目录,在家目录下创建网站数据目录public_html,写入首页文件内容并给予网站目录访问权限.(注意一定是更改~家目录的权限为755才可以,不然无权限访问)  第3步:键入http://12

Linux下使用Apache的Httpd+Mod_jk+Tomcat搭建Web集群服务

Linux下使用Apache的Httpd+Mod_jk+Tomcat搭建Web集群服务 目的 ?? 使用多个tomcat服务器来对请求进行分流,防止单个服务器压力过重.这里为了简单,只使用两个tomcat. 软件 apache httpd-2.2.31(下载地址:https://httpd.apache.org/download.cgi) apache tomcat-7.0.69(下载地址:https://tomcat.apache.org/download-70.cgi) tomcat-con