マイクラ鯖かりるときに最初にやっておきたいことメモ

######20180926作成
レンタルVPS（Ubuntu）最初にやっておきたいこと
--------------------------------------------------------
2GB Ubuntu8.04 64bit
スペック、安定性はさくらインターネットが最強
手軽に数時間とかかりるときはconohaサーバー

##★次のソフトをインストールして接続設定をしておくこと★
１．TeraTerm
２．WinSCP`

`※注意※
  rootパスワードは難しくすること！！！！！
  root自体は後で行う初期設定で利用不可にする！`
  
【memo】
------------------------------------------------
  ・Ubuntuとは・・・UNIX系のOSの一つ、有名なOSにはWindowsやMacなどが存在する
  ・rootとは・・・全権ユーザー、ありとあらゆるファイルの操作、コマンドの実行が可能
  ・コマンドとは・・・コンピュータに特定の機能の実行を指示する命令
  ・IPアドレスとは・・・インターネット上の住所、家
  ・ポートとは・・・IPアドレスが住所「家」であれば、ポートは外に出る・外から入る
                   「扉（ドア）」。IP＋ポート＋ユーザー名＋パスワードで家に入る
                   
【利用ソフト説明】
---------------------------------------------------------
  ・teraterm ・・・VPSにつないで命令を出すためのソフト
  ・winSCP ・・・UNIXOSのファイル操作をWindowsのファイルブラウザ感覚で操作できるソフト
  
【コマンド説明】
---------------------------------------------------------
  ・sudo ・・・管理者権限で命令を実行させるおまじない
  ・apt-get ・・・インターネットを通じてアプリをダウンロードさせる命令文
  ・updete ・・・アプリを更新させる命令文
  ・install ・・・アプリをインストールさせる命令文
  
【よく出てくる文言の対処】
---------------------------------------------------------
  ・y/n ・・・「YESかNOで答えろ！！」という意味「y」もしくは[n」の一文字を
               打ち込んでENTERキーを押すと処理が進む。
               
【よく使うコマンド】
---------------------------------------------------------
  ・ls ・・・おなじ階層のフォルダを確認する。「ls」と打ち込んでエンター
  ・cd.. ・・・ひとつ前の階層に移動する
  ・cd XXXX ・・・XXXXというフォルダに移動する
  ・mkdir XXXX・・・XXXXというフォルダを作成する
  ・rm XXXX ・・・XXXXというフォルダやファイルを削除する


##①UbuntuServerアップデートその他以下のコマンド実行
>いままでインストールの必要がでたもの一覧
★次のコマンドを実行して全部インストールすること（不要なものも多いかも）
★日本語が文字化けしないためのアプリやセキュリティ、マイクラやTS関連のアプリが含まれる
★途中でy/nがでた場合は基本的に「y」でOK``
　

```ruby:↓コマンド↓
sudo apt-get update
sudo apt install mono-runtime-sgen
sudo apt-get install mono-complete
sudo apt-get install mysql-server php php-mysql apache2 libapache2-mod-php
sudo apt-get install ufw
sudo apt-get install nano
sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo apt-get install screen
sudo apt install unzip
sudo apt-get update
sudo apt-get -y install iptables
sudo apt-get -y install vim
sudo apt-get install language-pack-ja
sudo dpkg-reconfigure locales
sudo update-locale LANG=ja_JP.UTF-8
sudo apt-get install logwatch 
sudo apt-get install sshguard 
```
##②sudoユーザーの追加
>★通常ログインに利用するユーザーを追加する（もちろん管理者権限）
★rootを通常ログインに使用しているとサーバーは簡単に乗っ取られる（rootで総当たりされるから）
★適当に借りたサーバーも中国韓国米国経由で毎日総当たり攻撃を受けてる（ログウォッチで把握してる）
★mysqlとかteamspeakとかよくあるユーザー名も総当たりされるから気を付けること
★「XUSERX」は好きなユーザー名
★「XPASSWORDX」は好きなかなり複雑なパスワード

```ruby:↓コマンド↓
sudo useradd -m -d /home/XUSERX -s /bin/bash XUSERX
sudo passwd XPASSWORDX
sudo gpasswd -a XUSERX sudo 
```

##③コンフィグファイルの修正
>ここからはセキュリティ設定だよ、サーバーの設定ファイルを直接書き換えていく

>>③-1:次の「nano」というアプリで設定ファイル編集するための命令文を実行
>>　　　sudo nano /etc/ssh/sshd_config
>>③-2:ファイルの中身が表示されるから次の例に従って全部設定する。
>>
>>例１
>>  「#Port 22」という記載を探して「Port XPORTX」に書き換える。
>>  「XPORTX」は好きな数字にすること。
>>例２
>>  「PermitRootLogin」という記載を探して「PermitRootLogin no」という記載で
>> 　間違いないか確認する、異なる場合は書き換える

```ruby:【設定内容】
   # ポート番号を 22 (デフォルト)からXPORTXへ変更する
   #Port 22
   Port XPORTX
   ...
   # rootでのログインを不可とする
   PermitRootLogin no
   ...
   # パスワードでのログインを許可する
   PasswordAuthentication yes
   ...
   # パスワードなしでのログインを不可とする
   PermitEmptyPasswords no
   ...
