✅ はじめに
この記事では、ZeroTier + VirtualBox + Ubuntu を使って 安全なプライベートクラウド(Nextcloud) を自宅やプライベートネットワーク内に構築する方法を紹介します。
- 外付けSSDなどのストレージを使って大容量保存も可能
- ZeroTier を使うことで、自宅の外からも安全にアクセス可能
- HTTPS なしでもZeroTier内通信は安全
こんな人におすすめ!
- 自宅サーバを立てたいけど、セキュリティが不安な人
- 自分専用のクラウド(Nextcloud)を作りたい人
- 公開せずに安全に使いたい人
私は、外付けSSD1TBを持っていたが何も使わずに埃をかぶっていたので何か活用する術がないか考えたところ「そうだ、Nextcloudを構築しよう!!」となりました。
⚠️ ご注意ください
本記事は私の学習・検証に基づいた内容を紹介するものであり、実際のご利用にあたってはご自身の判断と責任でご対応ください。
環境や状況により挙動が異なる可能性もありますので、実施前に必ずバックアップ等の対策を行うことをおすすめします。
✅ ゴール
- VirtualBoxにUbuntu Serverをセットアップ
- Nextcloudをインストール
- ZeroTierで安全なプライベートネットワークからアクセス
- 外付けSSDをNextcloudのデータ保存先にする(任意)
✅ 前提条件
- Windows PC(VirtualBoxを使う)
- 外付けSSD(任意、Nextcloudのデータ保存に利用可能)
- ZeroTierアカウント(無料)
- Ubuntu Server 24.04.2 LTS ISO
✅ 1. VirtualBoxでUbuntu Serverをセットアップ
① Ubuntu仮想マシン作成
- VirtualBoxで新規仮想マシン作成
- メモリ:最低2GB(推奨4GB)
- HDDサイズ:20GB以上(Nextcloud用)
- ISO:Ubuntu Server 24.04.2をマウント
② ネットワーク設定
- アダプター1 → 「ブリッジアダプター」(LAN内からもアクセス)
- アダプター2 → なし(ZeroTierがUbuntu内で仮想NICを作るため)
③ Ubuntu Serverをインストール
✅ 2. ZeroTierの導入
① ZeroTierアカウント作成・ネットワーク作成
- https://my.zerotier.com で無料アカウント
- 「Create Network」で新しいネットワーク作成
② UbuntuにZeroTierインストール
curl -s https://install.zerotier.com | sudo bash
sudo zerotier-cli join <ネットワークID>
③ ZeroTier管理画面で「Authorize」チェック
④ ZeroTierのIP確認
ip a
例:
ztxxxxxxx: <UP>
inet 172.x.x.x
✅ 3. Apache, MariaDB, PHPのインストール(Nextcloud準備)
① Apacheインストール
sudo apt update
sudo apt install apache2 -y
② MariaDBインストールと設定
sudo apt install mariadb-server -y
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
③ PHPとモジュール
sudo apt install php php-mysql php-xml php-gd php-mbstring php-curl php-zip libapache2-mod-php -y
✅ 4. Nextcloudのインストール
① ダウンロード&展開
cd /var/www/
sudo wget https://download.nextcloud.com/server/releases/latest.tar.bz2
sudo tar -xjf latest.tar.bz2
sudo chown -R www-data:www-data nextcloud
② Apache設定
sudo nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
DocumentRoot /var/www/nextcloud
ServerName nextcloud.local
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
✅ 5. Nextcloudの trusted_domains 設定
sudo nano /var/www/nextcloud/config/config.php
'trusted_domains' => array (
0 => 'localhost',
1 => '172.x.x.x', // ZeroTier IP
2 => '192.168.x.x', // ブリッジアダプターのLAN IP
),
✅ 6. ファイアウォール設定(UFW)
sudo ufw allow 80
sudo ufw allow from 172.x.x.0/24 to any port 80
sudo ufw allow from 192.168.x.0/24 to any port 80
sudo ufw enable
✅ 7. Nextcloudセットアップ画面へのアクセス
- ZeroTier IP or LAN IP からアクセス
http://172.x.x.x
→ Nextcloudセットアップ画面が出れば成功!
✅ 8. 外付けSSDのマウント(任意)
① SSD接続とUUID確認
lsblk
blkid
② マウントとデータフォルダ設定
sudo mkdir /mnt/nextcloud-data
sudo mount /dev/sdb1 /mnt/nextcloud-data
③ 永続化(/etc/fstab)※/var/www/nextcloud/dataがなければ作成
UUID="(blkidで表示されたuuid)" /var/www/nextcloud/data ext4 defaults 0 0
④ Nextcloudのデータディレクトリを変更(インストール時に指定)
✅ 9. HTTPSが必要な場合の選択肢
通信状況 | 対応 |
---|---|
ZeroTier/LAN内だけ | HTTPでもOK(ZeroTierは暗号化されている) |
外からもアクセスしたい | Let's EncryptでHTTPS対応 or 自己署名SSL |
✅ 10. まとめ
- ZeroTier で安全な仮想プライベートネットワーク
- VirtualBox で柔軟な仮想マシン運用
- Nextcloud で自分だけのクラウド環境
- 外付けSSD で大容量データ保存も可能
✅ おまけ:外からもアクセスしたい場合の追加手順
- グローバルIP or DDNS
- ポート開放(80, 443)
- Let's EncryptによるHTTPS化
→ 別記事で解説予定!
✅ おわりに
ZeroTier + VirtualBox + Ubuntu + Nextcloud の組み合わせは、コストをかけずに高セキュリティなクラウドを自分で持ちたい方にぴったりです。
家庭内、外出先、どこからでも「自分だけのクラウド」を実現しましょう!