記事ディレクトリ
序文
モバイル インターネットの発展に伴い、クラウド ストレージを使用してドキュメント、写真、ビデオ、その他のファイルを保存する人が増えています。いつからかわかりませんが、私たちは無意識のうちにクラウド ストレージ サービスに料金を支払うようになりました。一度アップロードすればどこからでもアクセスできるということが、人々の日常的な要求となってきています。クラウドネットワークディスクごとの月額定額料金と、ユーザーを無料ユーザー、一般会員、中級会員、上級会員に分けるという残酷な現実とともに、ますます厳しさを増すネットワーク文明の環境構築
。一部のオーディオおよびビデオ リソースは調和されています。たとえば、ある国のこと、歌についての奇妙な話、人生におけるある爆発など。これらのリソースは、特定のクラウド ネットワーク ディスクに配置されている場合、削除される可能性があります。一部の AI アルゴリズムの過剰識別も、ユーザーに一定の損失を引き起こしました。
クラウド ネットワーク ディスクと比較すると、プライベート ネットワーク ディスクには、無料、大容量 (独自のハードディスクを購入するだけ)、セキュリティ、安定性といった明らかな利点があります。
この記事では、プライベート クラウド ネットワーク ディスクを設定するプロセスを紹介します。
自宅の書斎にデスクトップパソコンが眠っているので、最近それをインターネットに接続して個人用のクラウドサーバーにすることにしました。プライベート クラウド ネットワーク ディスク サービスとしてそのまま使用できます。
このチュートリアルでは主に次の内容について説明します: 家庭用デスクトップ コンピューター + Ubuntu 22.04.1 LTS + Docker + Nextcloud + Mysql + ピーナッツ シェルのイントラネット侵入
1.Nextcloudとは何ですか?
Nextcloud は、ネットワーク ドライブを作成するためのクライアント サーバー ソフトウェアのセットです。機能は Dropbox に似ていますが、Nextcloud は無料のオープンソース ソフトウェアであり、誰でもプライベート サーバーにインストールして実行できます。
Dropbox などの独自サービスと比較して、Nextcloud のオープン アーキテクチャにより、ユーザーはアプリケーションを使用してサーバーに追加機能を追加でき、ユーザーは自分のデータを完全に制御できます。
Nextcloudの利点:
- セキュリティ: 機密かつ重要な個人プライバシー データ。自分の個人データが漏洩したり、他人に販売されたりすることを心配する必要はありません。たとえば、自宅に監視カメラを設置している場合、その監視ビデオを特定のクラウド ネットワーク ディスクに置くかどうか心配です。
- マルチクライアントのサポート: IOS、Android、Windows、MacOS、Linux、Web ブラウザ
- 一般的なオフライン ダウンロードのニーズを満たす
- 基本的なオンラインオーディオおよびビデオ再生機能をサポート
- マルチアプリケーションのサポート: オンライン オフィス、メモ、同期された連絡先、カレンダー、オンライン コラボレーション、音声およびビデオ通話、メールボックス
- 実際、Nextcloud は企業内での使用に適しています。
2. インストール手順
私の自宅のコンピューターのオペレーティング システムは ubuntu です。
Docker を使用すると、アプリケーション ソフトウェアのインストールと構成を大幅に簡素化できます。Linux に直接ソフトウェアをインストールする場合と比較して、Docker コンテナーを使用すると、インストールと構成にかかるコストを削減できます。この記事では、Nextcloud コンテナと Mysql コンテナを Docker にインストールします。
ソフトウェアをインストールして構成したら、イントラネット侵入テクノロジーを使用して、インターネット (外部ネットワーク) 上のデバイスが自宅のコンピューター上の Nextcloud サービスにアクセスできるようにする必要があります。
1.ドッカーをインストールする
1.1 適切なアップデート
sudo apt-get update
1.2 apt が HTTPS 経由でリポジトリを使用できるようにする
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
1.3 Docker の公式 GPG キーを追加する
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
安定したリポジトリ (ここでは x86_64/amd64) をセットアップします。
echo
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux /ubuntu
$(lsb_release -cs) 安定版」 | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
1.4 ドッカーをインストールする
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
1.5 Docker が正常にインストールされていることを確認する
sudo docker run hello-world
2.docker は nextcloud コンテナをインストールします
2.1 nextcloud をプルする
sudo docker pull nextcloud
nextcloud を実行する 2.2 Docker
sudo docker run --name nextcloud -p 9001:80 -v /home/workSpace/nextcloud/data:/var/www/html/data -d nextcloud
–name: コンテナ名を nextcloud に設定します
-p 9001:80: ポート マッピング、ホスト ポート 9001 をコンテナ内のポート 80 にマップします
-v /home/workSpace/nextcloud/data:/var/www/html/data がコンテナになりますプロジェクト内のプロジェクトのデータ ディレクトリは、構成を容易にするためにローカルの /home/workSpace/nextcloud/data ディレクトリにマップされます。
-d nextcloud、プルするイメージ名
2.3 実行中のコンテナの表示
sudo docker ps
2.4 nextcloud に初めて入る
ブラウザに IP アドレス + ポート 9001 を入力します (9001 は上で設定したポートです)。
初めて nextcloud に入ると、管理者アカウントを作成するよう求められます。
[ストレージとデータベースのオプション] データベースはデフォルトで SQLlite を選択します。ファイル同期クライアントを使用している場合は、SQLite を使用しないことを強くお勧めします。ここで Mysql を選択します
mysql がまだインストールされていないため、mysql を再度インストールする必要があります
2.5 docker は nextcloud コンテナを自動的に起動するように設定します
sudo docker update --restart=always nextcloud
3 docker install mysqlコンテナ
3.1 docker pull mysqlコンテナ
sudo docker pull mysql:latest
3.2 mysqlコンテナの設定
3.2.1 mysqlの初期設定
sudo docker run -itd --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-
-p 3307:3306 : コンテナ サービスのポート 3306 をホストのポート 3307 にマップします。これにより、外部ホストはホスト ip:3307 を通じて MySQL サービスに直接アクセスできるようになります。
-
MYSQL_ROOT_PASSWORD=123456: MySQL サービスの root ユーザーのパスワードを設定します
3.2.2 mysqlコンテナに入る
sudo docker exec -it mysql bash
-
- インタラクティブな環境を提供します
-
bash インスタンスに入った後、bash プログラムを起動します。
3.2.3 mysqlへのログイン
mysql -u root -p
Enter password:123456
3.2.4 nextcloudのデータベースを作成する
create database nextcloud charset=utf8;
3.3 docker は mysql コンテナを自動的に起動するように設定します
sudo docker update --restart=always mysql
4 mysql データベースに接続するように nextcloud を構成する
ブラウザは nextcloud 設定ページに戻り、データベースは mysql ホスト名を選択し、設定後に
ip:port (localhost+port の場合、エラーが報告されると言われていますが、理由は不明です) を入力する必要があります。
「インストール」をクリックします
推奨アプリのインストールを選択します。
この時点で、Nextcloud は正常にインストールされました。
5 nextcloud へのイントラネット アクセス
5.1 LAN 環境では、イントラネット IP が nextcloud にアクセスします
nextcloud をインストールすると、LAN 内のイントラネット IP 経由で nextcloud にアクセスできるようになります。
5.2 信頼できるドメイン名 (ホワイト リスト) を追加するように nextcloud を設定する
Nextcloud サーバーへのアクセスに使用されるすべての URL は、config.php ファイルの Trusted_domains 設定でホワイトリストに登録されている必要があります。ユーザーは、trusted_domains 設定にリストされている URL をブラウザで参照する場合にのみ Nextcloud にログインできます。
ps: 以下の方法では、主にグラフィカル ユーザー インターフェイスの場合に nextcloud にドメイン名を追加する方法について説明します。
ターミナル上で vim 操作を行うことで記事を参照できます: [Docker] nextcloud プライベート ネットワーク ディスクを構築し、外部ネットワークをマッピングする
5.2.1 ubuntu グローバル検索 nextcloud 設定ファイル config.php
config.php がどこに保存されているかわからないため、検索コマンドを使用してコンピューター上の config.php ファイルを検索します。
sudo find / -name "config.php"
暫定的な判断では、このパスは正しいはずです
/var/lib/docker/volumes/58fa050d3863d3128837d86707d0b1f92050f7bf40bfdbf3fa38cbfc3350e2cc/_data/config
5.2.2 root 権限を使用して、グラフィカル ユーザー インターフェイスからファイル マネージャーを開き、Docker インストール ディレクトリに入ります。
グラフィカル ユーザー インターフェイスのファイル マネージャーから /var/lib/docker と入力すると、docker フォルダーの右下隅に赤いバツ印が表示されます。これは、root 権限がないと現在のアカウントを表示できないことを示しています。
ファイルマネージャーを開くにはroot特権アカウントを使用します
ターミナルのrootアカウントでファイルマネージャーを開きます。
sudo nautilus
OK、ポップアップ ファイル マネージャーに入力できるようになりました。
/var/lib/docker/volumes/58fa050d3863d3128837d86707d0b1f92050f7bf40bfdbf3fa38cbfc3350e2cc/_data/config
config.phpを右クリック→テキストエディタで開くと編集できるようになり、
trusted_domainsに「localhost:9001」が追加されていることがわかります。この config.php ファイルが探しているファイルであることを説明します。nextcloud のイントラネット アドレス (私のアドレスは 192.168.31.31:9001) を Trusted_domains の下に追加します。
追加が成功したら、LAN (イントラネット) 上のブラウザから nextcloud に再度アクセスします。
イントラネットへのアクセスに成功しました!
6. イントラネットの浸透
ソフトウェアをインストールして構成した後は、Nextcloud をローカル エリア ネットワーク (イントラネット) でのみ使用できます。自宅のコンピューターをインターネット (外部ネットワーク) に接続するには、イントラネット侵入テクノロジを使用する必要があります。イントラネットへの侵入は、次の 3 つの方法で実現できます。
- 帯域幅オペレーターに連絡し、パブリック ネットワーク IP を提供するように依頼してください。
- パブリックネットワークIP+リバースプロキシFRP実装のクラウドサーバーを購入する(設定方法は別記事「 Alibaba Cloud Linux、Frpイントラネット侵入サービスを構築(Centos対応)」を参照)
- ピーナッツの殻のイントラネット侵入サービスを購入する
ここでは、イントラネットの侵入にピーナッツの殻を使用します。他の方法については、関連するオンライン チュートリアルを参照してください。
6.1 ubuntuにピーナッツシェルをインストールする
詳細なチュートリアルについては、Peanut Shell 5.0 for Linux チュートリアルを参照してください。
6.1.1 wegetのインストール
アップデートソフトウェアリスト
sudo apt-get update
wget ツールをダウンロードする
sudo apt-get install wget
ダウンロードしてインストールされた wget のバージョンを確認します。
wget --version
6.1.2 ピーナッツ シェル インストール パッケージをダウンロードする
ダウンロードアドレス:ピーナッツシェルクライアント公式ダウンロード
wget "https://down.oray.com/hsk/linux/phddns_5.2.0_amd64.deb" -O phddns_5.2.0_amd64.deb
[メインディレクトリ]にインストールパッケージがダウンロードされたことが確認できます。
6.1.3 インストール
インストーラーを実行してみましょう。
sudo dpkg -i phddns_5.2.0_amd64.deb
インストール成功。
6.2 Peanut Shell が自動的に起動するように設定する
sudo phddns enable
6.3 ピーナッツシェルのイントラネット侵入の設定
ubuntu ブラウザを使用してピーナッツ シェル Web サイト http://b.oray.com にアクセスし
、[SN ログイン] を選択し、インストール中にピーナッツ シェル Linux が生成した SN コードとデフォルトのログイン パスワード admin を入力してログインします。
初めてログインするときは、まずアクティブ化する必要があります。スキャン コード アクティベーションとパスワード アクティベーションの 2 つの方法が用意されており、柔軟に選択できます。このタイプをアクティブにするコードをスキャンすることを選択します。
携帯電話で Peanut Shell APP を使用してコードをスキャンし、アクティブ化します。
アクティベーションが成功したら、ピーナッツ シェル管理プラットフォームに入ります。SN コードにバインドされたアカウントに動的ドメイン名解決機能のみがあり、イントラネット侵入機能を使用する必要がある場合は、「無料でアクティブ化」をクリックするか、アカウントをイントラネット侵入機能を備えたサービス バージョンに直接アップグレードできます。 。
イントラネットペネトレーションマッピングを追加する場合は、ページ上の「マッピングの追加」ボタンをクリックします。
ページのプロンプトに従ってマッピングに必要な情報を入力します。次は、Ubuntu システムの SSH サービス (ポート 22) をマッピングする例です。
①アプリケーション名:カスタム
②アプリアイコン:自分で選択
③マッピングタイプ:TCPを選択します。
④マッピングテンプレート:今のところテンプレートを選択しないでください
⑤ エクストラネット ドメイン名: エクストラネット アクセスに使用するドメイン名を選択します (ここでのドメイン名を購入する必要があります)
購入リンク: https://hsk.oray.com/parts-center/domain.html
⑥インターネットポート:動的ポートを選択します
⑦イントラネットホスト: マッピングされた Ubuntu システムのイントラネット IP アドレス
⑧イントラネット ポート: マップされたサービス タイプはポート 22 に対応します。
⑨帯域幅: マッピング帯域幅を購入した後、マッピングへの追加帯域幅の割り当てをサポートできます。ここでデフォルトを保存します。
マッピング内容が正しいことを確認したら、「OK」をクリックします。
[OK]をクリックすると、イントラネットへの侵入が成功します。
私たちは外部ネットワークコンピュータ上にいます。ブラウザを開いて、ドメイン名を介して Nextcloud にアクセスします。
このページに入ると、イントラネットへの侵入が成功したことがわかります。ドメイン名は正常にホーム コンピュータを指すようになりました。
ただし、現在のデバイスに対応する IP が自宅のコンピューター上の Nexcloud サービスにアクセスできるようにするには、アクセス ドメイン名のホワイトリストを Nextcloud に追加する必要があります。
6.4 信頼できる外部ネットワークのドメイン名 (ホワイト リスト) を追加するように nextcloud を設定する
nextcloudに信頼できるドメイン名を追加する設定方法については5.2を参照してくださいので、ここでは詳しく説明しません。
docker restart nextcoud
sudo docker restart nextcloud
設定完了後、ブラウザにドメイン名を入力すると以下のページが開きます。
実を言うと、ここまで来て心が折れてしまいました。
そこで、Peanut Hull が購入したドメイン名に問題があるのではないかと思いつきました。次に、ドメイン名が https プロトコルを使用していること、および nextcoud がデフォルトでは https を許可していないことを確認しました。nectcoudを再度設定する必要があります。
6.5 https ドメイン名を許可するように nextcloud を設定する
ステップ 5.2 を参照して、「
/var/lib/docker/volumes/58fa050d3863d3128837d86707d0b1f92050f7bf40bfdbf3fa38cbfc3350e2cc/_data/config」
と入力してファイル config.php を開き
、次の文を追加します。
'overwriteprotocol' => 'https',
docker restart nextcoud
sudo docker restart nextcloud
外部ドメイン名を再度開くと、正常にアクセスできます~
7. nextcloudを使用する
各クライアント アプリのダウンロード Web サイト: https://nextcloud.com/install/#install-clients
使用方法はnextcoud 公式 Web サイトを参照してください。ここでは詳しく説明しません。
要約する
この時点で、nextcloudのクラウドストレージサービスを簡単に利用できるようになります。
もちろん、nextcloud にはクラウド ノート、メールボックスなどの他のクラウド サービスもあります。設定を通じて使用することもできます。
私はLinuxにあまり詳しくないので、3週間に渡って断続的にこの記事をまとめましたが、役に立ったと思っていただけましたら、ワンクリックトリプルリンクをお願いします。はは~
書くのは難しいので、転載する場合は出典を明記してください~。
参考記事:
ubuntu20.04 dockerをインストールする docker install nextcloud
docker が mysql install nextcloud を作成します
実行中の Docker コンテナのポート マッピングを変更する方法を説明する 3 つの方法