カテゴリー : Apache

[Apache][エラー] httpd: apr_sockaddr_info_get() failed for

Apache をインストールして、起動や configtest すると下記のようなエラーが発生しました。

httpd: apr_sockaddr_info_get() failed for server_name
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

■ 解決方法

● /etc/hosts に正しくホスト名を設定する

(例) ホスト名が www.codenote.net のとき

127.0.0.1               www.codenote.net localhost.localdomain

● /etc/sysconfig/network の設定変更

HOSTNAME=www.codenote.net

● service network restart を実行する

/etc/sysconfig/network の設定変更後、network 再起動をやり忘れていた場合。
 

● /etc/httpd/conf/httpd.conf の ServerName の設定変更

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
ServerName www.codenote.net:80

以上です。
 

【参考】

Apache で apr_sockaddr_info_get() failed for が発生する – foldrrの日記 はてなブックマーク - Apache で apr_sockaddr_info_get() failed for が発生する - foldrrの日記

Apache の httpd: apr_sockaddr_info_get() failed for エラー はてなブックマーク - Apache の httpd: apr_sockaddr_info_get() failed for エラー

[Apache][エラー] configure: error: no acceptable C compiler found in $PATH

Apache をソースコードからのインストールしようとして、コンパイルしたらエラーが発生しました。

checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/local/src/httpd-2.2.22/srclib/apr':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
configure failed for srclib/apr

gcc がないため、エラーとなっていたみたいです。

gcc と gcc-c++ をインストールして解決しました。

# yum -y install gcc gcc-c++

以上です。
 

[Windows] Apache をアンインストール(uninstall)する方法

Windows7 にインストールしている Apache をアンインストールする手順をご紹介します。

Windows7 から Apache をアンインストールする手順

1. Windowsのデスクトップ画面の下側に表示されるタスクバーにあるApacheのアイコンを右クリックして、表示されるメニューから「Exit」を選択する

2. Windowsのスタートメニューから、「コントロールパネル」>「プログラムの追加と削除」の順に選択する Windows 7の場合は、スタートメニューから「コントロールパネル」>「プログラムの機能」の順に選択します。

3.「Apache HTTP Server 2.2.x」を選択し、削除 をクリックする

Windows 7の場合は、「Apache HTTP Server 2.2.x」を選択し、[アンインストール] をクリックする

4. 「はい」をクリックする

以上です。


参考情報

Apacheをアンインストールする|サイボウズ Office 9 マニュアル

[Apache] SSL環境を構築する方法

Apache + SSL 環境を構築したので手順をメモ。

ほぼ下記の記事を読めばOKです。

[Think IT] 第7回:Apache+SSL環境を構築しよう! (1/3)

以下、手順です。
 

ApacheのSSL設定

まず、SSL用の設定ファイル httpd-ssl.conf を読み込むようにコメントアウトを外します。

# vi /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-ssl.conf

次に、httpd-ssl.conf を編集します。

# vi /usr/local/apache2/conf/extra/httpd-ssl.conf

VirtualHost にグローバルIP、DocumentRoot、ServerName、ServerAdmin を適宜、変更します。

また、SSLCertificateFile と SSLCertificateKeyFile の箇所をそれぞれ証明書のパス、秘密鍵のパスに変更します。

<VirtualHost xxx.xxx.xxx.xxx:443>
DocumentRoot "/usr/local/apache2/htdocs"
ServerName example.com:443
ServerAdmin you@example.com
 
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"

最後に、変更が完了したら、Apacheを再起動します。

# service httpd configtest
# service httpd restart

以上です。

[Symfony] Apache標準の404 Not Found が表示されるので mod_rewrite を有効にする

Symfony 1.4 にて、prod環境にするとApache標準の404 Not Found が表示されるという症状に陥りました。

Apache の mod_rewrite を有効にすることで解決したので、その手順をメモ。

他にもdev環境からprod環境へ切り替えると動作しない時の対処方法があるみたいなので、困ったら下記の記事を読みましょう。

dev環境からprod環境に変えると動かなくなる時の対処方法 « symfonyで開発日記 はてなブックマーク - dev環境からprod環境に変えると動かなくなる時の対処方法 « symfonyで開発日記

今回の症状は、

http://example.com/index.php/login
http://example.com/frontend_dev.php/login

とかだとアクセスできるけど、

http://example.com/login

だとアクセスできない状態でした。
 

Apache の mod_rewrite が有効か確認する

まず、mod_rewrite が有効になっているか確認するには、apachectl に -l オプションを付けて、コンパイル済みのモジュールリストを確認します。

# /usr/local/apache2/bin/apachectl -l
Compiled in modules:
 
  mod_rewrite.c

mod_rewrite.c があればOK.

なければ、config.nice に –enable-rewrite オプションを付けて再コンパイルして、インストールし直します。
 

mod_rewrite を有効にして再インストールする

# /usr/local/src/httpd-2.2.21/config.nice --enable-rewrite
# make
# make install

ちなみに、make install を実行しても今あるドキュメント、 ログファイル、設定ファイルは上書きされないみたいです。

・参考:コンパイルとインストール – Apache HTTP サーバ はてなブックマーク - コンパイルとインストール - Apache HTTP サーバ

インストール後に、もう一度 apachectl -l で mod_rewrite.c があるか確認します。

以上です。