```

   
   >>③-3：設定が完了したら「Ctrl」＋「O」キーを押下する。
   >>　　　ファイル名を確認してくるのでそのまま「ENTER」キーを押下
   >>③-4：ファイルの保存が完了したら「Ctrl」＋「X」キーを押下して編集画面から離脱する
   >>
   >>memo
    >> Ctrl + O 保存
    >> Ctrl + X 離脱

##④設定内容の反映
次のコマンドを実行してシステムコントロールをリスタートする
sudo systemctl restart ssh

##⑤接続確認、次の確認を実施すること
  1.TeraTermを再起動して、rootユーザーとポート「22」でログインできなくなってくることを確認すること
  2.TeraTermを再起動して、rootユーザーと新しく設定したポート「XPORTX」でログインできないことを確認すること
  2.TeraTermを再起動して、新しく作成しユーザーと新しく設定したポートでログインできること

##⑥ファイアーウォールの設定
>ポートをたくさん開いてるとそれだけで乗っ取られる危険が高くなる
>必要なポート以外は全部閉じている
>TSやマイクラやWEBサイトに必要なポートだけを開けている
>新しくアプリを使うときポートを開く必要がでたときは「sudo ufw allow XPORTX」コマンドで開くこと。
>XPORTXは開けたいポート

```ruby:↓次のコマンド全部実行↓
sudo ufw status
sudo ufw default deny
sudo ufw enable
sudo ufw allow http
sudo ufw allow https
sudo ufw allow XPORTX ←③のデフォルトポートの変更で設定したポート
sudo ufw allow 80
sudo ufw allow 25565
sudo ufw allow 9987/udp
sudo ufw allow 10011/tcp
sudo ufw allow 30033/tcp
sudo ufw allow 8123/tcp
```

##⑦マイクラ導入
>⑦-1：ディレクトリ「home/XUSERX」まで移動する。（XUSERXは最初に作ったユーザー名）
>⑦-2：ディレクトリ「home/XUSERX」でコマンド「mkdir minecraft」実行して
>　　「minecraft」ディレクトリを作成する。
>⑦-3：コマンド「cd minecraft」を実行して「home/XUSERX/minecraft」ディレクトリに移動する。
>⑦-4：WinScpを利用してマイクラを起動するためのJARファイルとプラグインを配置する
>⑦-5：次のコマンドを実行してマイクラを起動する（初回はちゃんと起動できない）
>⑦-6：マイクラが落ちるので、コマンド「ls -l」で「eula.txt」というファイルが作成されたことを確認する。
>⑦-7：WinScpを利用して「eula.txt」を編集する。テキスト内の「false」という単語を「true」に変更して保存
>⑦-8：次のコマンドを実行してマイクラを立ち上げる
>JARファイルが配置されている「home/XUSERX/minecraft」ディレクトリで実行する必要がある
「screen -AmdS minecraft java -Xms1024M -Xmx1024M -jar spigot-1.13.1.jar nogui」
　　　↑　　　　　　　↑　　　　　　　　↑ 　　　　↑　　　　　　↑　　　　　↑
screenソフト　　この名前で起動　　最小メモリ　最大メモリ　JARファイル名　GUIは起動しないという命令
>⑦-9：無事起動が完了したことを確認する
>⑦-10：「ctrl」＋「a」＋「d」でマイクラ画面から抜ける
  
```ruby:【起動】
      screen -AmdS minecraft java -Xms1024M -Xmx1024M -jar XXXXXXX.jar nogui
