「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>VM起動後の開発環境のセットアップ]]
--[[VM起動後の開発環境のセットアップ(Windows)]]
--VM起動後の開発環境のセットアップ(Linux)

*目次 [#j2413fcb]
#contents

*概要 [#k6bf2200]
ココの手順は、全て、Ubuntu18.04 LTSで行っています。

-クラウド環境に依存しないVM起動後のLinux開発環境のセットアップ。~
(と言いつつ、ユーザ名が、AzureUserになっているのはアレ)

-デスクトップは当該OSイメージにインストール済みだった。

-とりあえず、Ubuntuで[[dotnet開発する環境構築>Linuxの各種 手順#f67a87ad]]を目的にしても良いカモ。

-[[Hyper-V + Ubuntu Desktop>#eb4e9275]]は、ホストのスペックが無いとキツそう。

*事前の準備 [#d5928084]

**SSH [#r7796446]
以下のように接続する(CMD等から接続)。

-秘密鍵アリ
 ssh -i <秘密キーのパス> AzureUser@xxx.xxx.xxx.xxx

-秘密鍵ナシ
 ssh AzureUser@xxx.xxx.xxx.xxx

※ Azureの接続のSSHタブを参照するなど(AzureUserは既定のアカウント名)。

**初期設定 [#r43e1401]

***アップデート [#j0f4acbd]
-以下のコマンドを実行
 $ sudo apt update
 $ sudo apt upgrade -y
 $ sudo apt autoremove -y
 $ sudo apt autoclean -y
 $ sudo reboot

※ [[再接続>#r7796446]]

***タイムゾーン変更 [#p13318b2]
-以下のコマンドを実行
 $ sudo timedatectl set-timezone Asia/Tokyo

***日本語化 [#lf16770c]
-以下のコマンドを実行
 $ sudo apt install -y language-pack-ja-base language-pack-ja ibus-mozc fonts-takao-pgothic fonts-takao-gothic fonts-takao-mincho
 $ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
 $ source /etc/default/locale

***キーボードレイアウト変更 [#e513dd54]
-以下のコマンドを実行
 $ sudo dpkg-reconfigure keyboard-configuration

-ウィザードにて以下を指定。
--Generic 105-key PC (Intl.)
--日本語
--日本語
--キーボード配置のデフォルト
--コンポーズキーなし
--いいえ

**RDS [#x437df57]

***手順 [#y4d3a201]
-インストール

--インストール準備
 $ sudo apt update

--xfceのインストール
 $ sudo apt -y install xfce4
[[gdm3とlightdm>Linuxのデスクトップ環境]]の選択画面が~
表示されるので、[[lightdm>Linuxのデスクトップ環境#ja267d39]]を選択する。

--xfce4-sessionのインストール
 $ sudo apt install xfce4-session

--xrdpをインストール
 $ sudo apt -y install xrdp

-xrdpを構成する

--サービスの自動起動を有効化
 $ sudo systemctl enable xrdp

--セッションの開始時に使用するデスクトップ環境を xrdp に指定
 $ echo xfce4-session >~/.xsession

--ポート番号を変更する場合、

---設定ファイルを開き、
 $ sudo vi /etc/xrdp/xrdp.ini

---設定値を変更する。
 port=3389 ←ここの数値を任意のポートに変更

--xrdp サービスを再起動し、変更内容を有効にする。
 $ sudo service xrdp restart

-[[秘密鍵アリ>#r7796446]]の場合、パスワードを設定
 $ sudo passwd <現在のユーザー名>

-NSG受信セキュリティ規則~
リモート デスクトップ トラフィックにNSGルールを作成する
 >az vm open-port --resource-group <rgName> --name <vmName> --port <ポート番号>

-RDP接続を行う。~
接続からRDPを選択肢、RDPファイルをダウンロード、~
右クリック → 編集で、ユーザ名を入力して~
--「資格情報を保存できるようにする」のチェックをオンにして接続。~
--以降は、「資格情報を常に確認する」のチェックをオフにして接続。~
(そうすると、アカウント情報を、いちいち、手打ちする必要がなくなる)

***参考 [#o8b3b26c]
-Linux で xrdp を使用する - Azure Virtual Machines~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/use-remote-desktop

-AzureのLinuxマシンにリモートデスクトップで接続してみた | NE + Azure~
https://cloud.nissho-ele.co.jp/blog/azure_connect_xrdp/

-Azure VM (Ubuntu Server 20.04 LTS) に~
GNOME + TigerVNC + xrdp を導入、~
リモート デスクトップ接続を行う | 焦げlog~
https://kogelog.com/2020/05/12/20200512-01/

-Ubuntu 18.04にリモートデスクトップを構成してみる | cloud.config Tech Blog~
https://tech-blog.cloud-config.jp/2020-02-03-azure-vm-xrdp-install/

*インストール [#xd400887]

**Text Editor [#la5f716d]

***gedit [#z15a3bd9]
標準でインストールされている。

***Geany [#u62c1b10]
 $ sudo apt install geany

**WWW Browser [#q9d76ef4]

***Chrome [#z63cb19e]
 $ sudo wget --no-check-certificate https://dl-ssl.google.com/linux/linux_signing_key.pub
 $ sudo apt-key add linux_signing_key.pub
 $ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main " >> /etc/apt/sources.list'
 $ sudo apt update
 $ sudo apt install -y google-chrome-stable

***, etc. [#b75c00bc]

**Git [#v4b8ab42]

***手順 [#sd9b2197]
-インストール
 $ sudo apt install git
-確認
 $ dpkg -l git

-初期設定
 $ git config --global user.name [任意のユーザ名]
 $ git config --global user.email [任意のユーザ名]

-[[動作確認>Git#f825d4d1]]

***参考 [#u905f25a]
-UbuntuにGitをインストールする - Qiita~
https://qiita.com/tommy_g/items/771ac45b89b02e8a5d64

**Docker [#l2d9ece0]

***手順 [#d2b98d57]
-準備
--aptのアップデート
 $ sudo apt update

--HTTPSでrepositoryと通信するパッケージのインストール
 $ sudo apt install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common

--Dockerの公式GPG keyを追加
 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

--パッケージ・マネージャのリポジトリを追加
 $ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

--再度 aptのアップデート
 $ sudo apt update

-[[Docker]]のインストール

--インストール
 $ sudo apt install -y docker-ce

--確認
 $ docker
 ...

-一般ユーザでも sudo 無しでdockerを使えるようにする

--確認
 $ whoami
 AzureUser
 $ docker ps
 Got permission denied while...

--一般ユーザをDockerグループに追加

---確認
 $ cat /etc/group | grep docker
 docker:x:999:

---追加
 sudo gpasswd -a AzureUser docker

---確認
 $ cat /etc/group | grep docker
 docker:x:999:AzureUser

--使用するソケットを読み込み出来るようにする

---権限付与
 $ sudo chmod 666 /var/run/docker.sock

---確認
 $ docker ps
 CONTAINER ID  IMAGE  COMMAND  CREATED  STATUS  PORTS  NAMES

-[[Dockerコンポーズ]]のインストール

--準備

---リリースを確認~
https://github.com/docker/compose/releases

---バージョン番号の設定(変数に設定)
 export compose='1.26.0'

--インストール

---ダウンロードして
 $ sudo curl -L https://github.com/docker/compose/releases/download/${compose}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

---実行権限を付与し、
 $ sudo chmod 0755 /usr/local/bin/docker-compose

---確認(sodo無
 $ docker-compose -v
 docker-compose version 1.26.0, build d4451659

-[[動作確認>Docker#xbfee1d5]]~
docker-composeで、voting-appを起動した所。
#ref(1.png,left,nowrap,DockerOnLinux1,60%)

***参考 [#yac51e82]
-Ubuntu18.04にDockerをインストールする手順~
https://www.virment.com/ubuntu18-04-how-to-setup-docker/
-Ubuntu 18.04にDockerをインストールして使用する方法~
https://www.codeflow.site/ja/article/how-to-install-and-use-docker-on-ubuntu-18-04
-Ubuntu 18.04 LTS に Docker をインストールする | SIDfm™ VM ユーザガイド~
https://www.softek.co.jp/SID/support/sidfmvm/guide/install-docker-ubuntu1804.html

-Qiita
--Ubuntuにdockerをインストールする~
https://qiita.com/tkyonezu/items/0f6da57eb2d823d2611d
--Docker のインストール on Ubuntu~
https://qiita.com/ossan_pg/items/2d2ff8e9ee13ea32b3ab
--Ubuntu 18.04にDockerをインストールする(+docker-composeも)~
https://qiita.com/iganari/items/fe4889943f22fd63692a
--Hyper-V上のUbuntu 18.04LTSにdockerインストール~
https://qiita.com/mfunaki/items/be04a6082272bb7e6100

**WWWサーバ [#lc5c62cf]

***[[ローカル>Linuxの各種 手順#s1b5681a]] [#jc55fb21]

***コンテナ [#cd2035ce]

**DBMS [#bfd4056f]

***[[ローカル>Linuxの各種 手順#dd27e8e6]] [#f930c3c7]

***[[コンテナ>#r919f9a4]] [#s49aaab7]

**統合開発環境 (IDE) [#b3881ad7]

***Node.js [#u3ffb2e6]
-以下でインストール可能とあるが
 $ sudo apt install nodejs -y
 $ sudo apt install npm -y

-調べてみると、バージョンが古い。
 $ npm -v
 3.5.2
 $node -v
 v8.10.0

- n package を導入
 sudo npm install n -g

-n package を使って node をインストール
 $ sudo n stable

-最初に入れた nodejs, npm を削除。
 $ sudo apt purge -y nodejs npm

-ターミナルを再起動し、バージョンを確認する。
 $ npm -v
 6.14.5
 $node -v
 v12.18.1

***Visual Studio Code [#xa15e19f]
 $ curl -L -o vscode.deb https://go.microsoft.com/fwlink/?LinkID=760868
 $ sudo apt install -y ./vscode.deb

-参考
--UbuntuにVSCodeをインストールする3つの方法 - Qiita~
https://qiita.com/yoshiyasu1111/items/e21a77ed68b52cb5f7c8

***.NET Core SDK or Runtime [#f8a6bda9]
- Linux リポジトリを構成
 wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
 sudo dpkg -i packages-microsoft-prod.deb

-SDK のインストール
 sudo apt-get update; \
   sudo apt-get install -y apt-transport-https && \
   sudo apt-get update && \
   sudo apt-get install -y dotnet-sdk-3.1

-ランタイムをインストール
 sudo apt-get update; \
   sudo apt-get install -y apt-transport-https && \
   sudo apt-get update && \
   sudo apt-get install -y aspnetcore-runtime-3.1

-参考
--Ubuntu に .NET Core をインストールする - .NET Core | Microsoft Docs~
https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-ubuntu

***参考 [#zc77ff34]
-簡単にUbuntuにVSCode (Visual Studio Code) をインストールする方法 | カレリエ~
https://www.karelie.net/install-vscode-ubuntu/
-UbuntuにVisual Studio Codeをインストールしてみた | あんらぶぎーくどっとこむ~
https://anlovegeek.com/ubuntu-install-vscode/

-Qiita
--Node.js
---Ubuntuに最新のNode.jsを難なくインストールする~
https://qiita.com/seibe/items/36cef7df85fe2cefa3ea

--Visual Studio Code
---UbuntuにVSCodeをインストールする3つの方法~
https://qiita.com/yoshiyasu1111/items/e21a77ed68b52cb5f7c8
---ubuntu 18.04にvscodeをインストールする~
https://qiita.com/yoshiyasu1111/items/e4db676e846897f8d554
---Ubuntu 18.04 をRDP接続し日本語化してVisual Studio Codeを使用するまで~
https://qiita.com/y_ohr/items/67ddc580f9d47f87b061

*追加の動作確認 [#v677a7ee]

**[[EvaluateAspNetCoreOnDocker/LocalServices>https://github.com/daisukenishino2/EvaluateAspNetCoreOnDocker/tree/master/LocalServices]]を実行してみる。 [#r919f9a4]
が動くかどうか?

Readmeの手順を、そのまま、~
Linux VM上で実行してみた。

#ref(2.png,left,nowrap,DockerOnLinux2,60%)

...ボチボチ動くっぽい。

**WebApplication1+[[Dockerコンポーズ]]を実行してみる。 [#r26fd095]

***Windows上で準備 [#s4c26832]

-WebApplication1を新規作成

-Dockerサポートを追加し、

-[[「コンテナー オーケストレーター」の Docker Compose を選択>https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%20Tools%20for%20Docker#z92ecb75]]

-docker-compose.override.ymlを削除し、~
docker-compose.ymlを以下のように変更する。
 version: '3.4'
 
 services:
   webapplication1:
     image: ${DOCKER_REGISTRY-}webapplication1
     build:
       context: .
       dockerfile: WebApplication1/Dockerfile
     ports:
       - "5000:5000"

-HTTPSで起動しないようにHTTPの5000に固定する(Program.cs)。
 public static IWebHost BuildWebHost(string[] args) =>
     WebHost.CreateDefaultBuilder(args)
         .UseStartup<Startup>()
         .UseUrls("http://0.0.0.0:5000/")
         .Build();

-これは、以下のエラーを封じるため。~
(HTTPSで起動するには証明書を作成する必要があるらしい)
 Unable to start Kestrel.

-参考
--ASP.NET CoreをUbuntu18.04 LTSで動かしてみたよ~ - Qiita~
https://qiita.com/jiey@github/items/4d08c341ca3b9239b15f
--linux - Unable to start Kestrel.~
System.IO.IOException: Failed to bind to address~
http://127.0.0.1:5000: address already in use - Stack Overflow~
https://stackoverflow.com/questions/55143246/unable-to-start-kestrel-system-io-ioexception-failed-to-bind-to-address-http

***ZIPしてWindows → Linuxへ [#m1d7c411]

-Windows上で圧縮し、

-unzipのインストールは以下
 $ sudo apt install unzip

-Linux上で解凍
 unzip WebApplication1.zip

***起動(docker-compose up -d) [#c7336540]
-起動

--いつものコマンドで起動できる。
 docker-compose up -d

--リビルドする場合、「--build 」オプションを指定する。
 $ docker-compose up --build -d

-以下のように画面が起動する。~
(Home page が Hoge pageになっている)
#ref(3.png,left,nowrap,DockerOnLinux3,50%)

**WebApplication1を新規作成してdebug込みのlaunchを構成する。 [#k7292bfa]

***Windows上での手順 [#ldad410e]
-プロジェクト名と同名のフォルダを作成する。

-作成したフォルダに cd する。

-dotnet new mvc する。
 >dotnet new mvc
 The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
 This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore/3.1-third-party-notices for details.
 
 Processing post-creation actions...
 Running 'dotnet restore' on C:\Users\nishi\source\repos\WebApplication1\WebApplication1.csproj...
   C:\Users\nishi\source\repos\WebApplication1\WebApplication1.csproj の復元が 172.54 ms で完了しました。

-dotnet run する。~
コレで launch.json 等が自動生成される模様
 >dotnet run
 info: Microsoft.Hosting.Lifetime[0]
       Now listening on: https://localhost:5001
 info: Microsoft.Hosting.Lifetime[0]
       Now listening on: http://localhost:5000
 info: Microsoft.Hosting.Lifetime[0]
       Application started. Press Ctrl+C to shut down.
 info: Microsoft.Hosting.Lifetime[0]
       Hosting environment: Development
 info: Microsoft.Hosting.Lifetime[0]
       Content root path: C:\Users\nishi\source\repos\WebApplication1
 info: Microsoft.Hosting.Lifetime[0]
       Application is shutting down...

-URLにアクセスして動作確認する。

-VS Codeで、フォルダを開く。

-[Run]に移動し(Ctrl + Shift + D)、以下を押下。
 To customize Run and Debug [create a launch.json file].

-[.NET Core] を選択する(存在しない場合、[[C#のExtension>https://techinfoofmicrosofttech.osscons.jp/index.php?CSharp%20for%20Visual%20Studio%20Code]]をインストール)。

-[Start Debugging]で、Debug実行を開始する。

***Linux上での手順 [#h73e5287]
-[[Windows上での手順>#ldad410e]]とほぼ同様だが、
 Unable to start Kestrel.
の問題のために、そのままでは、dotnet run できない。

-HTTPSで起動しないようにHTTPの5000に固定する(Program.cs)。
 public static void Main(string[] args)
 {
   CreateHostBuilder(args).Build().Run();
 }
 
 public static IHostBuilder CreateHostBuilder(string[] args) =>
   Host.CreateDefaultBuilder(args)
     .ConfigureWebHostDefaults(webBuilder =>
     {
       webBuilder.UseStartup<Startup>()
         .UseUrls("http://0.0.0.0:5000/");
     });

-そして、[Start Debugging]で、Debug実行を開始できる。

*以降のバージョン [#b8dd5203]
Ubuntu18.04 LTS以降

**Ubuntu 20.04 LTS [#v624729e]

***[[初期設定>#r43e1401]] [#g89cd1d4]
-以下が表示されたので、
 sshd_config: A new version (/tmp/filehV7Xqu) of configuration file /etc/ssh/sshd_config is available, but the version installed currently has been locally modified.

-一覧中から、以下を選択した。
 keep the local version currently installed

***[[RDS>#x437df57]]への接続 [#y464ac94]
変更はなさそう。

**Ubuntu 22.04 LTS [#gd249de1]
普通に使ってましたケド、メモなしです。

**[[Ubuntu 24.04 LTS>#n1f3a6b6]] [#y8ae3bf6]

*参考 [#cb6115c2]

**[[Linux]] [#kf107ffb]
***[[vi]] [#zac078a3]
***[[各種 基礎>Linuxの各種 基礎]] [#i725c86f]

**apt-get、apt [#kc78299f]
-apt と apt-get の違い | rs-techdev~
https://rs-techdev.com/archives/151
-パッケージ管理コマンド aptとapt-getの違い - Qiita~
https://qiita.com/quzq/items/8e47414bf95d1fcfa24a

-aptコマンドはこれまでのapt-getなどと比べて何が楽になるか~
https://yutarine.blogspot.com/2017/07/apt-aptget-compare.html

**Hyper-V + Ubuntu Desktop [#eb4e9275]
-Windows 10 Pro Hyper-V に Ubuntu 18.04 LTS をインストール - Qiita~
https://qiita.com/mfunaki/items/9e2901936b04f00f9cd7

-Windows上にUbuntuのVMを立ててVSCodeでつないで開発環境にする | Qrunch(クランチ)~
https://qrunch.net/@eaaaaaaaaaaai/entries/uCUJJeskp2em19Ou

-Ubuntu 18.04 LTS Desktop をインストールする方法 | SEECK.JP サポート~
https://kb.seeck.jp/archives/8056

**Ubuntu Japanese Team [#rd6ad7d7]
ubuntu-ja-18.04.3-desktop-amd64.iso を取得。

-Ubuntu 18.04 LTS 日本語 Remix リリース~
https://www.ubuntulinux.jp/News/ubuntu1804-ja-remix
-Ubuntu Desktop 日本語 Remixのダウンロード~
https://www.ubuntulinux.jp/download/ja-remix

**[[Ubuntu 24.04 on Azure via Bastion 2025/2/27]](Python) [#n1f3a6b6]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS