こんにちは。TMです。
ここ最近、miniPCを買う機運がかなり高まっています。
というのも、ここ最近IntelのN95とN100というCPUが発売され、それなりの性能が出るということで話題になりました。
↑の動画を見る限りブラウジング程度ならかなりサクサクというのがわかります。
そしてAmazonでの価格は驚きの2万円ちょっと(Amazonリンク)。(これ、本当に想像以上に小さいし軽いです)
この価格で行けるのなら、NASとかサーバーの実機にするのに最適なのでは?と考え、とりあえずLinux+Next Cloud環境を作ってみました。
Google Driveだと容量が少なすぎる/毎月の課金額がエグイなんて人にはとてもオススメできます。
必要なもの
- mini PC(↑のリンクじゃなくても、N95とかN100程度の性能があれば十分)
- USB(Linuxインストール用)
- 周辺機器
- キーボード
- マウス
- ディスプレイ
- HDD/SSD(NASを構築する場合のみ)
たぶん、サーバーを建てようなんて人は周辺機器は持ってるものだと思うので、メイン機から流用してください。わりとすぐにリモートデスクトップが使えるようになるので、これ用に揃える必要は無いと思います。
Linuxインストールまでの流れ
たぶん自分で書くよりも世の中の先人の知恵を借りた方がいいので、ここには参考リンクだけを貼らせてもらいます。
内部ストレージが256GBだったので、128GBWindowsと128GBLinuxのデュアルブート構成としました。まずは、Windowsでディスクのパーティション分けが必要です。間違ってもWindowsがインストールされたドライブにLinuxをインストールしないようにしてください。
パーティション分け
BOOT方法などは、以下のリンクを参考にしました。
ただ、Linuxのデフォルトブートモードである、GRUBで必要十分に感じたので、インストール部分のみ参考という感じ
GRUBのみでデュアルブート
インストールしたバージョンは、Linux Ubuntu 23.04です。現在の最新バージョンですね
Ubuntu
注意
僕はこのバージョンでやっちゃいましたが、22.04の方が情報も多く対応アプリも多いので、今はまだ22.04の方が作業しやすいと思います。
Linuxインストール後にやっておいた方がいいこと
キーボードとかの操作をメインPCからしたい人は、以下の作業もやっておくと楽です。
WindowsでUbuntu 22.04を操作する【リモートデスクトップ】
とりあえず、VSCodeやdocker、Pythonなどは環境として整えておきましょう。
Dockerインストール方法はこれを参考にしました。
https://matsuand.github.io/docs.docker.jp.onthefly/engine/install/ubuntu/
自分はdocker-composeをpipからインストールしました。
https://docs.docker.jp/v1.10/compose/install.html
Next Cloud起動手順
基本的には、以下のURLを参考にしてください。
NextcloudをDockerで構築する手順
ただし、上記サイトではマウント場所の指定について書いていなかったため、mnt/ncHDD
等に変更したい場合は、以下のように変更してください。HDD/SSDをマウントする際は、必ず以下の「必ず以下の気を付けて欲しい事」を読んでからやってください。
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
volumes:
- /mnt/ncHDD/NextCloud_db:/var/lib/mysql # ここの/mnt/ncHDD/NextCloud_dbがマウント先になる
environment:
- MYSQL_ROOT_PASSWORD=${ENV_MYSQL_ROOT_PASSWORD} # .envファイルに環境変数を設定
- MYSQL_PASSWORD=${ENV_MYSQL_PASSWORD} # .envファイルに環境変数を設定
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- /mnt/ncHDD/NextCloud:/var/www/html # ここの/mnt/ncHDD/NextCloudがマウント先になる
restart: always
また、データベースのホスト名はlocalhostではなく、db:3306
としてください。
気を付けて欲しい事
自分が引っかかった所、爆発させた所を書いておきます。
HDDのフォーマットについて
たぶん、Windowsを使っている人はNTFSかexFAT辺りがよく知っているものだと思います。自分もwindowsでフォーマットしたので、exFATでやってました。しかし、Next Cloudのサーバーを建てようとすると、必ずエラーが発生して実行できませんでした。
これが原因だと気が付くまで1日以上かかりました・・・。
HDDはLinuxでフォーマットしなおして、尚且つ無難なext4にしておきましょう。
HDDのマウントについて
HDDやSSDを起動時にマウントするとき、初期設定をetc/fstab
に書き込む必要があります。
etc/fstab
に書き込むものは、以下のようなコマンドになります。マウント元はfdisk
コマンド等で調べてください。また、フォーマットも正しいフォーマットスタイルであることを確認してください。
これは本当に気を付けて欲しいのですが、絶対に間違えずに書いてください。 フォーマットが雑に違うだけでLinuxが起動しなくなります(1敗)
マウント元 マウント先 フォーマット 権限系
/dev/sda3 /mnt/ncHDD ext4 defaults 0 0