Cloudflareでドメインを有効にする

### Cloudflareでドメイン「@@@.xyz」をアクティブにする方法

お名前.comで取得したドメイン「@@@.xyz」をCloudflareでアクティブにし、Raspberry Pi上のWebサーバーに安全にアクセスするためのCloudflare Argo Tunnelの設定手順を以下にまとめます。

#### 手順概要

1. Cloudflareアカウントの作成
2. ドメインの追加
3. プランの選択
4. DNSレコードの追加
5. ネームサーバーの変更
6. SSL/TLSの設定
7. Cloudflare Argo Tunnelの設定
8. その他の設定

### 詳細手順

#### 1. Cloudflareアカウントの作成
まず、[Cloudflareのサイト](https://www.cloudflare.com/)にアクセスしてアカウントを作成します。

#### 2. ドメインの追加
Cloudflareにログインし、ダッシュボードで「Add a Site」ボタンをクリックします。取得したドメイン「@@@.xyz」を入力し、「Add Site」をクリックします。

#### 3. プランの選択
Cloudflareの無料プランか有料プランを選択します。多くの基本的な機能は無料プランで利用できます。

#### 4. DNSレコードの追加
Cloudflareが自動的にお名前.comのDNS設定をスキャンし、既存のDNSレコードを表示します。必要に応じて以下のようにレコードを手動で追加します。

### グローバルIPアドレスの確認

Raspberry Piから直接グローバルIPアドレスを確認するために、以下のコマンドを使用します。

1. **ターミナルを開く**（SSH経由でも、直接接続でもOKです）

2. **以下のコマンドを実行**して、外部サービスを利用してグローバルIPアドレスを取得します：

```sh
curl ifconfig.me
```

このコマンドを実行すると、グローバルIPアドレスが表示されます。

##### Aレコードの追加
- **タイプ**: A
- **名前**: @
- **IPv4 address**: サーバーのIPアドレス（例: 123.45.67.89）
- **プロキシステータス**: プロキシ済み（オレンジ色の雲アイコン）
- **TTL**: 自動

##### CNAMEレコードの追加
- **タイプ**: CNAME
- **名前**: www
- **コンテンツ**: @@@.xyz
- **プロキシステータス**: プロキシ済み（オレンジ色の雲アイコン）
- **TTL**: 自動

##### MXレコードの追加（メールサーバーを設定する場合）
- **タイプ**: MX
- **名前**: @
- **メールサーバー**: メールサーバーのホスト名（例: mail.@@@.xyz）
- **優先度**: 10
- **プロキシステータス**: プロキシしない（灰色の雲アイコン）
- **TTL**: 自動

##### SPF、DKIM、DMARCレコードの追加（メールのなりすまし防止）
- **SPFレコード**
  - **タイプ**: TXT
  - **名前**: @
  - **コンテンツ**: v=spf1 include:example.com ~all（実際の設定に応じて変更）

- **DKIMレコード**
  - **タイプ**: TXT
  - **名前**: default._domainkey
  - **コンテンツ**: DKIMキーの値（メールサービスプロバイダーから提供されたもの）

- **DMARCレコード**
  - **タイプ**: TXT
  - **名前**: _dmarc
  - **コンテンツ**: v=DMARC1; p=none; rua=mailto:dmarc-reports@@@.xyz

#### 5. ネームサーバーの変更
Cloudflareが提供するネームサーバー情報を元に、お名前.comの管理画面でネームサーバーを変更します。

##### お名前.comでのネームサーバー変更手順
1. お名前.comにログインし、「ドメインNavi」へアクセスします。
2. 「ドメイン設定」タブをクリックし、ドメイン一覧から「@@@.xyz」を選択します。
3. 「ネームサーバーの設定」を選択し、「ネームサーバーの変更」をクリックします。
4. Cloudflareが提供したネームサーバー情報を入力し、設定を保存します。

#### 6. SSL/TLSの設定
Cloudflareのダッシュボードで「SSL/TLS」セクションに移動し、「Full」または「Flexible」を選択して設定を保存します。

#### 7. Cloudflare Argo Tunnelの設定

Cloudflare Argo Tunnelを使用して、Raspberry Pi上のWebサーバーに安全にアクセスできるように設定します。

1. `cloudflared`のインストール

```sh
sudo apt-get update
sudo apt-get install cloudflared
```

インストールが失敗した場合、手動でインストールします。

```sh
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared-linux-arm64.deb
sudo apt-get install -f
```

2. Cloudflareアカウントでの認証

```sh
cloudflared tunnel login
```

ブラウザが開き、Cloudflareアカウントで認証を行います。

3. トンネルの作成

```sh
cloudflared tunnel create my-tunnel
```

トンネルIDをメモします。

4. 設定ファイルの作成

```sh
sudo mkdir -p /etc/cloudflared
sudo nano /etc/cloudflared/config.yml
```

以下の内容を記述します。

```yaml
tunnel: <TUNNEL_ID>
credentials-file: /home/moko1221/.cloudflared/<TUNNEL_ID>.json

ingress:
  - hostname: @@@.xyz
    service: http://localhost:80
  - hostname: www.@@@.xyz
    service: http://localhost:80
  - service: http_status:404
```

5. トンネルのサービスとしてのインストールと起動

```sh
sudo cloudflared service install
sudo systemctl start cloudflared
```

サービスが動作しているか確認します。

```sh
sudo systemctl status cloudflared
```

#### 8. CloudflareでのDNS設定の更新

1. **ルートドメインのCNAMEレコード**:
   - **タイプ**: CNAME
   - **名前**: `@`
   - **ターゲット**: `<TUNNEL_ID>.cfargotunnel.com`
   - **プロキシステータス**: プロキシ済み（オレンジ色の雲アイコン）
   - **TTL**: 自動

2. **wwwサブドメインのCNAMEレコード**:
   - **タイプ**: CNAME
   - **名前**: `www`
   - **ターゲット**: `@@@.xyz`
   - **プロキシステータス**: プロキシ済み（オレンジ色の雲アイコン）
   - **TTL**: 自動

### まとめ
以上で、ドメイン「@@@.xyz」がCloudflareでアクティブになり、Cloudflare Argo Tunnelを使用してRaspberry Pi上のWebサーバーに安全にアクセスできるようになります。問題が発生した場合は、Cloudflareのサポートに連絡するか、ヘルプセンターを参照してください。

これでCloudflareを使用してドメイン「@@@.xyz」をアクティブにする手順が完了です。