######20180926作成
レンタルVPS(Ubuntu)最初にやっておきたいこと
2GB Ubuntu8.04 64bit
スペック、安定性はさくらインターネットが最強
手軽に数時間とかかりるときはconohaサーバー
##★次のソフトをインストールして接続設定をしておくこと★
1.TeraTerm
2.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``
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」は好きなかなり複雑なパスワード
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:ファイルの中身が表示されるから次の例に従って全部設定する。例1
「#Port 22」という記載を探して「Port XPORTX」に書き換える。
「XPORTX」は好きな数字にすること。
例2
「PermitRootLogin」という記載を探して「PermitRootLogin no」という記載で
間違いないか確認する、異なる場合は書き換える
# ポート番号を 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は開けたいポート
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」でマイクラ画面から抜ける
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」
♯各種プラグインをアップロード→起動後に一度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導入(未整理、殴り書きメモ)
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
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