SoftEtherAdmin は、SoftEther VPN サーバー用の Web ベースの UI です。現在サポートされているのは読み取り操作のみであり、機能セットは完全ではありません。 UI デザインは、Creative Tim の素敵なスタッフによる Light Bootstarp Dashboard テーマです。
まず、ファイルのクローンを作成/ダウンロードする必要があります。
# GIT clone (Note: git should be installed on your system!)
cd /srv
sudo git clone https://github.com/notisrac/SoftEtherAdmin.git
# # OR ##
# Download (Note: unzip should be installed on your system!)
wget -O SoftEtherAdmin.zip https://github.com/notisrac/SoftEtherAdmin/archive/master.zip
sudo unzip SoftEtherAdmin.zip -d /srv/SoftEtherAdmin
アプリケーションを実行する前に、npm パッケージを復元する必要があります。
cd /srv/SoftEtherAdmin
sudo npm install
設定セクションの指示に従ってアプリケーションをセットアップします。次のような構成が必要です。
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
この段階で、アプリケーションは実行可能になっているはずです。
node app.js
別のシェルを開いて、次の操作を行います。
wget http://localhost:8000/
Node.js アプリを管理する推奨される方法は、 pm2
を使用することです。
# first, you need to install pm2 globally
npm install pm2 -g
# enter the dir wher SoftEtherAdmin is installed
cd /srv/SoftEtherAdmin
# Register the app with pm2
pm2 start app.js --name " softetheradmin "
詳細については、pm2 セクションをご覧ください。
Web サーバー経由でアプリを提供するには、Web サーバーをアプリケーションのポートを指すリバース プロキシとして構成するだけです。 nginxの例:
server {
listen 80;
listen [::]:80;
server_name SoftEtherAdmin;
location / {
proxy_pass http://localhost:8000; # <- this is where out app is listening
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
ファイル https://github.com/notisrac/SoftEtherAdmin/archive/master.zip をダウンロードして、フォルダーに解凍します。以下を使用します。
C:NodeApps
cd C: N odeApps S oftEtherAdmin
npm install
設定セクションの指示に従ってアプリケーションをセットアップします。次のような構成が必要です。
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " C: \ Program Files \ SoftEther \ vpncmd.exe " ,
"password" : " supersecretpassword1 "
}
}
この段階で、アプリケーションは実行可能になっているはずです。
node app.js
ブラウザを開いて、 http://localhost:8000/
に移動します。
Node.js アプリを管理する推奨される方法は、 pm2
を使用することです。
# first, you need to install pm2 globally
npm install pm2 -g
Windows で pm2 を使用する前に、いくつかの作業を行う必要があります。
pm2フォルダー
C:NodeApps_pm2
PM2_HOME 環境変数
PM2_HOME
を作成し、値をC:NodeApps_pm2
にします。echo %PM2_HOME%
pm2にアプリを登録する
# enter the dir wher SoftEtherAdmin is installed
cd /srv/SoftEtherAdmin
# Register the app with pm2
pm2 start app.js --name " softetheradmin "
# If everything went fine, save the config
pm2 save
pm2からサービスを作成する
これは pm2-windows-service の助けを借りて行います。
# # Make sure, you do this in an ADMINISTRATOR cmd ##
# install
npm install -g pm2-windows-service
# Create the service
pm2-service-install -n PM2
次のようなセットアップの質問に答えてください。
Windows の手順については、Walter Accantelli に感謝します: https://blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75
詳細については、pm2 セクションをご覧ください。
アプリの構成は、 config
ノード モジュール (https://www.npmjs.com/package/config) によって処理されます。デフォルトでは、 config/default.json
ファイルを変更する必要があります。
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
どこ:
localhost
を使用してくださいc:\...\...
!)注: リポジトリのクローンを作成した場合は、 config/local.json
ファイルに構成を含めることをお勧めします。こうすることで、新しいバージョンのリポジトリをプルするときに、設定が上書きされなくなります。
構成ファイル関連の詳細情報は、https://github.com/lorenwest/node-config/wiki/Configuration-Files で参照できます。
pm2 は、node.js のプロセス マネージャーです。アプリを監視したり、サーバーの起動時に起動したりできます。
インストール:
npm install pm2 -g
pm2にアプリを登録する
pm2 start app.js --name " softetheradmin "
アプリの現在のステータスを確認する
pm2 show softetheradmin
pm2 が管理するすべてのアプリをリストする
pm2 list
アプリのpm2 stop softetheradmin
を停止し、 pm2 restart softetheradmin
再起動することもできます。
cd /srv/softetheradmin
node app.js
これにより、「 Server listening on port: <PORT>
」メッセージが表示されます。 <PORT>
は、 serverPort
構成設定の値です。アプリの起動または実行中にエラーが発生した場合は、ここに出力されます。
SoftEther VPN Server インストーラーとともに配布されるvpncmd
アプリケーションを使用します。以下に 2 つの例を示します。
これは Linux ボックス上で実行され、ハブのリストを取得します。
/usr/local/vpnserver/vpncmd < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /CMD HubList
これは Windows マシン上で実行され、選択したハブ上のscripts/vpncmd_hubinfofull.txt
ファイル内のすべてのコマンドを実行します。
" c:Program FilesSoftEther VPN Client Managervpncmd_x64.exe " < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /ADMINHUB: < HUBNAME > /IN: " scripts/vpncmd_hubinfofull.txt "
pm2 monit
プルリクエストはいつでも大歓迎です! :)