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
は空です。
正しい手順はありますが、不完全です。
インストール後、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 /
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
ステップで受信されます