DebianでNFS共有をセットアップする
NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します
NodeBBはNode.jsベースのフォーラムです。Webソケットを利用して、即時の対話とリアルタイムの通知を行います。NodeBBのソースコードはGithubで公開されています。このガイドでは、Node.js、MongoDBをデータベースとして、Nginxをリバースプロキシとして、Acme.shをSSL証明書として使用して、新しいDebian 9 VultrインスタンスでのNodeBBインストールプロセスについて説明します。
NodeBBには、次のソフトウェアがインストールされている必要があります。
A
/ AAAA
レコードが設定されたドメイン名Debianのバージョンを確認してください。
lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)
システムが最新であることを確認します。
apt update && apt upgrade -y
必要なパッケージをインストールします。
apt install -y sudo dirmngr git build-essential apt-transport-https
アクセス権をnon-root
持つ新しいユーザーアカウントを作成し、sudo
それに切り替えます。
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
注:をユーザー名に置き換えjohndoe
ます。
タイムゾーンを設定します。
sudo dpkg-reconfigure tzdata
NodeBBはNode.jsによって駆動されるため、インストールする必要があります。Node.jsの現在のLTSバージョンのインストールをお勧めします。
NodeSourceリポジトリからNode.jsをインストールします。
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Node.jsとnpmのインストールを確認します。
node -v && npm -v
# v10.15.0
# 5.6.0
MongoDBはNodeBBのデフォルトデータベースです。
MongoDBの公式リポジトリからMongoDBをインストールします。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt update
sudo apt install -y mongodb-org
バージョンを確認してください。
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.00
# db version v4.0.0
MongoDBを起動して有効にします。
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
MongoDBデータベースとNodeBBのユーザーを作成します。
MongoDBに接続します。
mongo
組み込みadmin
データベースに切り替えます。
> use admin
管理ユーザーを作成します。
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
注: プレースホルダー<Enter a secure password>
を独自に選択したパスワードに置き換えます。
という新しいデータベースを追加しますnodebb
。
> use nodebb
データベースが作成され、コンテキストがに切り替わりnodebb
ます。次に、nodebb
適切な特権を持つユーザーを作成します。
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
注: ここでも、プレースホルダー<Enter a secure password>
を独自に選択したパスワードに置き換えます。
Mongoシェルを終了します。
> quit()
MongoDBを再起動し、前に作成した管理ユーザーが接続できることを確認します。
sudo systemctl restart mongod.service
mongo -u admin -p your_password --authenticationDatabase=admin
Nginxの公式リポジトリから最新のメインラインバージョンのNginxをインストールします。
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx
バージョンを確認してください。
sudo nginx -v
# nginx version: nginx/1.15.0
Nginxを有効にして起動します。
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
デフォルトでは、NodeBBはポートで実行されます4567
。入力を避けるhttp://example.com:4567
ために、NodeBBアプリケーションのリバースプロキシとしてNginxを構成します。ポート80
または443
(SSLが使用されている場合)のすべての要求は、ポートに転送されます4567
。
実行してsudo vim /etc/nginx/conf.d/nodebb.conf
、以下に示す基本的なリバースプロキシ構成を入力します。
server {
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
上記の設定で、server_name
ディレクティブをドメイン/ホスト名で更新します。
構成を確認してください。
sudo nginx -t
Nginxをリロードします。
sudo systemctl reload nginx.service
HTTPSでフォーラムを保護する必要はありませんが、サイトのトラフィックは保護されます。Acme.shは、ゼロの依存関係でLet's EncryptからSSL証明書を取得するための純粋なUnixシェルソフトウェアです。
Acme.shをダウンロードしてインストールします。
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
バージョンを確認してください。
acme.sh --version
# v2.7.9
のRSAおよびECDSA証明書を取得しforum.example.com
ます。
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength ec-256
上記のコマンドを実行すると、証明書とキーは次のディレクトリにあります。
/etc/letsencrypt/forum.example.com
/etc/letsencrypt/forum.example.com_ecc
Let's Encryptから証明書を取得したら、それらを使用するようにNginxを構成する必要があります。
sudo vim /etc/nginx/conf.d/nodebb.conf
再度実行して、NginxをHTTPSリバースプロキシとして構成します。
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/forum.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com/forum.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/forum.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com_ecc/forum.example.com.key;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
構成を確認してください。
sudo nginx -t
Nginxをリロードします。
sudo systemctl reload nginx.service
ドキュメントルートディレクトリを作成します。
sudo mkdir -p /var/www/nodebb
/var/www/nodebb
ディレクトリの所有権をに変更しjohndoe
ます。
sudo chown -R johndoe:johndoe /var/www/nodebb
ドキュメントルートフォルダーに移動します。
cd /var/www/nodebb
最新のNodeBBをドキュメントルートフォルダーに複製します。
git clone -b v1.10.x https://github.com/NodeBB/NodeBB.git .
NodeBBセットアップコマンドを実行し、プロンプトが表示されたら各質問に答えます。
./nodebb setup
NodeBBのセットアップが完了したら、実行./nodebb start
してNodeBBサーバーを手動で起動します。
./nodebb start
このコマンドを実行すると、Webブラウザーでフォーラムにアクセスできるようになります。
経由./nodebb start
で起動した場合、システムの再起動時にNodeBBは自動的に再起動しません。これを回避するには、NodeBBをシステムサービスとしてセットアップする必要があります。
実行中の場合は、NodeBBを停止します。
./nodebb stop
新しいnodebb
ユーザーを作成します。
sudo adduser nodebb
/var/www/nodebb
ディレクトリの所有権をに変更しnodebb
ます。
sudo chown -R nodebb:nodebb /var/www/nodebb
nodebb.service
systemdユニット構成ファイルを作成します。このユニットファイルは、NodeBBデーモンの起動を処理します。実行sudo vim /etc/systemd/system/nodebb.service
して、ファイルに次の内容を入力します。
[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service
[Service]
Type=forking
User=nodebb
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodebb
Environment=NODE_ENV=production
WorkingDirectory=/var/www/nodebb
PIDFile=/var/www/nodebb/pidfile
ExecStart=/usr/bin/env node loader.js
Restart=always
[Install]
WantedBy=multi-user.target
注: 選択した名前に従ってユーザー名とディレクトリパスを設定します。
nodebb.service
再起動時に有効にしてすぐに起動しnodebb.service
ます。
sudo systemctl enable nodebb.service
sudo systemctl start nodebb.service
nodebb.service
状態を確認してください。
sudo systemctl status nodebb.service
sudo systemctl is-enabled nodebb.service
それでおしまい。NodeBBインスタンスが稼働します。
NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します
GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました
はじめにWeb分散オーサリングおよびバージョン管理(WebDAV)は、リモートでファイルを作成および変更するためのフレームワークを提供するHTTP拡張です。
LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用
この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu
はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します
別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ
別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します
はじめにCactiは、RRDデータに完全に基づいたオープンソースの監視およびグラフ作成ツールです。サボテンを通じて、ほぼすべてのタイプのデビックを監視できます
Go(Golangとも呼ばれます)は、静的に型付けされ、コンパイルされた、Cのようなプログラミング言語で、Googleによって開発されました。シンプルさと多用途性により、b
PBX In A Flash 5(PIAF5)は、Vultr VPSを本格的なPBXに変えるDebian 8ベースのオペレーティングシステムです。次のような特徴があります。
別のシステムを使用していますか?TermRecordはPythonで記述されたシンプルなオープンソースツールで、ターミナルセッションを簡単に共有できる自己完結型に保存できます。
別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています
この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re
別のシステムを使用していますか?X-Cartは、数多くの機能と統合を備えた非常に柔軟なオープンソースのeコマースプラットフォームです。X-Cartのソースコードはホストです
Muninは、マシンのプロセスとリソースを調査する監視ツールであり、Webインターフェースを介して情報をグラフで表示します。フォローインを使用する
はじめにこのチュートリアルでは、CentOS、Debian、またはUbuntuを実行しているLinuxサーバーにIP範囲/サブネット全体を追加するプロセスについて説明します。プロセス
別のシステムを使用していますか?Diasporaはプライバシーを意識したオープンソースのソーシャルネットワークです。このチュートリアルでは、ディアスポラpoを設定する方法を学びます
別のシステムを使用していますか?Selfoss RSSリーダーは、無料でオープンソースのセルフホスト型のWebベースの多目的ライブストリーム、マッシュアップ、ニュースフィード(RSS / Atom)です。
ここVultrでは、デプロイ可能なすべてのVPSでIPv6を有効にするオプションがあります。しかし、これにより、一部のプログラムとコマンドはどちらか一方を優先する場合があります
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。
最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください
原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。
これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。
私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true
ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。
LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー
NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します
別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています
HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、