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
を使用