<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 編譯與安裝 本文僅闡述Apache在Unix和類Unix系統中的編譯和安裝,在Windows中的編譯和安裝可以參考[在Microsoft Windows中使用Apache](#calibre_link-269)。其他平臺可以參見[針對特定平臺的說明](#calibre_link-274)文檔。 像其它許多開源項目一樣,Apache使用`libtool`和`autoconf`建立編譯環境。 如果你只進行很小的版本升級(比如2.2.54→2.2.55),請直接跳轉到下面的[升級](#calibre_link-354)部分。 ## 針對心急者的概述 | [下載](#calibre_link-356) | `$ lynx http://httpd.apache.org/download.cgi` | |:--- |:--- | | [解壓](#calibre_link-357) | `$ gzip -d httpd-_NN_.tar.gz` `$ tar xvf httpd-_NN_.tar` `$ cd httpd-_NN_` | | [配置](#calibre_link-358) | `$ ./configure --prefix=_PREFIX_` | | [編譯](#calibre_link-359) | `$ make` | | [安裝](#calibre_link-360) | `$ make install` | | [配置](#calibre_link-361) | `$ vi _PREFIX_/conf/httpd.conf` | | [測試](#calibre_link-362) | `$ _PREFIX_/bin/apachectl -k start` | 其中_NN_必須用當前的副版本號替代;_PREFIX_是服務器被安裝到文件系統中的路徑名,如果沒有指定_PREFIX_,默認會裝到`/usr/local/apache2` 下面從編譯和安裝Apache httpd的要求開始詳細闡述編譯和安裝的每個步驟。 ## 要求 編譯Apache的要求如下: 磁盤空間 必須保證有50MB以上的自由臨時磁盤空間。Apache安裝完畢后會占據10MB左右的空間,實際的磁盤空間需求會因編譯設置和是否安裝第三方模塊而有所不同。 ANSI-C編譯器及編譯環境 必須裝有ANSI-C編譯器,推薦使用[自由軟件基金會(FSF)](http://www.gnu.org/)的[GCC](http://gcc.gnu.org/)。如果沒有GCC,那么要確保使用的編譯器符合ANSI標準,而且`PATH`中必須包含指向基本編譯工具比如`make`的路徑。 確保準確的時間 由于HTTP協議的元素都會用到時間,有必要了解一下你的系統所使用的時間同步機制。在基于網絡時間協議(NTP)的系統中,一般是用`ntpdate`或`xntpd`來同步時間。有關NTP軟件的資料請參見[NTP主頁](http://www.ntp.org)。 [Perl 5](http://www.perl.org/) [可選] 有些用Perl寫的支持腳本,如`apxs`或`dbmmanage` ,需要Perl5解釋器(5.003或以上的版本就足夠了)。如果系統中存在多個Perl解釋器,比如有系統提供的Perl 4,還有你自己安裝的Perl 5,推薦你使用 `--with-perl` 選項來確保`configure`腳本使用正確的版本。如果`configure`沒有沒找到Perl 5也沒關系,這并不影響Apache httpd的編譯和安裝,只是相關的支持腳本不能使用而已。 [apr/apr-util &gt;= 1.2](http://apr.apache.org) `apr`和`apr-util`包含在Apache httpd的發行源代碼中,并且在絕大多數情況下使用都不會出現問題。當然,如果`apr`或`apr-util`的1.0或1.1版本已經安裝在你的系統中了,則必須將你的`apr`/`apr-util`升級到1.2版本,或者將httpd單獨分開編譯。要使用發行源代碼中自帶的`apr`/`apr-util`源代碼進行安裝,你必須手動完成: ``` # 編譯和安裝 apr 1.2 cd srclib/apr ./configure --prefix=/usr/local/apr-httpd/ make make install # 編譯和安裝 apr-util 1.2 cd ../apr-util ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/ make make install # 配置 httpd cd ../../ ./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/ ``` ## 下載 Apache可以從[Apache HTTP服務器下載站點](http://httpd.apache.org/download.cgi)及其鏡像站點下載。大多數類UNIX系統的Apache用戶最好的選擇是下載源代碼并編譯一個適合自己的版本,這個過程(下面將要講述)是很簡單的,它允許你根據自己的需求進行定制。另一方面編譯好的二進制版本通常沒有進行及時的更新。如果你下載的是編譯好的二進制版本,請按照其中的`INSTALL.bindist`文件進行安裝。 下載完畢后,應該對下載來的tar包作[PGP簽名校驗](http://httpd.apache.org/dev/verification.html),以確保其完整而且未被篡改過。([PGP下載頁面](http://httpd.apache.org/download.cgi#verify)) ## 解壓 解壓Apache httpd的tar包很簡單: ``` $ gzip -d httpd-_NN_.tar.gz $ tar xvf httpd-_NN_.tar ``` 這樣就在當前目錄下新建了一個包含發行版源代碼的目錄,必須`cd`進入這個目錄以繼續服務器的編譯。 ## 配置源代碼樹 這一步是根據你的特定平臺和個人需求配置源代碼樹。位于發行源代碼根目錄的`configure`腳本會完成這個步驟(對下載Apache CVS版源代碼的開發者,需要裝有`autoconf`和`libtool` ,并需要執行`buildconf` ,對于官方的發行版則沒這個必要)。 要想用所有的默認值配置源代碼樹只要簡單的執行 `./configure` 命令就可以了,同時`configure`還可以接受命令行參數以改變默認值。 最重要的選項是Apache安裝目錄的前綴:`--prefix` ,因為Apache需要知道這個目錄才能正常運作。更多的微調選項請參考[配置選項詳解](#calibre_link-364)。 這樣,你就可以通過在配置選項中指定要啟用或禁用哪些[模塊](#calibre_link-1)來定制Apache的[特性](#calibre_link-365)。[Base](#calibre_link-12)組的模塊默認包含在Apache中。其他組的模塊可以通過 `--enable-module` 指令啟用。其中module是模塊名去掉"`mod_`"并將下劃線轉換成連字符后的字符串。你也可以使用 `--enable-module=shared` 指令將模塊編譯為可在運行時加載和卸載的[動態共享對象(DSO)](#calibre_link-259)。同樣的,你也可以使用 `--disable-module` 指令禁用[Base](#calibre_link-12)組的模塊。注意,使用這些指令的時候`configure`不會對你拼寫錯誤的模塊發出警告說找不到某某模塊,而只是簡單的忽略這個選項。 另外,有時候還必須提供給`configure`腳本關于編譯器、庫、頭文件位置的更多信息。這些可以通過環境變量或者命令行選項傳遞給`configure`腳本。要了解更多信息,請參考`配置源代碼樹`。 為了讓你對能指定什么有一個簡單的印象,此例演示編譯Apache ,并將其安裝在`/sw/pkg/apache`目錄,指定了一個特定的編譯器以及編譯參數,而且允許今后將兩個附加的模塊`mod_rewrite`和`mod_speling`通過DSO機制在運行時動態加載: ``` $ CC="pgcc" CFLAGS="-O2" \ ./configure --prefix=/sw/pkg/apache \ --enable-rewrite=shared \ --enable-speling=shared ``` `configure`需要運行幾分鐘,以測試指定的功能在你的系統中是否有效,并建立稍后編譯時所需的許多Makefile文件。 ## 編譯 運行以下命令你就可以編譯Apache的各個部分了: ``` $ make ``` 請耐心等候,因為對一個基本配置的編譯,需要運行幾分鐘左右,實際需要的時間會因為你的硬件和選擇的模塊數量有很大不同。 ## 安裝 現在可以在_PREFIX_目錄(參見上述的 `--prefix` 參數)下安裝了,執行: ``` $ make install ``` 如果是升級,安裝程序不會覆蓋你的配置文件和文檔。 ## 配置 接著,通過修改`_PREFIX_/conf/`目錄下的[配置文件](#calibre_link-255),來配置Apache HTTP服務器。 ``` $ vi _PREFIX_/conf/httpd.conf ``` [docs/manual/](#calibre_link-6)下有Apache使用手冊,[http://httpd.apache.org/docs/2.2/](http://httpd.apache.org/docs/2.2/)有最新的文檔,你還可以查看完整的[指令索引](#calibre_link-2)。 ## 測試 現在,可以執行下述命令立即[啟動](#calibre_link-250)你的Apache HTTP服務器: ``` $ _PREFIX_/bin/apachectl -k start ``` 你應該可以用`http://localhost/`來請求你的第一個網頁了,這個網頁位于`DocumentRoot`目錄下,通常是`_PREFIX_/htdocs/` 。隨后,可以這樣[停止](#calibre_link-31)服務器: ``` $ _PREFIX_/bin/apachectl -k stop ``` ## 升級 升級的第一步是閱讀源代碼目錄中的發布公告(release announcement)和`CHANGES`文件以尋找可能會對你的站點產生影響的變化。如果主板本號的變化(例如1.3→2.0或2.0→2.2)表明編譯時和運行時的配置發生了重大變化,需要手動調整,所有模塊也需要升級以兼容新版本的模塊API 。 小幅度的版本升級(例如:2.2.55→2.2.57)很容易。`make install` 的過程不會改寫任何已經存在的文檔、日志、配置文件。此外,開發者也會盡量兼容上一版本的`configure`選項、運行時配置、模塊API 。大多數情況下,你將能夠使用與上一版本完全相同的`configure`命令行和運行時配置,而你原來的所有模塊也將正常工作。 如果你保存了上一次安裝后`build`子目錄中的`config.nice`文件,升級將更加平滑。這個文件精確地保存了所有對目錄樹進行配置的`configure`命令行。你只需要將`config.nice`文件復制到新的源代碼目錄樹的根文件夾并進行你希望的修改后,然后運行下面的命令即可完成升級: ``` $ ./config.nice $ make $ make install $ _PREFIX_/bin/apachectl -k graceful-stop $ _PREFIX_/bin/apachectl -k start ``` 你應該總是在將新版本的Apache投入正式運行前,對這個新版本進行足夠的、針對你的實際運行環境的測試。比如,你可以使用一個不同的 `--prefix` 設置將新版本安裝在一個不同的目錄,并使用`Listen`指令在一個不同的端口監聽。經過一段時間的測試以發現可能存在的問題,然后再做出最后的決定。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看