簡體   English   中英

Apache httpd安裝后缺少var目錄

[英]Missing var directory after Apache httpd installation

我在我的linux vm上安裝了apache httpd,並希望啟動它的服務。 BUt我收到錯誤(13)Permission denied. Error retrieving pid file run/httpd.pid (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

你有幾種選擇:

在用戶目錄中安裝apache,以非root用戶身份運行

這是你開始這樣做的方式。 但是你必須:

  • 向啟動腳本添加一些自定義,或者至少傳遞足夠的環境變量以告訴他配置/ pidfile /等在哪里
  • 修改整個apache配置,因為默認使用您無權訪問的目錄。 例如,您應該將DocumentRoot放在/var/www
  • 在非標准端口上運行服務器。 由於非特權用戶無法在低於1024的端口上運行服務,因此必須在另一個端口上運行apache,例如8000而不是80 但是這樣,您的所有網址都會顯示為http://example.com:8000而不是http://example.com

從源安裝apache到/usr/local

您可以在非分區發布內容的默認路徑中安裝apache,即/usr/local而不是/usr/ 也就是說,在運行configure時使用--prefix=/usr/local/ 這樣,事情應該簡單得多。 在任何情況下,您都必須從root運行Web服務器,並將其配置為僅在打開套接字后更改用戶。

從源代碼安裝apache到/usr/

您還可以在其默認位置usint --prefix=/usr/安裝apache。 這樣事情應該簡單得多,它應該在通常的位置/etc/init.d/apache2/etc/init.d/httpd /etc/apache2配置/etc/apache2安裝init腳本。請注意這樣做所有的apache安裝的文件將與您的Linux發行版提供的版本沖突!

從分發包管理器安裝apache

您需要特定設置(例如非標准補丁)的情況下的部分,特別是非打包版本(不推薦,因為通常與發行版打包的版本保證穩定,而其他版本不保證)。

這樣做的好處:

  • 避免巨大的設置+配置過程使其工作
  • 您的發行版中的版本應該“保證”穩定並使用隨附的所有其他程序進行測試。 並不總是最新版本更好。
  • 每次更新新版本時(或者更重要的是,有安全更新),您可以通過運行單個升級命令半自動升級它,而無需擔心更新期間出現問題。
  • 這樣整個安裝只需要幾個命令。

例如,在debian上:

apt-get install apache2

關於fedora:

yum install httpd

等等

然后,如果包管理器尚未啟動該服務,則可以啟動它

/etc/init.d/apache2 start

要么

/etc/init.d/httpd start

任務完成。 現在只需將內容放入/var/www/ (或等效目錄,取決於發行版)並通過您的Web服務器查看。

你必須以root身份啟動apache

您是否閱讀過源代碼分發中的文檔?

即安裝

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM