こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

httpdのSSLRequireSSLエラー

ネットで調べて、CentOS5.8上で、
最新のhttpd(Apache HTTP Server)2.2.23を、
RPMパッケージ化して、それを利用してインストールし、
最後に、Apacheの設定ファイル/etc/httpd/conf/httpd.confとして、
httpd.conf.rpmsaveをリネームして、
httpd.confとした上で、
 ↓
service httpd configtest
を実行したところ、
以前は、正常結果としてSyntax OKが表示されていたのですが、
今回は、以下のエラーが発生しています。
 ↓
Syntax error on line9 of /etc/httpd/conf.d/webdav.conf:
Invalid command 'SSLRequireSSL', perhaps misspelled or defined by a module not
included in the server configuration

そこでご質問ですが、
このようなエラーの原因(もしくは解消方法)について、
もしケース(パターン)として、
何か考えられることがございましたら
アドバイスでも構いませんので
教えてください。

以上になります。よろしくお願いします。

投稿日時 - 2012-10-02 19:25:50

QNo.7728767

すぐに回答ほしいです

質問者が選んだベストアンサー

yum install mod_ssl
は、確認しているのではなく、
mod_sslをインストールしちゃってるって指摘は別のとこからあった通りですが

インストールはされたけど、有効にしているかは別の問題。
httpd.confあるいはその中でIncludeしている他の設定ファイルで、
LoadModuleされていますか?
もし、ClearModuleListしているなら、AddModuleもされていますか?

投稿日時 - 2012-10-04 15:11:25

補足

お世話になっております。

/etc/httpd/confディレクトリ内の、httpd.confファイル内で、
LoadModuleしているかを見たところ、
 ↓
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
等は存在していましたが、
mod_sslの記述が見当たらなかった為、
試しに仮に、
LoadModule cgi_module modules/mod_cgi.so
として、試しに1行追加してから、
service httpd configtest
を実行したところ、
Syntax OK
が表示されました。
(でも以前は、上記1行追加したような内容が
 存在していなくてもSSLで利用出来ておりましたので、
 他にエラー原因があるような気が、
 まだしているのですが、
 上記1行追加という対処方法で、
 よろしかったでしょうか?
 もし間違った対処方法でしたら、ぜひご指摘願います)

PS:
上記で仮にエラー解消したので、
試しに、各サービス(mysqld、httpd、tomcat)をSTARTし、
動作確認をいろいろ試してみた結果、
Tomcat7のTomcat Managerは正常に動作していて、
無事にログイン出来ていますが、
別の問題として、
既存の古いバージョンであるphpMyAdmin3.4.10.1
(なお補足と致しまして、既存の古いバージョンである
  PHP 5.3.10 (cli) 、
  mysql Ver 14.14 Distrib 5.5.21, for Linux (i686) using readline 5.1
 はインストール済で、これまで正常に利用してきておりました)
のログイン画面にアクセスしようとすると、
接続出来ないという、また別のエラーが出るようになっていました。
(今回のhttpdをインストールするまでは、
 正常にログイン画面が表示されていて、ログイン出来ていました)
よくわかりませんが、
SSLの設定が出来ていないのでしょうか?
(今回、既存の古いシステムを、
 私が初めてLinuxで各バージョンアップしながら、
 環境構築中なんですけれども、
 いろいろと問題が出てくるものなんですね・・・)

以上になります。
もしよろしかったらアドバイス等いただけましたら幸いです。
よろしくお願いします。

投稿日時 - 2012-10-04 18:01:06

お礼

すみません。
補足を追加しましたが、
以下内容を間違っておりました。

LoadModule cgi_module modules/mod_cgi.so

正しくは、
LoadModule ssl_module modules/mod_ssl.so
でした。
お詫びして訂正いたします。

PS:
補足の削除や修正方法がわかりませんでしたので、
このお礼入力を利用して、
補足の訂正をさせていただきました。
よろしくお願いします。

投稿日時 - 2012-10-04 18:12:17

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

どういうふうにhttpdのrpmを作ったのでしょうか。
付属されているspecファイルを利用して?
specファイルは自作?
specファイルをどこかからパクって利用した?
いろいろあると思いますが。

