6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ConoHaでCentOS8のVPSを用意する

Posted at

#はじめに
縁あって、とある用途で使っていたVPSを移設することになりました。
移行先はConoHa
選定理由は色々あるけど、詳しくはかけないので省略。

個人的なおすすめ点を挙げるなら、
ConoHa応援団長の美雲このはちゃんが可愛いこと! → オフィシャルサイトはこちら
CVは上坂すみれさん。
私はすみっぺが声優デビューする前にKERAに出ていた頃からのファンなので、この点もポイントが高い。
また、ログイン後のコントロールパネルをこのはちゃん仕様にする「このはモード」が実装されているので、
ログインすればいつでもこのはちゃんと会えちゃいます!(会社では痛い目で見られることがあるけどね)
おっと、オタク語りが過ぎて、ただのキモオタおじさんになっていた。

本題に戻って、
今後、またサーバーいじる自分のために覚書の意を含めて記していきます。
ゴールについてはひとまず以下の通り。

  • CentOS8の最低限のセットアップ
  • 恐らく何かしらをするときに使うであろう以下のモノを用意
    • nginx
    • データベース
    • python

#早速設定をしていく
##今回やったこと
###VPSを立ち上げる
サイドメニューからサーバー追加をクリックすると構築情報入力画面に遷移する
今回はVPSを立てるので、VPSタブを選択
リージョン:東京(シンガポールも選べるが、東京の方が安い)
サーバープラン:今回は1GBを選びました
イメージタイプ:CentOS(8.0 64bit) ※現在8.1が最新
rootパスワード、VPSの名前を設定する
必要があればその他のオプションも設定する。
料金を確認して、問題なければ「追加」ボタンを押下する。

###OSの各ソフトウェアアップデート

yum update

###SELiuxの確認
確認したときは無効だったので、CONOHAではデフォでSELinuxが無効になっているようである。
しかし有効だとはまる原因になるので、一度自分の目で確認しておいて損はない。

getenforce
#SELinuxの無効化(必要な場合のみ)
setenforce 0

###FireWallが有効か確認

systemctl status firewalld
systemctl is-enabled firewalld

###時刻同期設定確認

systemctl status chronyd
systemctl is-enabled chronyd

###nginxの用意

yum install nginx
systemctl start nginx
systemctl enable nginx
systemctl status nginx
curl localhost

###Firewallの80ポートを開ける

firewall-cmd --add-port=80/tcp
firewall-cmd --runtime-to-permanent

ConoHaのコントロールパネルから サーバー>当該のサーバーを選択>ネットワーク情報>接続許可ポート
のチェックボックスが「全て許可」になっている事を確認する
※AWSで言うセキュリティグループ的なもの
 細かい設定をするにはAPIを叩かなければいけないので、
 任意のポートを開けるような設定をするときは少々めんどくさい
 本来は併用する方がセキュリティ的にはいいのかもしれないが、今回は未使用

設定後、Webサーバーに接続できるか、ブラウザから確認する。
ファイアーウォールやサーバーの設定が間違っているとつながらないはずなので、もしつながらなかったら、今までの設定を見直す。

###pythonのインストール
今回入れたConoHaのCentOS8はpython3.6が既に入っていた
pyまで入れてタブを打ってバージョンなどを確認
入っていなければyumで入れる(2系はサポートが終わっているので、3系が良い)

###pythonにエイリアスを付けておく
私はこれが使いやすいので、入れておくだけ

alias python=python3.6

###pipを入れる

curl https://bootstrap.pypa.io/get-pip.py -O
python get-pip.py

###dbのインストール
今回はmariadbを入れていきます。別に好きなDB入れてもらってかまわないです。mysqlでもぽすぐれでも

yum install mariadb
yum install MariaDB-server
systemctl start mariadb
systemctl status mariadb
systemctl enable mariadb
mysql

これでmysqlに入れるとこまで確認出来たので、続いて下記のコマンドを実行して中身を確認。

show dagtabases;
quit

###SSHポート変更
viでSSHで接続できるポートを増やしていきます。
注意するべきことは、まず「増やす」ということ。
一気に切り替えようとすると二度と接続できなくなることもあるので注意すること。
(なお、ConoHaにはWebコンソール機能が用意されているので、万が一の場合はこちらからアクセスを試みる)

vi /etc/ssh/sshd_config

---(変更前)
#Port 22
---
↓
---(変更後)
Port 22
Port 10022
---

firewall-cmd --add-port=10022/tcp
firewall-cmd --runtime-to-permanent
reboot

※ConoHaの許可ポートをいじっている場合は、10022も開けるように修正する。

SSHで10022で接続できることを確認する。
接続出来たら、22番ポートを閉じていく

vi /etc/ssh/sshd_config

---(変更前)
Port 22
---
↓
---(変更後)
#Port 22
---

###ユーザー作成

useradd username
passwd username

###作成したユーザーの昇格権を設定

usermod -G wheel username

vi /etc/pam.d/su

---(変更前)
#auth       required     pam_wheel.so use_uid
------(変更後)
auth       required     pam_wheel.so use_uid
---

ここまで設定出来たら、新しいユーザーでssh接続して、sudo su - が有効に実行できるか確認する。

###rootログイン制限

vi /etc/ssh/sshd_config
PermitRootLogin yes → no
systemctl restart sshd

##今回やらなかったこと
###セキュリティソフトの導入
本当は各種セキュリティソフト(tripwire,chkrootkit,Anitvirusなど)入れたほうが良い。
自分はあまり積極的に入れないが、重要度に応じてやればいいと思う。

###鍵認証によるログインの設定
こちらもセキュリティ的に設定したほうが良いのだが、今回は色々な理由から導入はいったん見合わせた。
なお、ConoHaではVPSを構築する際にSSH Keyを生成して設定しておいてくれる機能があるので、そちらを使うほうが便利である。

#まとめ

  • コントロールパネルなども使いやすく、思っていたよりも簡単に導入できた
  • 初期プリセットも無難になっておりパッと見では特に問題なさそう
  • このはちゃんがやっぱりかわいい
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?