我在我的linux vm上安装了apache httpd并希望启动它的服务。 BUt我收到错误(13)Permission denied. Error retrieving pid file run/httpd.pid
我意识到我没有这个文件。甚至不是var目录。对此有何解决方案?对不起,这是我第一次接触服务器。
我安装了这样的apache:
gzip -d httpd-2.2.21.tar.gz
tar xvf httpd-2.2.21.tar
./configure --prefix=/home/Hend/Desktop/Server
make
make install
答案 0 :(得分:3)
你有几种选择:
这是你开始这样做的方式。但是你必须:
DocumentRoot
放在其他地方/var/www
8000
而不是80
。但这样,您的所有网址都将显示为http://example.com:8000
,而不是http://example.com
。/usr/local
您可以在默认路径中为非声部发布内容安装apache,即/usr/local
而不是/usr/
。也就是说,在运行--prefix=/usr/local/
时使用configure
。
这样,事情应该简单得多。在任何情况下,您都必须从root运行Web服务器,并将其配置为仅在打开套接字后更改用户。
/usr/
您还可以在其默认位置usint --prefix=/usr/
中安装apache。这样事情应该简单得多,它应该在通常位置/etc/init.d/apache2
或/etc/init.d/httpd
,/etc/apache2
中的配置等安装init脚本。
请注意,执行此操作时,所有安装的apache文件都会与您的Linux发行版提供的版本冲突!
您想要特定设置(例如非标准补丁)的情况下的部分,特别是非打包版本(不推荐,因为通常版本打包与发行版一起保证稳定,其他版本不保证)。
这样做的好处:
例如,关于debian:
apt-get install apache2
关于fedora:
yum install httpd
等
然后,如果包管理器尚未启动该服务,则可以使用
启动它/etc/init.d/apache2 start
或
/etc/init.d/httpd start
完成工作。现在只需将内容放入/var/www/
(或等效目录,取决于发行版)并通过您的Web服务器查看。
答案 1 :(得分:1)
你必须以root身份启动apache
您是否阅读了源代码发布中的文档?
即INSTALL
less INSTALL
For complete installation documentation, see [ht]docs/manual/install.html or
http://httpd.apache.org/docs/2.2/install.html
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start