あと、rpmを作った時、mod_sslも出来なかったですか?
出来ていれば、それをインストールするだけで済んだと思いますが。
下に書いてあるのを見る限り、mod_sslが入ってないように見えます。
というか、確認のためにyum installはないんじゃない?
普通はrpm -q mod_sslとかでインストールされているかどうか確認するんじゃないですか?

そもそも、情報が小出し過ぎて、よくわかりません。
事細かに、どんな状況なのか、示してください。

投稿日時 - 2012-10-03 22:40:21

補足

お世話になります。

私はLinux(CentOS5.8)で、
今回初めてネットで随時調べながら
開発環境を構築中の初心者です。

いろいろと、とんちんかんな
ご質問の仕方をしてしまっているようで
すみません。

以下より1つずつ、ご回答させていただきますが、
補足と致しまして、
現状、以下2つは、すでにインストール済です。
 ・Java JDK 1.7.0_07(SE 7 Update7)を、
   rpm -Uvh jdk-7u7-linux-i586.rpm等でインストール済。

 ・Apache Tomcat 7.0.30.0を、
   [root@www binary]# tar zxvf apache-tomcat-7.0.30.tar.gz
   [root@www binary]# mv apache-tomcat-7.0.30/ /usr/local/tomcat
   等して、各環境ファイルをネットで調べた通りに設定してインストール済。

(1)
>>どういうふうにhttpdのrpmを作ったのでしょうか。
付属されているspecファイルを利用して?
specファイルは自作?
specファイルをどこかからパクって利用した?
いろいろあると思いますが。
●最新httpdバージョンをダウンロードする為、
 wget http://www.meisei-u.ac.jp/mirror/apache/dist/httpd/httpd-2.2.23.tar.gz
 を実施して、
  ↓
 tar zxf httpd-2.2.23.tar.gz
 で展開して、出来たディレクトリ内のhttpd.specファイルを/usr/src/redhat/SPECS/配下に
 コピーして、
  ↓
 # sed -i -e 's/1.4.2/1.2.7/g' - 
 e 's/1.3.10/1.2.7/g' /usr/src/redhat/SPECS/httpd.spec
 で編集しました。

 ※(ご質問に対しての、ご回答は上記までとなりますが、
   続けて補足と致しまして、
   どのように現在に至ったかを以下に継続して記述致しておきます)
  ↓
 # cp httpd-2.2.23.tar.gz /usr/src/redhat/SOURCES/
 でコピーして、
  ↓
 rpmbuild -bb /usr/src/redhat/SPECS/httpd.spec
 でrpmパッケージ作成して、
  ↓
 # rpm -Uvh httpd-2.2.23-1.i386.rpm
 でアップグレードして、
  ↓
 # rpm -Uvh httpd-devel-2.2.23-1.i386.rpm
 # rpm -Uvh httpd-manual-2.2.23-1.i386.rpm
 も、それぞれアップグレードして、
  ↓
 /etc/init.d/httpdファイル内の文字列である、
 ”/var/log/httpd”を、”/var/run”に、
 KEDITエディタを利用して変更して保存して、
  ↓
 # cp /etc/httpd/conf/httpd.conf.rpmsave /etc/httpd/conf/httpd.conf
 で、
 /etc/httpd/conf/配下にバックアップとして作成されていた
 httpd.conf.rpmsaveを、httpd.confとして移動しました。
  ↓
 その後に、
 # service httpd configtest
 を実行したところ、
 今回ご質問させていただいております内容の
 エラーが発生しております。


(2)
>>あと、rpmを作った時、mod_sslも出来なかったですか?
出来ていれば、それをインストールするだけで済んだと思いますが。
下に書いてあるのを見る限り、mod_sslが入ってないように見えます。
というか、確認のためにyum installはないんじゃない?
普通はrpm -q mod_sslとかでインストールされているかどうか確認するんじゃないですか?
●ご指摘いただきまして、ありがとうございます。
 教えていただきましたように、rpm -q mod_sslをさっそく実施した結果、
 mod_ssl-2.2.23-1
 と表示されております。


(3)
>>そもそも、情報が小出し過ぎて、よくわかりません。
事細かに、どんな状況なのか、示してください。
●私の経験不足で、どのような情報をお出しすればよいのか?
 わかっていない状況ですので、
 お手数ですが、
 「これこれの情報を出して!」
 など教えをいただけましたら幸いです。

