想定する読者
- chromebook(chromeOS)を使ってweb開発をしようとしている
- apacheを立ててサイトをあげることはできる
- linux環境はdebian10 またarm系のアーキテクチャを使っている
やりたいこと
chromeOSのLinuxモードでapacheを立てる
→ 立てたapacheにアクセスしたい
but...本体のgoogle chromeからのアクセスは難しい(可能ではあるがIPアドレス直打ちしか筆者は知らない。apacheで設定したローカルドメインからアクセスは不可能??)
→ ではlinux側でインストールしたブラウザなら行けるんじゃないか??
こういう発想の転換をメモした備忘録になります。
サイト構成
/var/www/
akimakilocal ---- noPublish
└-- devProg
こんな感じで akimakilocl というサイトを作っています。
apacheの設定
apache2の設定ファイルがある場所に行き、新たにローカルドメインとマウント先を登録します。
cd /etc/apache2/sites-avaiable
# サイト情報を作る
touch akilocal.conf
vim akilocal.conf
# サイトを有効化する
a2ensite akilocal.conf
# apache再起動
systemctl restart apache2
# ポート番号は正規なら80番と443番ですが、複数のサイトを稼働することを想定し、あえて1つずらしています。
<VirtualHost *:81>
ServerName akimaki.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/akimakilocal
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:444>
ServerName akimaki.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/akimakilocal
SSLEngine on
# 以下は本件の範囲外なので別途自己証明書を作っておいてください
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>
しかしlinux外部のchromeからはドメインを識別できん!
これでサーバー名に指定した akimaki.local にアクセスすれば、apacheが動くはずです。
ためしにcurlコマンドを叩いてみます。
curl -- insecure https://akimaki.local:444
繋がりましたね。
では本体アプリのgoogle chromeからも試してみましょう。
はいダメです。linux版のローカルドメインが見つけられないようです。
ということで、linux版で動くブラウザをインストールしてきます。
linux版firefoxインストール
※筆者はfirefoxのインストールが一番速いと思ったのでfirefoxにしましたが、他のブラウザでも勿論可能なはずです。
# firefoxのソフトウェアを探す
apt search firefox
探したところ、このへんが良さそうですかね。ESRは延長サポート版と言う意味らしい。
# firefoxをインストール
apt install firefox-esr-l10n-ja
# インストールできたら起動
firefox
検索窓にakimaki.local:444とドメイン名を打ってみます。
これでまたchromeOSでできることが一つ増えた。chromeOSの未来に期待!