httpdソースのインストール

#のコンパイルとインストールするHTTPD詳細な手順
は、Apache Software Foundation、組織、公式ウェブサイトのアドレスののhttpd一部:https://www.apache.orgを

インストールHTTPD PCRE、expatの、4月、GCCをインストールし、その依存関係を解決する必要が 4月-utilの。
GCCは、PCRE、expatのはyumを使ってインストールすることができます:
yumのGCCをインストール-y * PCRE-develのexpatの-develの

ARPとARP-utilのは、共有ライブラリ、httpdのある、あなたができる別の基礎となるオペレーティング・システムを考慮せずに彼の機能移植しやすいです。

ARPは、コンパイラのインストール・使用
:リンクhttp://apr.apache.org/download.cgi/arp-1.7.0.tar.gz
は/ usr / local / src /ディレクトリにダウンロードし、我々がARPうとARP-utilの、使用をインストール中にソース・パッケージのインストール。
XF ARP-1.7.0.tar.gzタール
4月-1.7.0でCD
は./configure --prefix =は/ usr / local / 4月#(注)の場合:あなたは、他のパラメータ./configuer -helpビュー、説明なしに使用することができます。
メイクメイクは&&インストール

4月-utilのソースコードが途中でインストールされている
リンク:http://apr.apache.org/download.cgi/arp-util-1.6.1.tar.gz
オン4月-XF-utilの1.6.1.tar.gzタール
でCD 4月-1.6.1-utilの
は./configure --prefix =は/ usr / local / 4月上のutil ---とオン4月=は/ usr / local / 4月の#オン- -with-月月文が依存月APR-utilのツールキットとして、場所です。
作る&& make installを
、私たちは依存関係を解決するように、とのhttpdを準備し始めた

:公式サイトのダウンロードhttp://httpd.apache.org/download.cgi#apache24
/ / usr / local / srcに同じソースパッケージディレクトリ
XFはhttpd- 2.4.39.tar.gzタール
CDのhttpd-2.4.39
は./configure --prefix =は/ usr / local / = --sysconfdir httpdのは/ etc / httpdの--enable-SO-mod_sslを--enable --enable-CGI --enable-cgid --enable- rewirte --enbale-モジュール=最も--enable-改造共有=最も--enable-のMPM共有=全て--with-4月=は/ usr / local / 4月--with-APR-utilの=は/ usr /ローカル/ APR-utilの#1 注:./他のパラメータを設定する追加する彼らの必要性に応じて、表示することができます。
メイクは、メイクを&&インストール

以下は、説明のhttpdソースコンパイラパラメータです:
--prefix =は/ usr / local / httpdの # httpdのインストールパスを設定
--sysconfdir =の/ etc / httpdの#httpdメイン設定ファイルパス
--enable-SO#動的共有モジュールをサポート
--enbale-mod_sslの#のSSL機能を有効にし、しませんあなたが有効に機能httpsを使用することはできません
--enable-cgiの#は、CGIプロトコルをサポート
しますが、この追加する必要があるあなたがvorkerとイベントモードを使用している場合は--enable-cgid#を
機能書き換え--enable-rewirteの#サポートURLを
--enable-モジュールを=ほとんどの#は、モジュールの機能を有効にする、(ほとんどの)ほとんど、すべての(すべての)、数(数)
--enable-MODS =最も#共有が有効になって共有モジュール
--enable-のMPM-共有=すべて#mpm ( 以上処理モジュール)は、全ての3つのモードを追加モジュール(preforkの、vorker、イベント)を示す説明する
--with-月=は/ usr / local /#文月月取り付け位置
--with-APR-utilの=は/ usr /をAPR-utilの#ステートメントAPR-utilの設置位置/ローカル

インストール後では/ usr / local / httpdの/ディレクトリは、ディレクトリについて生成されます
バイナリファイル:ビン
CGIプログラムの実行時の位置:CGI-binの
エラー:いくつかのエラーを格納します情報
のhtdocs:場所ページの文書の
アイコン:一部のアイコンが
含まれます:ヘッダ
ログ:ファイルのログ
の男を:ヘルプファイル
マニュアル:インストールマニュアルの
モジュール:モジュールディレクトリ

httpdのデフォルトのSELinux開始、HTTPDを起動しますので、我々はそれをオフにしないで
見て:getenforse
一時的に変更します。setenforseを0
恒久的変更は/ etc / SELinuxを/編集します設定ファイルの
無効SELINUX =
無効缶に

