🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

2回答

2454閲覧

Apacheで<インストールディレクトリ>/conf/httpd.conf のファイル名部分を変えた場合、サーバのどこにも設定しないでもhttpd.confは読み込まれますか?

退会済みユーザー

退会済みユーザー

総合スコア0

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2020/12/25 02:50

職場で構築をします。
設計書上、httpd.confはファイル名が変わっているのですが、この変更後のファイル名が設計書のどこにも記載されていません。(httpd.confの変更後のファイル名としての一箇所を除く)

これでリネーム後のhttpd.confは読み込まれるのでしょうか?そもそもhttpdは起動自体するのでしょうか?

ps
/etc/sysconfig/httpdのOPTIONSには設計書上なにも指定していません。ハイフンとなっています。
また/etc/sysconfig/<オリジナルネーム>のファイルにリネームされており
これはhttpd.service(httpd部分はオリジナルネーム)に記載されています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/12/25 04:36 編集

ドキュメントは読んでる? https://httpd.apache.org/docs/2.4/ そして、どういう環境でapache httpdを動かそうとしているか、httpd.serviceってことはCentOS/RHEL系?
dodox86

2020/12/25 05:28

最初の情報の拠り所を職場のローカルな設計書としているのがそもそも間違っています。何に付け一番信頼できるのが公式の情報であり、ソースコードであるはずなのですが。
dodox86

2020/12/25 05:32

翻ると、その職場でビルドに使っているapacheのソースコードがその職場用の設計に沿って一部、改変されたものであるならば、公式の情報によらない機能を持っていることになります。そうなると第三者である回答者には判断付きません。
hentaiman

2020/12/25 08:40

なるほど自分でパッチを当てているからこそのソースインストールなのか そうすると丸で会話が通じていないのも少し納得がいく
退会済みユーザー

退会済みユーザー

2020/12/25 11:30

ありがとうございます。ドキュメントは読んでいません。読みます。 ソースインストールなのは職場の風習です。 私はyumが楽で好きです。オフラインでも準備をしてyumでインストールするのがやはり楽でしょうか?
hentaiman

2020/12/25 11:33

もちろん しかし職場がソースインストール信仰していてその風習を変えられないのならソースインストールに慣れるしかないわ 積極的に時代を逆行していく会社ならきっと知識も豊富なはずだから社内の人に質問した方が良い
dodox86

2020/12/25 11:40

>@質問者さん 自力でソースビルドしてインストールする場合、どんなファイルがインストールされる(されない)かは、configure(autoconf)スクリプトや生成されたMakefileなどを丁寧に読んで理解しないと分からないし、オプションを指定した人に判断が委ねられます。このような場で聞いても分かりません。
退会済みユーザー

退会済みユーザー

2020/12/25 11:42

ソースインストール信仰しているのはリードカンパニーの方で、私共の会社はそれを真似る方針になってしまいました。勝手に参考にさせて頂いているので質問はできません。 そしてリードカンパニー様のログの3割ほどが欠損しているように見えます。 私は困っています。
退会済みユーザー

退会済みユーザー

2020/12/25 11:47 編集

>dodox86さん ただtar.gzを公式からダウンロードしてきてtar xvf~./configure~make~make installしただけであります。 arpとapr-utilも解凍してオプションでaprを指定したりとかはしていました。ソースはいじっていません。
dodox86

2020/12/25 11:52

まぁ、「make install」を実行したときにコピー(インストール)したファイルとかがターミナルに出力されるでしょうから、それで判断するしかないですね。無いファイルは自己責任で自力で作るしかありません。
hentaiman

2020/12/25 13:22

マスターの情報が欠落しているものを参考にしても正解には辿り着けないし、それを補う技術力も所属する会社には無い そしてソースインストールする必要性自体が無い なのにパッケージ管理に移行する気も無い ゴールが無い状態ですな
退会済みユーザー

退会済みユーザー

2020/12/27 12:23

そして、そういったことを言いyumにしたいとかちゃんと言える知識や経験が私にないことも災いしているとはわかっているのです。 しかしなんとかしてアプリケーションがちゃんと動くサーバを提供します。 皆様のおかげで私の知識はだいぶ前に進みました。感謝しております。
guest

