質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Apache

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

0回答

1159閲覧

docker-composeでApache + php-fpmのコンテナを作成後、webページにcssが反映されない

TARO

総合スコア0

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Apache

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2023/01/20 15:03

編集2023/01/20 16:17

前提

環境
EC2上でAmazon linux2にDockerをインストール後、docker-composeにて下記環境を構築しています。
作成はこちらの記事を参考に行いました。
https://qiita.com/charon/items/a284b05a838c88b5e8bc

実現したいこと

webページにcssが反映されるようにする。

発生している問題・エラーメッセージ

・webページでDevTools画面にて確認したところ、拡張子が.phpのファイルしか読み込まれておりません。.cssでupしても中身のコードは反映されていないです。
cssのファイルを拡張子.phpにするとファイルの中身は反映されます。

GET http://localhost/sample.css net::ERR_ABORTED 404 (Not Found)

こちらはDevToolsのネットワークタブからログを見た時のコンソールのエラーメッセージです。

#docker-compose.yml version: "3.9" services: apache: image: httpd:2.4.51 ports: - "80:80" depends_on: - php-fpm volumes: - ./apache2/conf/extra/proxy-php.conf:/usr/local/apache2/conf/extra/proxy-php.conf - ./apache2/conf/httpd-original.conf:/usr/local/apache2/conf/httpd.conf networks: php_network: aliases: - apache entrypoint: >- bash -c " grep 'Include conf/extra/proxy-php.conf' /usr/local/apache2/conf/httpd.conf || echo 'Include conf/extra/proxy-php.conf' >> /usr/local/apache2/conf/httpd.conf httpd-foreground " php-fpm: image: php:7.4.26-fpm volumes: - ./app:/var/www/html networks: php_network: aliases: - php-fpm networks: php_network: driver: bridge
#proxy-php.conf LoadModule proxy_module modules/mod_proxy.so LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so AddType text/html .php DirectoryIndex index.php index.html SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 <LocationMatch \.(php|phar)$> ProxyFCGISetEnvIf "true" SCRIPT_FILENAME "/var/www/html%{reqenv:REQUEST_URI}" SetHandler "proxy:fcgi://php-fpm:9000" </LocationMatch>
#index.php <!DOCTYPE html> <html lang="jp"> <head> <meta charset="UTF-8"> <title>CSS Sample</title> <link rel="stylesheet" href="/sample.css"> </head> <body> <div class="div-css">外部CSSファイル読み込みのサンプルです。</div> </body> </html>
#sample.css .div-css { color: red; }

試したこと

・下記記事を参考にし、httpd.confにEnableSendfile offの記載をしましたが効果はありませんでした。
https://qiita.com/tarch710/items/2dfd935444df94d4eb89

・localhostで実行しても同じ結果でした。

補足情報(FW/ツールのバージョンなど)

Apacheのconfファイルの設定で欠けている部分がある可能性があると思っていますが、知識不足でどこをどう調べて良いのかわからず困っています。初歩的なミスをしているかもしれませんが、どうにかお力をお貸しいただきたいです。何卒よろしくお願いいたします。

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

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

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

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

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

yuma.inaura

2023/01/20 15:38

<link rel="stylesheet" href="/sample.php"> なぜphpをcssとして呼んでいるんでしょう
TARO

2023/01/20 16:16

すみません、試行錯誤していた時の記述のままにしていました。 sample.cssとしても読み込まれないはずです。修正しておきます。 ファイル名称をsample.cssからsample.phpにするとソースは反映されます。
dameo

2023/01/20 19:39

apacheの設定をきちんと理解しましょう。 FastCGIでfpmに飛ばしているのはどういうときですか? 飛ばないファイルはどこに置かないといけませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問