Alpine Linuxにapache web serverを入れる
September 26, 2020
linux AlpineLinux webサーバーはじめに
当方は、サーバ上に必要なだけいくつでも(ポートを変えて)webサーバーを立ち上げればいいと考えている口なので、webサーバーはdocker composeでインストールします。
本ドキュメントはAlpine Linuxにapache web serverをインストールした手順をまとめています。
インストール
apache web serverをdocker composeでインストールします。インストール先のOSはAlpine Linuxを想定していますが、docker composeでインストールするので、dockerを入れたLinuxならば、どれでも大丈夫だと思います。
以下の記事を参考にしました。docker-composeファイルはこのサイトの丸コピーです。 Webサーバだけでなく、よく使うphpやdbもまとめて立ち上がるので便利です。
【参考】
https://qiita.com/naente_dev/items/d259ea84c172deeff7d8
docker-compose で PHP7.2 + Apache + MySQL + phpMyAdmin 環境を構築
version: '3'
services:
  php:
    image: php:7.2-apache
    volumes:
      - ./php.ini:/usr/local/etc/php/php.ini
      - ./html:/var/www/html
    ports:
      - 8080:80
  mysql:
    image: mysql:5.7
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test
      - MYSQL_USER=test
      - MYSQL_PASSWORD=test
    restart: always
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=mysql
      - PMA_USER=test
      - PMA_PASSWORD=test
    links:
      - mysql
    ports:
      - 4040:80
    volumes:
      - ./phpmyadmin/sessions:/sessions
    restart: alwaysdbの名前やユーザ名、パスワードは適宜変更してください。 ポートは8080で起動していますが、必要に応じて変更します。
apache web server起動
$ docker compose up -dホームページ作成
$ vi ./html/index.html以上でWebサーバが起動しました。
動作確認
http://centos7:8080/
ホームページ
http://centos7:4040/
phpMyAdmin
プロキシサーバ機能の追加
iPhoneから自宅LAN内のサーバにアクセスする場合、iPhoneではhostsファイルを設定できないのでプロキシサーバで名前解決する必要があります。(自宅LAN内dnsを立てるとその限りではありませんが。)
プロキシポート:8888
でプロキシサーバを設定すします。
LoadModule proxy_html_module /usr/lib/apache2/modules/mod_proxy_html.so
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_connect.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
 
<IfModule proxy_html_module>
  Include /etc/apache2/proxy-html.conf
</IfModule><IfModule mod_proxy.c>
  ProxyRequests On
  ProxyVia On
  Listen 8888
  <Proxy *>
    Order deny,allow
    Deny from all
    Allow from all
  </Proxy>
</IfModule>127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.27.0.2      450ce809bc23
192.168.1.2     centos7
192.168.1.1     rt-500kidocker-compose.yml 追加部分
services:
  php:
    volumes:
      - ./apache2/apache2.conf:/etc/apache2/apache2.conf
      - ./apache2/proxy-html.conf:/etc/apache2/proxy-html.conf
      - ./apache2/hosts:/etc/hosts
    ports:
      - 8888:8888以上設定し、docker composeで再起動すると、プロキシが有効になります。
iPhoneでのプロキシの設定例
設定 >> Wifi
接続中のWifiの、〇の中に「i」の青いアイコンをクリック >> プロキシを構成
サーバのipアドレスとプロキシのポート番号を設定する。
これで、家庭内LANからwebサーバに、サーバ名でアクセスできるようになる。





 
  