初めてのchromebook購入

2022/11/30 [10:09:51] (水) 天気

amazonのブラックフライデーという歳末大売り出しにつられて、ASUSのchromrbook (CX1101CMA-GJ0019)を購入。31000円ほど…て、これまたスマホより安いパソコンだ。これに追加でマイクロSDカードやBTマウス。


PCを新規に購入するなら、その最低必須条件は

・画面サイズが10〜11インチ

・CPUがインテル

で、安いに越したことはない、というのも入れると、Chromebookとなった。


必須条件の理由は。

自宅作業がローテーブルという名のちゃぶ台環境なので、デスクトップや大きなサイズのノパソは邪魔になるだけ。

インテルのCPU採用なら、メーカーのサポートが終わってもunix系OSをインストールして復活できる可能性があるから。


画面サイズで絞るとCPUがインテル以外のものばかりで、CPUで絞ると画面サイズが15とか巨大なものばかりが並んでた。


条件クリアしたのが、このASUS chromebook CX1。

画面:11.6インチ

CPU:intel Celeron N4020

メモリ:4G

ストレージ:64G(eMMC)

OS:ChromeOS


今、メインで使ってるのもASUSのvivobookというノートパソコン

「22980円のノートパソコンvivobook購入」

↑購入時のvivobookはWIN10だったけど、今はChromeOS Flexというgoogle謹製フリーのChromeOSで使ってる。


今回購入したCX1はキーボード配置などハードウエア的にも正規正統のchrombook。

これはフリーOSのFlexとは違ってgoogle playが使える。すべて対応してるかどうかはまだわからないけど、こちらの正規版(?)chromebookは、アンドロイドのアプリも使えるらしい。


さっそくlinuxをONにして、15Gほど割り当てて環境設定。

といっても、vivobookで使ってる設定ファイルをこっちに持ってくればほぼOK。

aptやcpanでインストールしたものも同じ。

「CloudReadyのバージョンアップ(94系から96に)」

↑メモっておいたことが珍しく役に立った。



CX1はストレージが64G。32Gのvivobookの倍だし、apache2もインストールしてローカルでWEBサーバーを立ち上げておくことにした。

vivobookでも最初は立ち上げてたんだけど、いろいろインストールするうちにディスク容量がちょっと心配になり、あまり利用する状況もなかったapacheは削除していた。


Chromebookのlinux環境(debian)のapache2はconfファイル(設定ファイル)が役割ごとに分けられてたり、以前もわりとハマったので、改めてメモ。


apache2のインストール

sudo apt install apache2

↑インストールはaptで一発。画面を眺めてるだけ。


インストールしたらまずやるべきこと。

・chromebook側

「設定」→「デベロッパー」→「linux開発環境」

 →「ポート転送」

ここで、ポートを追加する。ポート番号は慣例的に「8080」が何かと無難。この設定はlinuxのコンテナを終了させるとOFFになるので立ち上げるたびにONにする必要がある。


・Apache2の設定

ターミナルでlinuxにログインして設定していく。

Apache2の設定ファイルは /etc/apache2/ 以下。

/etc/apache2/ports.confをエディタ(vim)で修正する。

Listen 80 → Listen 8080


変更したら、ターミナルでapache2を再起動。

sudo systemctl restart apache2


chromebook側で

http://localhost:8080

↑にアクセスして、デフォルトのスタートページが表示されたら問題なくapache2が動いている、というのを確認できてひと安心。



ここから以下、自分の環境に合わせてもろもろ設定していくことになる。


前提として。

・perlでCGIを使う

・任意のユーザーディレクトリでCGIを使う

・ローカルのサイトはSDカードで運用する

というのがあって、案の定ハマったりした。


・SDカードにシンボリックリンク

SDカードを差したらchromebookの「ファイル」アプリ

「USB Drive」という名前になっていてファイル名の半角空白は事故の元なので「USBDrive」に名前変更。

名前変更したら右クリックして「linuxと共有」する。

ターミナルでls /mnt/chromeos/removable/USBDrive/ができてたら、ローカルサイト用のディレクトリを作って、HOMEディレクトリにシンボリックリンクを作成すればOK。


・CGIを使うためのモジュールを設定

sudo a2enmod cgi

↑これでCGIが使えるようになる。


ちなみに。

apache2の設定ファイル群は「*-enabled」「*-available」というディレクトリに入っていて、

「enabled」が読み込まれている設定

「available」が利用できる設定

と分けられている。


利用したい設定をONにするのが

「a2enconf」「a2enmod」「a2ensite」

読み込まれている設定をOFFにするのが

「a2disconf」「a2dismod」「a2dissite」

(やってることはシンボリックリンクの作成/削除)


・apacheの実行ユーザーを変更

デフォルトだとapacheは「www-data」というユーザー、グループで実行する。このままでも問題はないんだけど、任意のユーザーディレクトリでCGIを実行するにはディレクトリやファイルの権限でひっかかって面倒くさい。


/etc/apache2/envvars

↑apache2の設定ファイルで使われる変数を設定しているファイルがある。

この中で実行ユーザー、グループが設定されているので

export APACHE_RUN_USER=www-data

export APACHE_RUN_GROUP=www-data

「www-data」を自分のユーザー名に変更すると、自分のHOMEディレクトリ以下でローカルサイトを展開できる(HOMEディレクトリ以下は、www-dataのままだと権限がないので、403エラーとなる)


・VirtualHostで設定

/etc/apache2/sites-enabled/を見るとデフォルトの000-default.confがONになっている。これを別名(mylocal.confとか)でコピーしてエディタで修正、編集していく。


修正が必須なのは以下の2点「VirtualHost」「DocumentRoot」を書き換える。

VirtualHost *:80 → 8080

DocumentRoot /var/www/html → /home/usrname/dir

8080番ポートに設定、ローカルサイトを展開するディレクトリを自分のHOMEディレクトリに設定。


公開するディレクトリの約束事をmylocal.confに追加記載する。

Options +ExecCGI -Indexes +FollowSymLinks

AddHandler cgi-script .cgi .pl

AllowOverride None

Require all granted

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm


「+ExecCGI」

このディレクトリでCGIを実行できるようにする

「AddHandler」

cgiファイルの拡張子は「.cgi」と「.pl」


編集が終わった「mylocal.conf」を/etc/apache2/sites-available/にコピーして、その設定をONに設定、apacheを再起動して完了となる。

sudo cp mylocal.conf /etc/apache2/sites-available/

sudo a2ensite mylocal

sudo systemctl restart apache2



エラーになったら以下の2つで確認。

sudo systemctl status apache2.service

sudo less /var/log/apache2/error.log

…て、ほぼほぼ、configファイルのエラーなので、設定ファイルを作ったら

sudo apache2ctl -t

で、設定ファイルのエラーを確認するのが吉。


とりあえず今日時点ここまで、かなあ。

公開してるサイトをコピーして、ローカルで動作確認ができるようにしておきたいところだ。

image

ホッカペに湯たんぽに電気毛布まで。寒さ対策の達人。


[11/30 15:22:42] 追記

lolipopと同じように使うためにいくつか必要で。

perl の場所が違う

→/uer/bin/perl を /usr/local/bin/perlにリンク

DocumentRootが違う(当然)

→/home/以下にディレクトリを作って、本体のあるSDカードのディレクトリにリンク


perlで足りないモジュールのインストール

JSON

→cpanでインストール

imagemagick

→cpanだとエラーになるので、apt install perlmagickで取得

DBD::SQLite

→cpanでインストール


とりあえず。

<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】