This is a Pen

プログラミングとITと日記

ubuntu好きがさくらVPSにCentOS7を入れてみた話

どうもマツケンです。
今回は不慣れながらさくらVPSにCentOS7を入れた際のメモをそのまま記事としてあげます

VPS構成

  • 1GBメモリ 30GB

CentOS7 インストール

  1. sakuraVPSコントロールパネルから選ぶ
  2. minimal install
  3. partitionを決める
  4. rootパス設定/ユーザー作成

  5. 上記 参考サイト様

shell内での作業順

CentOS7をインストールするにあたって行った手順を下記にて記す

  • rootではないユーザ作成usermod -G wheel ユーザ名
  • SELinuxを一時的に無効 setenforce 0 getenforce vi /etc/sysconfig/selinux
  • ssh port設定
  • vi /etc/ssh/sshd_config ユーザ設定
  • vi /etc/sudoers USERNAME ALL=(ALL) ALL
  • 公開鍵設定
    /.ssh/config
  • SELinuxによるポート変更時の設定 参考サイト
  • SELinux が有効な場合にポート設定がややこしい。
  • semanageコマンドが使用できない場合に下記のパッケージを入れる
  • sudo yum install policycoreutils-python
  • sudo semanage port -l | grep sshd

    semanageとは?

  $ sudo semanage port -a -t ssh_port_t -p tcp <任意のポート番号>
  $ sudo systemctl restart sshd
  $ sudo semanage port -l | grepp <ポート番号>
  ssh_port_t tcp <ポート番号>,22
  

semanageオプション解説

コマンド オプション 意味
semanage port -a (--add)○○のタイプを持つオブジェクトをレコードに追加する
上記と同じ -t TYPE (--type)オブジェクトの型?を定義する
またもや同様 -p プロトコル 特定のポートのプロトコル(tcp/udp/ipv4/ipv6)
  • ssh用ポートを変更後接続できるか確認する
  • 出来ない場合firewall設定確認する
  • ss -t -l -n でソケット状況が確認できる

ssオプション解説

コマンド オプション 意味
ss -t TCPソケットのみを表示
上記と同じ -l LISTENしているソケットを表示
またもや同様 -n service名で書かれているものをNUMERるIC(数字)で表す
  • systemctl | grep firewalldでfirewall状況を確認
    firewalld.service loaded active running firewalld - dynamic firewall daemonで起動していることを確認
  • 次にfirewalldの設定ファイルを配置/変更する
 
 $ sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services
 $ sudo vi /etc/firewalld/services/ssh.xml
 $ sudo firewall-cmd --reload
 $ sudo firewall-cmd --list-all
 $ sudo systemctl restart sshd.service
 

ここまで実行すれば変更したポート番号でssh接続が可能なはず

自分の場合ここでエラーが発生した。ECDSA host key~ うんたらってやつ。
ssh-keygen -R <IP番号>ローカルのknown_hostに登録されているレコードを削除し、接続しなおすことで治った。

firewall設定

#サービス(ポート)を確認
$ firewall-cmd --list-services

#webサーバーのポートを開く
$ firewall-cmd --add-service=http
success

#再起動後も開くように
$ firewall-cmd --permanent --add-service=http

#現在利用可能なサービスを確認
$ firewall-cmd --list-services

#現在利用可能なポートの確認
$ firewall-cmd --list-ports
  • pop3やmailなどの必要なポートは--add-serviceで追加する必要がある
  • firewall-cmd --get-servicesで指定できるサービスを確認できる

TODO:いまいちSELinuxとfirewalldの関係性を理解していないため、メモル。(´◉◞౪◟◉)

不要サービス(デーモン)を停止する

今回インストールしたCentOS7はminimal構成もあり、サービスは最小限に抑えられてるはず。はず。 んで、サービス(デーモン)はsystemctlを使用して確認する

#サービスの状態を確認する
$ systemctl stauts <サービス名>.service
$ systemctl stop <サービス名>.service
#再起動後も起動しないように設定
$ systemctl disable <サービス名>.service

#たぶんサービス一覧表示
$ ls /etc/systemd/system/multi-user.target.wants|grep \.service
#たぶんサービス一覧(disableも含)
$ ls /usr/lib/systemd/system|grep \.service

日本語に対応させる

#localectl コマンドを使用する
$ localectl

#設定可能な言語を表示
$ localectl list-locales | grep ja

#設定する
$ localectl set-locale LANG=ja_JP.utf8

皆大好きvimを入れる

  • yum -y install vim

bash_profileを編集する

$ vim ~ユーザー名/.bash_profileを編集する

#13行目あたりに
PATH=$PATH:$HOME/bin:/sbin:/usr/sbin

alias vi='vim'

export PATH
  • 多少の中身の違いはありかと思いますが、PATHはコロン(:)で区切られています
  • alias についてはここに直接書かず、シェル上に書いても認識されたはず。確認方法はalias

参考サイト、ブログ

情報発信はやっぱり偉大。感謝感謝。


今日はここまでで、次回はdocker辺りの導入でも書いていきます。

Related Posts Plugin for WordPress, Blogger...