```
※「home/XUSERX/minecraft」ディレクトリで実行する必要がある
※ XXXXXXX.jarは配置したJARファイル名で書き換える
※ -Xms1024M -Xmx1024Mはマイクラに許可するメモリ量（1GB）、増やすほど快適になるが、
　　サーバーのメモリの半分が目安、それ以上設定するとメモリ足りずに落ちる。
　　2GB→-Xms2048M -Xmx2048M
　　4GB→-Xms4096M -Xmx4096M
          
  【マイクラ画面からの離脱】
      ・「ctrl」＋「a」＋「d」
      
  【マイクラ画面に入る】
      ・screen -r minecraft
      
  【起動中のscreen一覧確認】
      . screen -r
      
  【マイクラを落とす】
      ・「ctrl」＋「c」

```ruby:memo
    ♯各種プラグインをアップロード→起動後に一度eula.txtをTRUEにする
    screen -AmdS minecraft java -Xms1024M -Xmx1024M -jar spigot-1.13.1.jar nogui
    screen -r minecraft
    dynmap fullrender world
    ♯http://xxx.xxx.xxx.xxx:8123/
```
    
##⑧TS導入（未整理、殴り書きメモ）
```ruby:↓最初にTS鯖たてたときのコマンド↓
wget http://dl.4players.de/ts/releases/3.0.11.2/teamspeak3-server_linux-amd64-3.0.11.2.tar.gz
tar xzf teamspeak3-server_linux-amd64-3.0.11.2.tar.gz
sudo mv teamspeak3-server_linux-amd64 /usr/local/teamspeak
sudo chown -R XUSERX:XUSERX /usr/local/teamspeak ←XUSERXはユーザー名
sudo ln -s /usr/local/teamspeak/ts3server_startscript.sh /etc/init.d/teamspeak
sudo update-rc.d teamspeak defaults
sudo chmod 777 /usr/local/teamspeak/logs←ログファイルを読めるようにする（toenが必要なので）
sudo service teamspeak start
sudo service teamspeak stop
```

ログファイルからこんな感じの文章さがしてtokenを確認する
 token=?XXXX?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

```ruby:↓鯖が古くなったので更新したときの手順メモ↓
teamspeak3-server_linux_amd64-3.3.0.tar.bz2←インターネットからDLしたやつをWinSCPで配置
tar -jxvf teamspeak3-server_linux_amd64-3.3.0.tar.bz2←配置したフォルダで実行（解凍）
sudo rm -R /usr/local/teamspeak_20170220
sudo service teamspeak stop
sudo rm -R /usr/local/teamspeak
sudo mv -f teamspeak3-server_linux_amd64 /usr/local/teamspeak
sudo mv -f teamspeak /usr/local/teamspeak
sudo ln -s /usr/local/teamspeak/ts3server_startscript.sh /etc/init.d/teamspeak
sudo update-rc.d teamspeak defaults
sudo chmod 777 /usr/local/teamspeak/logs
.ts3server_license_acceptedというファイルを作成し、中にlicense_accepted=1と記載
/usr/local/teamspeak/ts3server_startscript.sh start
service --status-all
```

##⑨mysql導入（未記入）
##⑩nginx導入（未記入）
##⑪play導入サイト構築（未記入）
##⑫SVN導入（未記入）
##⑬ログウォッチの設定（メモレベル）
↓設定ファイル↓
sudo nano /usr/share/logwatch/default.conf/logwatch.conf
↓参考サイトメモ↓
https://www.server-memo.net/tips/server-operation/logwatch.html
http://vogel.at.webry.info/201306/article_10.html