回答2

0

回答ではないんですが、他の質問も見ていて「職場の設計書」は(ハッキリ言いますね)低レベルな設計書と感じています。
その設計書を鵜呑みにしないで、公式ドキュメントや実際にインストールしてみて標準値やファイル名を確認するのが良いと思います。

投稿2020/12/25 05:20

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/12/25 05:31

既定のファイル名 httpd.conf からなぜ変えようとするのかも示さずに、変えても読み込まれますかとか聞かれても正直困ります。 元のを httpd.conf.orig などとリネームして、通常使うものは既定の httpd.conf を使うでいいじゃない、という意見もあります。
退会済みユーザー

退会済みユーザー

2020/12/25 11:43 編集

なんだかわかりませんが設計書で変えています。 たくさんあるhttpdをインストールするサーバOSの内2台のみ1httpdに対してhttpd.confが2つあります。それに関しては二つの名前を使い分ける意味で名前が変わっている意味があると思います。 他は名前変えるのは設計者がノリでやってるように見えました。1台リネームするから統一感を取った的なやつでしょうか。
guest

0

ベストアンサー

httpd - Apache Hypertext Transfer Protocol Server - Apache HTTP Server Version 2.4
には、httpd自体のコマンドラインオプションの説明があります。

環境によってデフォルト値も変わってくるため、
この説明をそのまま鵜呑みにもできませんが、
大事なことは
ServerRoot と呼ばれる、apache httpd自体の置き場所や動作の基準のディレクトリと、
config と呼ばれる、apache httpd自体の振る舞いを決める定義ファイルが
関わってくるということです。
ServerRootの定義自体も、configファイルの中で定義できるのですが、
仮にServerRootをコマンドラインから与えるとそこにある conf/httpd.conf を探しに行って読み込もうとします。
ServerRootすら与えなかった場合は、httpdが起動しようとしたカレントディレクトリから相対的に conf/httpd.conf を探しに行って読み込もうとします。

で、config は通例httpd.confファイルを指しますが、
どんなに乱暴でも
httpd -f /foo/bar/baz/renamed-httpd.conf
とか絶対パスでリネーム後のファイルを与えないと反映されない仕組みになってます。
まあ通常は支援ツールapachectlや環境依存を考慮したスクリプトを介して起動するため、
例えばCentOS7なら /etc/httpd/conf/httpd.conf や /etc/httpd/conf.d/*.conf が反映されるぞ、
っていう理解になります。

CentOS7で /usr/lib/systemd/system/httpd.service にあるsystemd向けの定義ファイルによってhttpdの起動が管理され、

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}

とかあるんで、
/etc/sysconfig/httpd というファイルで$OPTIONSの定義を書いて
通常の起動の流れを変えることもできますが、
設定した本人すら忘れがちでしょうから避けるべきです。
/etc/httpd/conf/httpd.conf をいくらいじっても反映されない、なんてことにもなりかねません。

投稿2020/12/25 05:07

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hentaiman

2020/12/25 05:30

この質問者は前の質問ではソースから入れるとかsystemdに何も無いとか意味不明な供述をしているので、パッケージ管理で入れられた前提のこの回答は恐らく何も伝わりますまい
退会済みユーザー

退会済みユーザー

2020/12/25 05:35

oh my..
unoSSkR

2020/12/25 07:34

> httpd -f /foo/bar/baz/renamed-httpd.conf とか絶対パスでリネーム後のファイルを与えないと反映されない仕組みになってます。 Afraid its not true. The httpd manpage says: -f config: Uses the directives in the file config on startup. If config does not begin with a /, then it is taken to be a path relative to the ServerRoot. The default is conf/httpd.conf.
退会済みユーザー

退会済みユーザー

2020/12/25 11:35

私の理解がだいぶ前に進みました。助かります。systemdのやつは手動でファイル作ればいけるようなので何とかなると思います。正月休みに実験します。土日は直近の調べごとがあるので私は頑張ります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問