今までLinuxサーバでC#使えんかったけど、.NET CoreでC#できるようになったで。
それにSQL ServerもLinux版が出たからセットで試すで。
とりあえず、Vagrant使ってCentOS7.2を動かしてるところからスタートやで。
.NET Core
.NET Core SDKインストール
とりあえず、インストール方法の説明サイト(CentOS用)を参考にするで。
https://www.microsoft.com/net/core#linuxcentos
インストール
# ライブラリインストール
$ sudo yum install libunwind libicu
# インストールモジュール取得
$ curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843449
# インストール先ディレクトリ作成&解凍
$ sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
# シンボリックリンク貼り
$ sudo ln -s /opt/dotnet/dotnet /usr/local/bin
※モジュール取得のURLは変更になる場合があるさかい、その都度リンク先を確認してや。
インストール確認
$ dotnet
と、打つと
Microsoft .NET Core Shared Framework Host
Version : 1.1.0 #←※ここでバージョン確認やで
Build : 928f77c4bc3f49d892459992fb6e1d5542cb5e86
Usage: dotnet [common-options] [[options] path-to-application]
Common Options:
--help Display .NET Core Shared Framework Host help.
--version Display .NET Core Shared Framework Host version.
Options:
--fx-version <version> Version of the installed Shared Framework to use to run the application.
--additionalprobingpath <path> Path containing probing policy and assemblies to probe for.
Path to Application:
The path to a .NET Core managed application, dll or exe file to execute.
If you are debugging the Shared Framework Host, set 'COREHOST_TRACE' to '1' in your environment.
To get started on developing applications for .NET Core, install the SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
と出ればOKやで。
ひな形作成
アプリケーションのひな形作成にはdotnet new コマンドや。
とりあえず、newコマンドの説明な。
$ dotnet new [arguments] [options]
SQL Server On Linux
Vagrant設定
※SQLServer on Linuxの動作には3.25GB以上のメモリを積んだマシンが必要やで。
Vagrantファイルを修正しといてや。
config.vm.provider "virtualbox" do |vb|
# Customize the amount of memory on the VM:
vb.memory = "4096" #←適当に数値変えてや
end
インストール
とりあえず、ここを参考に進めていくで。
https://docs.microsoft.com/sql/linux/sql-server-linux-setup-red-hat
※vagrant上のvagrantユーザーでコマンドたたくからroot権限関連で差異があるさかい、注意な。
$ curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > mssql-server.repo
$ sudo cp mssql-server.repo /etc/yum.repos.d/mssql-server.repo
$ sudo yum install -y mssql-server
初期設定
SQLServerのsaアカウントのパスワード設定やで。
8文字以上で大文字小文字が混在していないとアガンみたいやで。
$ sudo /opt/mssql/bin/mssql-conf setup
起動確認
$ sudo systemctl status mssql-server
#もし起動してなかったら
$ sudo systemctl start mssql-server
ポート開放
1433番ポートの解放が必要やで。
firewalldつこうてる場合は下記のコマンドうってや。
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
ms-toolsインストール
そのままやと、SQLServer操作できひんからツールのインストールや。
https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-setup-tools#RHEL
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo > prod.repo
$ sudo cp prod.repo /etc/yum.repos.d/msprod.repo
$ sudo yum update
# 一旦↓を削除しないとアカンみたいやで
$ sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
$ sudo yum update
# んで、インストール、途中でライセンスに同意する"YES"を2回タイプしないとアカンで。
$ sudo yum install mssql-tools unixODBC-devel
# PATHに追加や。
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
$ source ~/.bashrc
これでsqlcmdが使えたらOKやで。
$ sqlcmd -S localhost -U SA -P '<YourPassword>'
WindowsのVisualStudio2017から接続
※この部分は失敗したから無視してや。(今後の為に残しておく)
※ふつうにSQLServerManagementStudioで接続できるで。
VisualStudioのサーバエクスプローラーから接続する際は
「互換性のないバージョンのSQL Serverが検出されました。」のエラーがでるからツールのインストールや。
ここのページは2015用やけど、下に2017の場合は
https://msdn.microsoft.com/library/mt204009.aspx
SQL Server Data Tools (16.5) のダウンロードリンク(VS2017の場合は不要)
https://msdn.microsoft.com/mt186501
DacFx と SqlPackage.exe (16.5) のダウンロードリンク
https://www.microsoft.com/ja-JP/download/details.aspx?id=54106
「Visual Studio 2017 で SSDT を使用する場合は、AS コンポーネントと RS コンポーネントをインストールします。」とあるで。
つうわけで、下の二つのツールをダウンロードしてインストールしてや。
Microsoft Analysis Services Modeling Projectsのダウンロードリンク
https://marketplace.visualstudio.com/items?itemname=probitools.microsoftanalysisservicesmodelingprojects
Microsoft Report Projects for Visual Studioのダウンロードリンク
https://marketplace.visualstudio.com/items?itemname=probitools.microsoftreportprojectsforvisualstudio
※ダブルクリックでVSIXインストーラーが立ち上がるで。
その他WEB関連設定
nginxのリバースプロキシ設定
# インストール
$ sudo yum --enablerepo=epel -y install nginx
$ sudo yum install -y nginx
# 設定ファイルバックアップ
$ sudo cp -p /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.org
# 設定ファイル修正
$ sudo vi /etc/nginx/conf.d/default.conf
で、プロキシ設定や。
https://www.server-world.info/query?os=CentOS_7&p=nginx&f=6
このあたり参考にしてや。
HTTPポートの開放
firewalldつこうてる場合は、80番ポート開放してや。
# HTTPポート開放
$ sudo firewall-cmd --add-service=http --permanent
# リロード
$ sudo firewall-cmd --reload