NiPoGiのAK1PLUSというミニPCを持っているのだが、このPCの特徴として合体パーツに2.5インチSSDを増設できるというものがある。
Amazonのセールで250GBのSSDを購入、Ubuntuとのデュアルブート環境を構築してUbuntuをサーバーとして使う。
すでにNASを持っていること、購入したSSDの容量が少ないことからファイルサーバーはやりません。
ひとまずGROWIをインストールし、自分用のローカルWiki用にします。マシンパワーに余裕があるようなら別の機能も持たせるかもしれませんが、現時点では未定です。
使用機材

ミニPCですが、私は去年の12月に買いました。
だからでしょうね、AmazonからN100搭載モデルが消えてます。
N95とかN150はあっても、N100がありません。
SSDはセール中の値段だけで決めました。
SSD増設
NiPoGi AK1PLUSの底面にあるロックを外します。
(この時に気が付きました。ゴム足1つ失くしてますね・・・どこいったし)

ロックを外すと取り外し可能になります。

PC本体と増設用ケースに分離するので、増設用ケースの底面のねじを外します。
内部に2.5インチのSSDを搭載できるので、はめ込みました。
ねじ止めとかはありませんが、蓋裏に細長いクッションが貼ってあり、それで押し付けられているのでまぁはずれないでしょう。

あとは逆の手順でもとに戻すだけです。
Ubuntu 24.04 LTSのインストール
インストールメディアの作成
インストールメディアの作り方はざっくりいうと
・Ubuntuのisoを公式からダウンロード
・RufusでUSBに書き込む
以上です。
インストールメディアから起動
NiPoGi AK1PLUSを起動し、Delキー連打でBIOS画面に入ります。
BootタブのFIXED BOOT ORDER PrioritiesでUSB Deviceを最上位に移動させるか、Save & ExitのBoot Overrideでインストールメディアを選べばいける。
起動したら「Try or Install Ubuntu」を選択して、Ubuntuを起動する。
Ubuntuのインストール
- 言語選択で「日本語」を選択し、「次」をクリックする。
- 「Ubuntuのアクセシビリティ」設定画面は必要あれば変更し、「次」をクリックする。
- キーボードレイアウトは適切なレイアウトを選び、「次」をクリックする。
※自動的に検出されるので変更の必要はないはず。 - ネットワークに接続は「有線接続を使用」を選択し、「次」をクリックする。
※無線やオフラインでも可。 - インストーラのアップデートが適用できますでは「今すぐアップデート」をクリックする。
ここでアップデートしないなら「スキップ」をクリックする。 - アップデートした場合は準備完了後に「インストーラを閉じる」をクリックする。
- デスクトップにインストーラーがあるので起動し、1.~4.まで繰り返す。選択済みなので「次」をクリックするだけでいいはず。
- インストール種類は「対話式インストール」を選択し、「次」をクリックする。
- アプリインストールは「既定の選択」を選択し、「次」をクリックする。
- プロプライエタリなソフトは「グラフィックスとWi-Fi機器用のサードパーティ製ソフトウェアをインストールする」にチェックを入れ、「次」をクリックする。
- インストール方法は「手動パーティショニング」を選択して、「次」をクリックする。
- ブートローダーをインストールするデバイスを選択で、インストール先のSSDを選択する。
※ミスるとディスクのデータが全ロスするので慎重に進める事。 - 空き領域を選択して「+」をクリックする。
- 使用方法を「Ext4」、マウントポイントを「/」にして、「OK」をクリックする。
- アカウントの設定は必須項目を入力して、「次」をクリックする。
- タイムゾーンは「Asia/Tokyo」を選択して、「次」をクリックする。
- これまでの選択を確認し、問題なければ「インストール」をクリックする。
- インストール完了後、「今すぐ再起動」をクリックする。
- しばらくすると「Please remove the installation medium, then press ENTER」と表示されるため、インストールメディアを外してエンターキーを押す。
- 再起動され、インストールされたUbuntuが起動する(かもしれない)。
というのもBIOSの設定次第ではWindowsが起動する。
まずはBIOSに入り、BootタブのUEFI Hard Disk Drive BBS Prioritiesを選択、Boot Option #1 をubuntu、#2をWindowsにする。
Ubuntuの初期設定
ソフトウェアの更新
左下の「アプリを表示」から「ソフトウェアの更新」を選択し、クリックする。
「今すぐインストールする」をクリックする。
ClamTkのインストール
Linuxでもセキュリティソフトはあったほうがいい。
定番のClamAVはCUIであり、コマンド操作です。これをGUIで操作するソフトがClamTkです。
ClamTkはメンテナンス終了がアナウンスされていますが、内部というか本体であるClamAVはサポートが続いているので大丈夫だと思います。
以下のコマンドを端末で実行することでインストールできる。
sudo apt install clamtk
アプリを表示から「ClamTk」を起動します。
まずは設定を選択します。
すべてにチェックを付けます。
チェックを付けたら、「戻る」をクリック。
次にスケジュールを選択します。
好みの時間を指定し、「+」を押して確定する。
シグネチャのアップデートする時間のほうは、「アップデートアシスタント」で「コンピューターが自動的にアップデートを受信」が選択されているため、ここでは操作できません。時間を指定したい場合はまず、「アップデートアシスタント」画面で「自分でシグネチャをアップデート」に切り替える必要があります。
ファイアウォール
ファイアウォールはプリインストールされていますが、デフォルトでは無効化されています。
gufwというソフトをインストールすることで有効化し、GUIで操作できるようにします。
端末で以下のコマンドを実行してインストールします。
sudo apt-get install gufw -y
アプリを表示から「ファイアウォール設定ツール」を起動します。
プロファイルは用意されていますが、Status:がデフォルトだとオフになっているのでオンに切り替えます。
xrdp
リモートデスクトップで接続するためのソフトです。
サーバーマシンなのでモニターやキーボードなどを接続せず、メインPCなどから遠隔操作します。
端末で以下のコマンドを実行してインストールと設定を行っていきます。
sudo apt install xrdp
インストール後にxrdpの自動起動の設定と起動を行う。
sudo systemctl enable xrdp
sudo systemctl start xrdp
ファイアウォールにリモートデスクトップ用の設定を追加する。
sudo ufw allow 3389
ユーザー設定を追加します。エディタは好みですがここではnanoを使っています。
sudo nano /etc/group
以下の行に末尾(XXXXの位置)にユーザー名を追記します。
xrdp:x:125:XXXX
次にインターフェース周りの設定を変更します。
というのもUbuntuマシンで起動した時と外部からリモート接続した時のUIが違うんです。なのでUbuntuを起動した時と同じになるように設定します。
sudo nano /etc/xrdp/startwm.sh
先頭に以下の2行を追加します。
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
他にも問題があるようなので、別ファイルも修正します。
sudo nano /etc/gdm3/custom.conf
「WaylandEnable=false」の前の#を消してコメントを外します。
[daemon]
# Uncomment the line below to force the login screen to use Xorg
#WaylandEnable=false
WaylandEnable=false
編集後にUbuntuを再起動します。
Windows11マシンの「リモートデスクトップ接続」を起動し、UbuntuマシンのIPアドレスを入力して接続する。
※私はルーター側でUbuntuマシンに固定IPを振る設定にしています
ログイン画面が表示されるので、ユーザー名とパスワードを入力する。
Ubuntuを起動した時と同じUIでリモート接続できます。
ここからはモニターとキーボード、マウスを外し、リモート接続で使用します。
GROWIをインストール
別の記事にまとめているのでそちらを参照
リバースプロキシの設定
GROWIに対してリバースプロキシを行うための設定をしていく。
Nginx のインストール
下記のコマンドでインストールする。
sudo apt update && sudo apt -y install nginx
設定ファイルを作成するため、以下のコマンドを実行
sudo nano /etc/nginx/sites-available/growi.conf
以下の内容を書き込む。<server><cert_file><key_file>は各自で環境に合わせる。
※<server>についてはchatGPTがLAN内限定なら「growi.local」でいいんじゃない?って言ってた。
※<cert_file><key_file>はSSL、つまりはHTTPSを使うために必要な証明書にあたる。今回は自己証明書で対応し、方法は後述する。
upstream growi {
server localhost:3000;
}
map $http_upgrade $connection_upgrade {
default Upgrade;
'' close;
}
server {
listen 443 ssl;
server_name <server>;
ssl_certificate <cert_file>;
ssl_certificate_key <key_file>;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://growi;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 900s;
}
}
server {
listen 80;
server_name <server>;
return 301 https://$server_name$request_uri;
}
シンボリックリンクを作る。
上記の設定ファイルを適用させるような感じ。
sudo ln -s /etc/nginx/sites-available/growi.conf /etc/nginx/sites-enabled/
設定ファイルに問題がないか確認する。
sudo nginx -t
問題がなければ次のように表示される。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
恒例の起動と自動起動の設定
systemctl start nginx
systemctl enable nginx
自己証明書の設定
証明書と鍵を生成する。
なお、chatGPTに教わった簡単な方法であり、私は詳しく理解してません。
sudo mkdir -p /etc/ssl/private
sudo openssl req -x509 -nodes -days 3650 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/growi.key \
-out /etc/ssl/certs/growi.crt \
-subj "/CN=growi.local"
Nginxの設定ファイルにパスを記載する。
<cert_file> /etc/ssl/certs/growi.crt;
<key_file> /etc/ssl/private/growi.key;
パーミッション確認。
sudo chmod 600 /etc/ssl/private/growi.key
sudo chown root:root /etc/ssl/private/growi.key
この方法では「信頼されない」とブラウザには怒られる。LAN内かつ自分のみしか使わないのでとりあえずスルーする。
ファイアウォールの設定
ufwに設定追加しないと別PCからのアクセスを拒否してしまう。
ひとまずLAN内からは許可という内容で設定を追加する。
以下のコマンドでいけるが、IPアドレスは各自の環境に合わせる必要がある。
sudo ufw allow from 192.168.0.0/24 to any port 80
sudo ufw allow from 192.168.0.0/24 to any port 443
GROWIにアクセス
これまでの設定がうまくいっていれば別PCからもアクセスできるはずだ。
UbuntuマシンのIPアドレスを指定してアクセスすればログイン画面が表示される。
https://192.168.0.XX
あとはGROWIの設定を適当に済ませる。
余談
SSD増設用ケースを分離するとWindowsが起動します。
SSD増設用ケースを合体させると、・・・Windowsが起動します。
はい、合体後はもう一度BIOSの優先順位を変更する設定をしないとUbuntu優先にはなりません。
合体分離で起動OS変わったらおもしろかったんだけどなぁ。