web-dev-qa-db-ja.com

Apache 2.4.xの手動ビルドおよびRHEL 6.4でのインストール

OS:Red Hat Enterprise Linux Serverリリース6.4(サンティアゴ)

このOSでのApacheの現在のyumインストールは2.2.15です。最新の2.4.xブランチが必要なので、手動でインストールすることにしました。 aprおよびapr-utilソースを事前にApacheソースに展開することを含め、私が引き受けた完全な手順に注意しましたが、手順の最も重要な部分は次のとおりです。

GATHER LATEST Apache AND APR
$ cd ~
$ mkdir Apache-src
$ cd Apache-src
$ wget http://Apache.insync.za.net//httpd/httpd-2.4.6.tar.gz
$ tar xvf httpd-2.4.6.tar.gz
$ cd httpd-2.4.6
$ cd srclib
$ wget http://Apache.insync.za.net//apr/apr-1.5.0.tar.gz
$ tar -xvzf apr-1.5.0.tar.gz
$ mv apr-1.5.0 apr
$ rm -f apr-1.5.0.tar.gz
$ wget http://Apache.insync.za.net//apr/apr-util-1.5.3.tar.gz
$ tar -xvzf apr-util-1.5.3.tar.gz 
$ mv apr-util-1.5.3 apr-util

INSTALL DEVEL PACKAGES
yum update --skip-broken (There is a dependency issue with the latest Chrome needing the latest libstdc++, which is not available for RHEL and CentOS)
yum install apr-devel
yum install apr-util-devel
yum install pcre-devel

INSTALL
$ cd ~/Apache-src/httpd-2.4.6
$ ./configure --prefix=/etc/httpd --enable-mods-shared="all" --enable-rewrite --with-included-apr
$ make
$ make install

注:上記の実行時、/etc/httpは空です。

これは、httpdサービスを開始しようとするまでうまくいったようです。 httpd.confに含まれるすべてのモジュールは、mod_rewriteに対して次のようなメッセージで失敗するようです。

httpd: Syntax error on line 148 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_rewrite.so into server: /etc/httpd/modules/mod_rewrite.so: undefined symbol: ap_global_mutex_create

httpd.confの有効なモジュールのリストを確認し、それらを1つずつコメントアウトしました。上記のようにすべてエラーが発生しますが、「未定義のシンボル:値」は異なる場合があります(常にap_global_mutex_createとは限りません)。

ステップがありませんか? Googleでそのエラーの一部を見つけましたが、ほとんどのソリューションは.soファイルが到達不能であることを中心にしています。これは問題ではないようで、モジュールは/etc/http/modulesにあります。

注:上記の実行時、/etc/httpは空です。

17
Aaryn

正しい手順はありますが、不完全です。

インストール後、httpd.confでSSLを有効にする必要があります。 server.crtおよびserver.keyファイルを生成します。完全な手順の下:

1。 Apacheをダウンロード

cd /usr/src
wget http://www.Apache.org/dist/httpd/httpd-2.4.23.tar.gz
tar xvf httpd-2.4.23.tar.gz

2。 APRとAPR-Utilをダウンロードする

cd /usr/src
wget -c http://mirror.cogentco.com/pub/Apache/apr/apr-1.5.2.tar.gz
wget -c http://mirror.cogentco.com/pub/Apache/apr/apr-util-1.5.4.tar.gz
tar xvf apr-1.5.2.tar.gz
tar xvf apr-util-1.5.4.tar.gz

次に、ダウンロードしたAPRおよびAPR-UtilをApacheソースファイルに配置します。

mv apr-1.5.2 /usr/src/httpd-2.4.23/srclib/apr
mv apr-util-1.5.4 /usr/src/httpd-2.4.23/srclib/apr-util

3。コンパイル

cd /usr/src/httpd-2.4.23
./configure --enable-so --enable-ssl --with-mpm=prefork --with-included-apr --with-included-apr-util
make
make install

