LinuxサーバーにASP.NET Coreアプリをデプロイする
現在、XServerにWordPressブログを作成している
本記事では、サブドメインを切ってASP.NET Core Webアプリケーションをデプロイする
記事中で取り扱うトピック - Linux - CentOS - .NET Core
サブドメインを作成
まずXServerの管理画面にログインして、サーバーパネルからサブドメイン設定を開く

[サブドメイン設定追加]でサブドメインを入力し、設定する(※反映まで少し時間がかかる)
SSH接続でログイン
次にサブドメインのフォルダにSSH接続でログインする
事前にSSH設定を行う
サーバーID、公開鍵認証用鍵ペアの生成に使用したパスフレーズが必要となる為、控えておく

ログインにはTera Termを使用する(インストールはプロジェクトページから)
Tera Termの接続方法は、公式ドキュメントが詳しいので割愛

ログインに成功すると、以下のようにターミナル(黒い画面)が表示される
シェルを確認
cat /etc/os-releaseコマンドで、Linuxのバージョン情報を確認
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOSのバージョン7という事がわかったので、Microsoftの公式ドキュメントを参考に.NETをインストールする
ただ、以下のドキュメントの方法はsu doが使えるLinuxのみ参考にできる
https://learn.microsoft.com/ja-jp/dotnet/core/install/linux-centos
XServerは共用サーバーなので、su doコマンドを実行しても「許可がありません」と表示される
su -でスーパーユーザーになれない(パスワードが分からない)ため、権限の問題でこの方法は使えない
dotnet-install スクリプト
dotnet-installであれば、XServerでもインストール可能
インストール用のディレクトリ作成
wegetを使用してdotnet-install.shダウンロード
dotnet-install.shスクリプトに実行権限を付与
最新のLTS SDKをインストールする
dotnetコマンドを環境変数に設定する
この段階でdotnetを実行するとエラーとなる
$ dotnet
dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by dotnet)
dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by dotnet)
これは、dotnetランタイムが必要としているライブラリGlibcのバージョンが古いことが原因で発生している
Glibcは、C言語の標準ライブラリ
参考:Glibc
現在のlibcのバージョンを確認
バージョン確認は、RPMパッケージマネージャーを使っても調べることができる
Glibcのアップデート
作業用ディレクトリ作成
※工事中
補足
Linuxのターミナルでは、Ctr + cでのコピーやCtr + vでのペーストが使えない
- コピーには、Ctrl + Insertを使用
- ペーストは、Shift + Insertを使用