以上になります。どうぞよろしくお願いします。

投稿日時 - 2012-10-04 10:31:44

お礼

いろいろと教えていただきまして、
ありがとうございました。

投稿日時 - 2012-10-05 10:54:33

「SSLRequireSSL」は指定したディレクトリ以下のアクセスをhttpsに限定しますから、mod_sslが入ってない(または有効になっていない)とかではないですか?
もしそうなら、mod_sslパッケージを入れるか、webdav.confの9行目をコメントアウトですかね。

そもそもなぜソースからパッケージ化したのかわかりませんが、現在ミラーサイトにあがっているRPMのバーションは2.2.3です。そのまま純正RPMを使えば良いのでは?

投稿日時 - 2012-10-03 10:17:32

補足

お世話になります。

>>そもそもなぜソースからパッケージ化したのかわかりませんが、現在ミラーサイトにあがっているRPMのバーションは2.2.3です。そのまま純正RPMを使えば良いのでは?
●上記へのご回答になりますけれども、
 httpdの古いバージョン2.2.3ではなくて、
 httpdの最新バージョン2.2.23を利用する必要がございまして、
 しかも、今後の運用も検討した結果、
 make installで直接ソースからはインストールしたくなかった為、
 (後でアンインストールする際に、相当手間がかかるとネットで調べた際に、
  多く記述があった為・・・)
 やむを得ず、RPMパッケージを作って、現在インストールの途中で、
 今回のエラーが出ていました。

 なお、セキュリティ上、
 webdav.confの9行目「SSLRequireSSL」は、削除出来ない環境の為、
 その行を残した上で、このエラーを解消したいです。

 以上になります。よろしくお願いします。

投稿日時 - 2012-10-03 16:19:34

お礼

ご回答をいただきまして、
ありがとうございました。

投稿日時 - 2012-10-05 10:53:50

ANo.2

mod_sslは有効になってる?

投稿日時 - 2012-10-03 10:16:46

補足

お世話になります。

教えていただきましたように、
試しに、以下をシェル上から実行して、
その結果も含めて、以下添付しました。
この結果としましては、mod_sslは無効になっているのでしょうか?
以上、よろしくお願いします。

[root@www ~]# yum install mod_ssl
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* centosplus: ftp.nara.wide.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.nara.wide.ad.jp
base | 1.1 kB 00:00
centosplus | 1.9 kB 00:00
extras | 1.9 kB 00:00
updates | 1.9 kB 00:00
updates/primary_db | 768 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mod_ssl.i386 1:2.2.3-65.el5.centos set to be updated
--> Processing Dependency: httpd = 2.2.3-65.el5.centos for package: mod_ssl
--> Finished Dependency Resolution
1:mod_ssl-2.2.3-65.el5.centos.i386 from updates has depsolving problems
--> Missing Dependency: httpd = 2.2.3-65.el5.centos is needed by package 1:mod_ssl-2.2.3-65.el5.centos.i386 (updates)
Error: Missing Dependency: httpd = 2.2.3-65.el5.centos is needed by package 1:mod_ssl-2.2.3-65.el5.centos.i386 (updates)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
[root@www ~]#

投稿日時 - 2012-10-03 16:10:55

お礼

ご回答をいただきまして、
ありがとうございました。

投稿日時 - 2012-10-05 10:53:16

ANo.1

webdav.confの9行目が何のか分かりませんが
httpd.confでdavモジュールは有効になっていますか?

投稿日時 - 2012-10-02 21:43:54

補足

お世話になります。

>>webdav.confの9行目が何のか分かりませんが
●これは、
DAV Onの次行の、
SSLRequireSSLでした。

>>httpd.confでdavモジュールは有効になっていますか?
●LoadModuleで、「mod_dav」と「mod_dav_fs」という2つのモジュールが
有効になっている(コメントには、なっていない)ところまでは確認しました。

以上になります。
よろしくお願いします。

投稿日時 - 2012-10-03 00:15:51

お礼

ご回答をいただきまして、
ありがとうございました。

投稿日時 - 2012-10-05 10:56:52