./configureコマンドでわかるように、aprおよびapr-utilsを含めるコマンドラインオプションを指定します。

4。 httpd.confでSSLを有効にします

Apache構成ファイルhttpd.conf/ usr/local/Apache2/confの下にあります。

nano /usr/local/Apache2/conf/httpd.conf

httpd-ssl.conf Include行とLoadModule ssl_module行の/ usr/local/Apache2/conf/httpd.confファイルのコメントを外します。

# LoadModule ssl_module modules/mod_ssl.so
# Include conf/extra/httpd-ssl.conf

httpd-ssl.confを表示して、すべてのデフォルトSSL構成を確認します。
ほとんどの場合、このファイルの内容を変更する必要はありません。

nano /usr/local/Apache2/conf/extra/httpd-ssl.conf

Apacheを起動する前に、SSL証明書とキーが必要です。
server.crtおよびserver.keyで言及されているhttpd-ssl.confファイルは、移動する前に作成する必要があります進む。

cd /usr/local/Apache2/conf/extra
egrep 'server.crt|server.key' httpd-ssl.conf

SSLCertificateFile "/usr/local/Apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/Apache2/conf/server.key"

5。 server.crtおよびserver.keyファイルを生成します

まず、opensslを使用してserver.keyを生成します。

cd /usr/src
openssl genrsa -des3 -out server.key 1024

上記のコマンドはパスワードを要求します。このパスワードを忘れないようにしてください。これは、後でApacheを起動するときに必要です。

次に、上記のserver.keyファイルを使用して、証明書要求ファイル(server.csr)を生成します。

openssl req -new -key server.key -out server.csr

最後に、上記のserver.keyおよびserver.csrファイルを使用して、自己署名SSL証明書(server.crt)を生成します。

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

server.keyおよびserver.crtファイルを適切なApache構成ディレクトリの場所にコピーします。

cp server.key /usr/local/Apache2/conf/
cp server.crt /usr/local/Apache2/conf/

6。 Apacheを起動します

/usr/local/Apache2/bin/apachectl start

以下のエラーメッセージが表示される場合:

AH00526: Syntax error on line 51 of /usr/local/Apache2/conf/extra/httpd-ssl.conf:
Invalid command 'SSLCipherSuite', perhaps misspelled or defined by a module not included in the server configuration

以下に示すhttpd.confの行のコメントを外してください。

vi /usr/local/Apache2/conf/httpd.conf

# LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

最後に、Apacheを起動する前に秘密鍵のパスワードを入力するよう求められます。 Apache httpdプロセスがバックグラウンドで実行されていることを確認します。

ps -ef | grep http

次のようなものが表示されるはずです。

root    29529 1     0 13:08 ? 00:00:00 /usr/local/Apache2/bin/httpd -k start
antoine 29530 29529 0 13:08 ? 00:00:00 /usr/local/Apache2/bin/httpd -k start
antoine 29531 29529 0 13:08 ? 00:00:00 /usr/local/Apache2/bin/httpd -k start
antoine 29532 29529 0 13:08 ? 00:00:00 /usr/local/Apache2/bin/httpd -k start
root    29616 18260 0 13:09 pts/0 00:00:00 grep http

デフォルトでは、Apache SSLは443ポートで実行されます。 Webブラウザを開き、https:// {your-ip-address}を使用してApacheにアクセスできることを確認します

私はこの助けを望みます、さもなければ私はあなたが見に行くことを勧めます: http://jasonpowell42.wordpress.com/2013/04/05/install-Apache-2-4-4-on-centos-6-4 /

27
Antoine Subit
baprutil-1.la /usr/src/httpd-2.4.27/srclib/apr/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/src/httpd-2.4.27/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/src/httpd-2.4.27/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/httpd-2.4.27/support'
make: *** [all-recursive] Error 1

--with-included-apr-util./configureで指定されていない場合、このエラーはmakeステップで受信されます

5
Capricorn