最近、レッドハットからFedoracore3にして、
サーバの構築を行なっていたところ、
Apache2の起動スクリプト(おやじ樣のHPのをそのまま使用)で
service httpd2 start
すると、下記のようなエラーが出てしまいました。
※環境:Fedoracore3
Apache2.0.54(ソースからインストール)
起動スクリプトというのはレッドハット系なら
共通だと思っていたのですが、カスタマイズしなくてはいけないのでしょうか?
(やはりスクリプトの勉強しなくては。。。)
現在は応急処置でrc.localにスタートを記述しています。(^ー^;
以上、よろしくお願いします。
【エラーメッセージ】
httpd を起動中: grep: /etc/httpd/conf/httpd.conf: そのようなファイルやディレクトリはありません
(98)Address already in use: make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
[失敗]
> 最近、レッドハットからFedoracore3にして、
> サーバの構築を行なっていたところ、
> Apache2の起動スクリプト(おやじ樣のHPのをそのまま使用)で
> service httpd2 start
> すると、下記のようなエラーが出てしまいました。
> ※環境:Fedoracore3
> Apache2.0.54(ソースからインストール)
> 起動スクリプトというのはレッドハット系なら
> 共通だと思っていたのですが、カスタマイズしなくてはいけないのでしょうか?
> (やはりスクリプトの勉強しなくては。。。)
> 現在は応急処置でrc.localにスタートを記述しています。(^ー^;
本質的に問題があります。まず、おやじのHPはRedHat9でApache2.0系をサポートしていなかったため、ソースから入れたときの物です。従って、各ファイルの位置は、Apacheのデフォルトになっていますので、それを意識した起動スクリプトを載せています。
FedoraCore3はFedoraCore3独自のインストールパスになっているほか、その他のデストリ固有の修正が入っているでしょうから、RPMで入れたらそれをそのまま使わなければ問題が出ます。同じデストリでもバージョンが違えば(fedoraCore2と3等。実際、Fedoraは知りませんが、SuSEなんてかなり違います。)違うと思ったほうが良く、素直にRPMの起動スクリプトを使うべきです。
なお、confファイルも要注意です。時々変更されています。
RPMのスクリプトが/etc/rc.d/init.d/httpd としてインストールされてるはずなので、それを使ってください。
>
> 【エラーメッセージ】
> httpd を起動中: grep: /etc/httpd/conf/httpd.conf: そのようなファイルやディレクトリはありません
> (98)Address already in use: make_sock: could not bind to address [::]:80
> no listening sockets available, shutting down
> Unable to open logs
> [失敗]
二重起動になっている様子です。rc.localとinit.dと両方動いている? あるいはスカイラインさんが設定したスクリプトとRPMのスクリプト?
気になるのは、 「/etc/httpd/conf/httpd.conf」が無いといっているメッセージ。Fedora系ならここにhttpd.confがあるはずなのに何故? 移動したりしたのですか?
お返事ありがとうございます。
おやじ様の助言に従い、rpmファイルからインストールし、
その時のapache2起動スクリプト(httpd)を参考にして
オリジナルの起動スクリプトが完成しました。
が・・・
以前ソースコードからインストールしたフォルダを
消してしまったのです!
(/usr/local/apache2フォルダ以下全て)
改めてrpmファイルを削除して、ソースコードからインストールし、
起動スクリプトを実行してみると、
"モジュールがありません"というエラーが出てしまいました。
そこで/modulesを除いてみると、httpd.expという1ファイルしか
ありません。(*.soファイルは一体どこへ?)
ネットで検索したり、configureのオプションを見ても、
モジュールファイルの復活方法は分かりませんでした。
やはり再インストールしかないのでしょうか?
モジュールを再度インストールする方法をご存知の方は
教えて頂けないでしょうか。
よろしくお願い致します。
P.S.
おやじ様
掲示板の管理ご苦労様です。
私もFedoraCore3勉強中なのですが
最近ディストリの新規版のサイクルが早くてついていくのは大変です。
必要がありましてRedHat7.3もまだ現役です。
このころでありましたら、色んな事柄の構築にソースからコンパイルしてmake
make install
もう忘れかけてますが、で使用したいソフトをインストールしました。
理由はRPMでインストールした場合に自分の思いどおりに動かないからの理由でありました。
RedHat7.3も残しているのはサーバーの問題でなくただMP3ファイル作るのに音質がいいからだけです。
FedoraCore3でもできるんだろうけど、、、
Apache2.0でしたらRPMファイル使った方が問題ないのでは?
コンパイル勉強するのと、サーバー用途とは切り放したほうがいいのでは?
> おやじ様の助言に従い、rpmファイルからインストールし、 > その時のapache2起動スクリプト(httpd)を参考にして > オリジナルの起動スクリプトが完成しました。 おやじの書き方が悪かったようですが、おやじはkazuさんと同じ意味で素直に RPMを入れそのまま使った方がよいといったつもりです。 特段、ソースから入れなければならない理由があるのでしょうか? 前にも 書きましたが、RH9は2.0系をサポートしていなかったのでソースから入れたので あって、おやじは、以降のデストリではソースから入れたことはありません。 特に、FedoreCore3ではprelinkやSuEXEC、Selinux対応等がされているので絶対に RPMでいくべきと思います。 > が・・・ > 以前ソースコードからインストールしたフォルダを > 消してしまったのです! > (/usr/local/apache2フォルダ以下全て) > > 改めてrpmファイルを削除して、ソースコードからインストールし、 > 起動スクリプトを実行してみると、 > "モジュールがありません"というエラーが出てしまいました。 > > そこで/modulesを除いてみると、httpd.expという1ファイルしか > ありません。(*.soファイルは一体どこへ?) > > ネットで検索したり、configureのオプションを見ても、 > モジュールファイルの復活方法は分かりませんでした。 configureのオプションが足りないだけです。適当に見繕ったのが下記です。 一般的なModuleのほか、オプションで ssl+deflate+proxy+SuEXEC を入れる 例です。SuEXECはいろいろ面倒なので使用しないなら、--enable-suexec --with-suexec \ の行以下は不要で、一つ上の行の最後の\は無い状態で実行 すればほとんどのmoduleは入ります。 既にhttpd.confがあると上書きしないため、ここで追加したLoadModules行が ないconfになるので、自分で追記できないならバックアップ用にrenameして からmake installするといいでしょう。 新規でよければ/usr/local/apache2以下を消してからのほうがいいです。 ./configure --enable-mods-shared=all \ --enable-ssl --with-ssl \ --enable-deflate \ --enable-proxy --enable-proxy-connect \ --enable-proxy-http --enable-proxy-ftp \ --enable-suexec --with-suexec \ --with-suexec-caller=apache \ --with-suexec-userdir=public_html \ --with-suexec-docroot=/home \ --with-suexec-logfile=/usr/local/apache2/logs/suexec_log \ --with-suexec-uidmin=500 \ --with-suexec-gidmin=100 > やはり再インストールしかないのでしょうか? > モジュールを再度インストールする方法をご存知の方は > 教えて頂けないでしょうか。 > よろしくお願い致します。 > > P.S. > おやじ様 > 掲示板の管理ご苦労様です。 こちらこそ迷惑をかけてすみません。いたちごっこです。
kazu様
おやじ様
ご回答ありがとうございます。
返事が遅くなってしまい、大変申し訳ありません。
両名からご指摘頂いた「rpmからインストールする方が良い」とのことで自分なりに悪戦苦闘していました。
ソースからのインストールにこだわっている訳ではありませんが、
おやじ様と同様に私もRedhat9.0にApache2.0を入れる際にソースを
使いました。
またrpmからのインストールについてですが、
いろいろ試した結果あまりメリットが感じられないというのが正直な見解です。
(無論rpmの方が簡単にインストール出来る場合も多々ありますが…)
その理由としては
1.rpmインストールに関する技術資料に乏しい。
(postfixやApache2.0に関してはあるのですが、PHPやMySQLなどはネット上でも見かけない→Apacheとの連携の部分が不明)
ソースからのインストールはおやじ様のHPをはじめ、いろいろ存在します。
2.PHPやMySQLはどのrpmを使ったらよいのかわからない。
(似たようなファイル名のrpmがたくさんある、更に私の勉強不足も否めませんが。)
3.rpmファイルは若干バージョンが古い。
新しければ、イイってものでも無いのですが、個人的に新しいもの好きなので(笑)
もっと技術情報が増えれば、rpmでも良いかなとは思っているのですが、
正直どっち(ソースまたはrpm)にしようか迷っています。