ひまつぶし雑記帖

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

初めての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側で
https://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に追加記載する。
<Directory /home/usrname/dir/>
    Options +ExecCGI -Indexes +FollowSymLinks
    AddHandler cgi-script .cgi .pl
    AllowOverride None
    Require all granted
    <IfModule mod_dir.c>
     DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
    </IfModule>
</Directory>

「+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でインストール

とりあえず。

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ところてんx5

2024/4/23 06:42

ここんとこ、弁当はきんぴらゴボウばかりだけど、明日からのシフト用に牛蒡買っとくか

2024/4/22 16:36

新規案件2タイトル。epubcheckでエラーのないものを作るまで6時間ぐらい。1タイトル3時間。
このあと、確認作業。たぶん集中して各1時間もあれば十分。修正があれば、修正作業して確認してそれも各1時間ぐらい、か。
1タイトル5時間弱程度として時給換算するとやっぱりかなりありが...

2024/4/21 12:33

すべて相対的な話で、マジョリティに合ってるかどうかだけのことやな

検索
<<2024/4>>
 123456
78910111213
14151617181920
21222324252627
282930

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版