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

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

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

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

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Apache

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Docker

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

受付中

Apacheが起動しません

tera001
tera001

総合スコア6

docker-compose

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

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Apache

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Docker

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

1回答

0評価

0クリップ

345閲覧

投稿2021/12/30 12:18

実現したいこと

メインとは別に検証用として古いバージョンのApache2.2.11のHTTPSサーバーを構築したいです。

発生している問題

https://localhostにアクセスしても応答がなく、Apacheが起動できていないものと思われます。

該当のソースコード

docker-compose.yml

version: "3" services: dcloud: build: . ports: - "80:80" - "443:443" tty: true

Dockerfile

FROM centos:centos7 RUN yum update -y RUN yum install gcc make pcre pcre-devel wget -y RUN yum -y install expat-devel # apr-1.5.1.tar.gz RUN cd /usr/local/src \ && wget https://archive.apache.org/dist/apr/apr-1.5.1.tar.gz \ && tar -xvzf apr-1.5.1.tar.gz \ && cd apr-1.5.1 \ && ./configure --prefix=/opt/apr/apr-1.5.1 \ && make \ && make install # apr-util-1.5.3.tar.gz RUN cd /usr/local/src \ && wget https://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz \ && tar -xvzf apr-util-1.5.3.tar.gz \ && cd apr-util-1.5.3 \ && ./configure --prefix=/opt/apr-util/apr-util-1.5.3 --with-apr=/opt/apr/apr-1.5.1 \ && make \ && make test \ && make install # openssl RUN yum install -y zlib-devel perl-core RUN cd /tmp \ && wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8zh.tar.gz \ && ls -la \ && mkdir /usr/local/src/openssl-0.9.8zh \ && cp /tmp/openssl-0.9.8zh.tar.gz /usr/local/src/openssl-0.9.8zh/openssl-0.9.8zh.tar.gz \ && cd /usr/local/src/openssl-0.9.8zh \ && tar xzf openssl-0.9.8zh.tar.gz \ && cd openssl-0.9.8zh \ && ./config --prefix=/usr/local/lib/openssl-0.9.8zh shared \ && make \ && make install \ && ln -s /usr/local/lib/openssl-0.9.8zh/lib /usr/local/lib/openssl-0.9.8zh/lib64 \ && /usr/local/lib/openssl-0.9.8zh/bin/openssl version ENV PATH $PATH:/usr/local/lib/openssl-0.9.8zh/bin RUN mkdir -p /etc/ld.so.conf.d \ && echo '/usr/local/lib/openssl-0.9.8zh/lib' > /etc/ld.so.conf.d/my.conf \ && ldconfig # httpd RUN cd /usr/local/src \ && wget http://archive.apache.org/dist/httpd/httpd-2.2.11.tar.gz \ && tar -xvzf httpd-2.2.11.tar.gz \ && cd /usr/local/src/httpd-2.2.11 \ && ./configure --prefix=/opt/httpd/httpd-2.2.11 \ --with-included-apr \ --with-apr=/opt/apr/apr-1.5.1 \ --with-apr-util=/opt/apr-util/apr-util-1.5.3 \ --build=arm \ --enable-modules=ssl \ --with-ssl=/usr/local/lib/openssl-0.9.8zh \ # --enable-rewrite=shared \ --enable-so \ && make \ && make install ENV PATH $PATH:/opt/httpd/httpd-2.2.11/bin # httpd.conf RUN sed -i \ -e 's/^#(Include .*httpd-ssl.conf)/\1/' \ -e 's/^#(LoadModule .*mod_ssl.so)/\1/' \ -e 's/^#(LoadModule .*mod_socache_shmcb.so)/\1/' \ -e 's/^#(ServerName www.example.com:80)/ServerName localhost:443/g' \ /opt/httpd/httpd-2.2.11/conf/httpd.conf # # SSLなしの起動確認 # RUN sed -i \ # -e 's/^#(LoadModule .*mod_socache_shmcb.so)/\1/' \ # -e 's/^#(ServerName www.example.com:80)/\1/' \ # /opt/httpd/httpd-2.2.11/conf/httpd.conf # 証明書 COPY ./confssl/* /opt/httpd/httpd-2.2.11/conf/ # start CMD ["apachectl", "-D", "FOREGROUND"]

試したこと

コンテナ内で再起動実行

# apachectl restart httpd not running, trying to start (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

CMD ["apachectl", "-D", "FOREGROUND"]をコメントアウトし、コンテナ内でapachectl startを実行しても反応がありませんでした。

# apachectl start

補足情報

環境

M1 Mac

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

CHERRY

2021/12/30 22:13

> Address already in use と言われているようですが、他のアプリがポートを使っていたりしますか? また、ログファイルには、何かメッセージは出ていませんか?
skys215

2021/12/31 01:47

コンテナ内でlsof -i:80で80ポートを使っているアプリを表示できます。 その後Dockerfileでそのアプリを閉じる様にするばよろしいと思います。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

docker-compose

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

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Apache

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Docker

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