我々は、/ binに/ httpdサービスを開始するために開始するのapachectl使用することができます
netstatコマンドは、ポートがリッスンされているかどうか-nlpt
ファイル/etc/profile.d/httpd.sh編集し、PATH変数に
エクスポートPATH = $ PATHに:は/ usr /ローカル/ httpdの/ binに
次のようにデフォルトのhttpdサービスは、サービスをサポートしていない、あなたがあなた自身のスクリプトを記述する必要があり、編集/etc/init.d/httpdは、スクリプトを読み込む
#/ binに/ bashのを!

Apache HTTPサーバ用#httpd起動スクリプト
#chkconfigという: - 85 15

#description:Apacheのは、World Wide Webサーバーです。\提供するために使用されている
#HTMLファイルやCGIを。
#processname:HTTPD
#config:ある/etc/httpd/conf/httpd.conf
#config:の/ etc /のsysconfig / httpdの
#pidfile:/var/run/httpd.pid

#Source関数ライブラリ。
/etc/rc.d/init.d/functions

もし[-fの/ etc /のsysconfig / httpdの]。その後
の/ etc /のsysconfig / httpdの
Fiの
#Start httpdのデフォルトではCロケールインチ
HTTPD_LANG = $ {HTTPD_LANG- "C"}

場合#これは、パスフレーズのプロンプトを飲み込むからのinitLog防ぐことができます
#mod_sslは、ユーザーからのパスフレーズを必要とします。
INITLOG_ARGS = ""

#SET HTTPD =は/ usr / sbinに/ httpd.worker /等に/のsysconfig / httpdのサーバーを使用する
スレッドベースの"労働者" MPM #with。いくつかのモジュールがないかもしれないことを警告され
たスレッドベースのMPMで正しく#work。特にPHPは起動を拒否します。

メッセージのためのapachectlスクリプト、サーバーのバイナリ、および短い形式に#Path。
apachectl =は/ usr / local / apacheの/ binに/はapachectl
のhttpd = $ {HTTPD-は/ usr / local / apacheの/ binに/のhttpd}
PROG = httpdの
PIDファイル= $ {PIDFILE-の/ var /実行/ httpd.pid}
ロックファイル= $ {LOCKFILE-の/ var /ロック/ SUBSYS /のhttpd}
RETVAL = 0

開始(){
エコー-n $ "開始$ progの:"
LANG = $ HTTPD_LANGデーモン--pidfile = $ {pidファイル} $のhttpd $ OPTIONS
RETVAL = $?
エコー
[$ RETVAL = 0] &&タッチ$ {ロックファイル}
戻りの$ RETVAL
}

ストップ(){
"$のPROG停止"エコー-n $
killproc -p $ {pidファイル} -d 10 $のhttpd
RETVAL = $を?
エコー
[$ RETVAL = 0] && RM -f $ {ロックファイル} $ {pidファイル}
}
リロード(){
:エコー-n $ "リロードの$ PROG"
ならし!LANG = $ HTTPD_LANG $ httpdの$ OPTIONS -t>&を/ dev / null; その後、
RETVAL = $?
エコー$「設定の構文エラーによるリロードではない」
失敗$は「による設定構文エラーに$ HTTPDをリロードしない」

killproc -p $ {pidファイル} $のhttpd -HUP
RETVAL = $?
Fi回線
エコー
}

##我々が呼ばれたかを参照してください。
場合は「$ 1」
スタート)
スタート
;;
停止)
を停止
;;
状態)
状態-p $ {pidファイル} $のhttpd
RETVAL = $?
;;
再起動)
を停止
開始
;;
condrestart)
もし[-f $ {pidファイル}]。その後、
停止
開始
Fiを提供して
;;
リロード)
リロード
;;
優雅|ヘルプ|設定試験| fullstatus)
$のapachectl $ @
RETVAL = $?
;;
*)
":$ PROG {|停止|再起動| condrestart |リロード|状況| fullstatus |優雅|ヘルプ| configtestを開始}使用法" $エコー
1番出口
ESACを

終了の$ RETVAL
、その後のchmod + xの/etc/init.d/script_nameことができます

これは、httpdサービスを有効または無効にすることが容易になります。

おすすめ

転載: blog.51cto.com/14132521/2418682