VPS(ConoHa)設定

VPS契約したので設定。
Ubuntu入れたと思ったけど、CentOSが入ってる模様。

過去記事参考

VirtualBoxにUbuntu 16.04を入れる(通常のインストール含む)

vimシンタックス

手元のWSHに入ってたので流用
/usr/share/vim/vim74/syntax/go.vim
同パスにコピー

.vimrcに追加
autocmd BufNewFile,BufRead *.go setfiletype go

サーバーにSSHで接続する

root@IPアドレス
パスワードは設定済みのrootパスワード

ユーザー作成

過去記事参考

Ubuntu ユーザーの追加、設定、パーミッション

とりあえずrootで作業中。

SSHの設定

過去記事参考

Ubuntu セキュリティ関連設定

設定ファイル
/etc/ssh/sshd_config

ポート変える(49152 – 65535辺り)

再起動
systemctl restart sshd

ちなみに

状態
systemctl status

自動起動有効
systemctl enable

自動起動無効
systemctl disable

独自ドメイン設定

以前、MuuMuuで取得したドメインがあって、
NSをXserverに指定したまま放置していたのでこのドメインを活用する。

メールはそのままXserverで、wwwのみvpsに回す。

xserverのサーバパネルのDNSレコードの設定から編集。

MXはホスト名と内容が同じになっているので、
ホスト名をそのまま独自ドメインで、内容をxserverのドメイン(xxx.xsrv.jp)にする。

Aタイプの3つはIPアドレスをVPSのアドレスに変更する。
(あるいはサブドメインとwww付きを消して1つにしてしまう)

これでしばらく待つと独自ドメインからSSHアクセスできる

Nginx

今回はphp使わないので、初めてのNginxにて。
yum install nginx

基本のルート
/usr/share/nginx/html

コンフィグ
/etc/nginx/nginx.conf

コンフィグの中にincludeがあり、
conf.d以下を読み込んでいる。

アクセスログ
/var/log/nginx/access.log

コマンドメモ Ubuntu

firewalld

定義されているサービス
firewall-cmd –get-services

許可されている情報
firewall-cmd –list-all –zone=public
–list-all
–list-services
–list-port

リロード
firewall-cmd –reload

サービスを許可する
firewall-cmd –add-service=http –zone=public –permanent

許可したサービスを削除
firewall-cmd –remove-service=http –zone=public –permanent

許可するポートの追加
firewall-cmd –add-port=22/tcp –zone=public –permanent

許可するポートの削除
firewall-cmd –remove-port=22/tcp –zone=public –permanent

定義済みサービス(編集はしない)
/usr/lib/firewalld/services

定義済みゾーンの確認
firewall-cmd –list-all-zones

アクティブなゾーンの確認
firewall
cmd getactivezones

Nicに対するデフォルトゾーンの確認
firewall-cmd –get-default-zone

NICのゾーンを変える(permanetが不要という記事ある要確認)
firewall-cmd –change-interface=lo –zone=public

NICをゾーンから削除(permanetが不要という記事ある要確認)
firewall-cmd –remove-interface=lo

だいたいの流れ。本来サービス登録なんだろうけど。

登録済みのサービスを消す。
firewall-cmd –remove-service=http –zone=public –permanent
firewall-cmd –remove-service=ssh –zone=public –permanent
firewall-cmd –remove-service=dhcpv6-client –zone=public –permanent

必要なポート追加。
firewall-cmd –add-port=54424/tcp –zone=public –permanent
firewall-cmd –add-port=80/tcp –zone=public –permanent

MySQL設定

MySQL 基本SQL

など参考

旧バージョン削除

インストール済みかどうか
yum list installed | grep xxx

コンポネート探す
rpm -qa | grep xxx

完全削除
yum remove xxx

ファイル消す場合
rm -rf /var/lib/mysqlなど

インストール

リポジトリ更新(公式サイト)
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

yum -y install mariadb(clientとcommonが入る)
yum -y install mariadb-server

起動
systemctl start mariadb

自動起動
systemctl enable mariadb

mysql
cant connect to local mysql server through socket
ソケットが見つからないということだが、restartで直った。

ユーザ設定

ユーザー確認
select host, user, password,authentication_string from mysql.user;

権限確認
show grants for root@’localhost’;

ルートパスワード追加
alter user ‘root’@’localhost’ identified by ‘abc’;
(passwordに入る)

set password for ‘root’@’localhost’=password(‘123’);
(authentication_stringに入る)

passwordが古くauthentication_stringが新しいという記載が多いが、どちら入ったとしても動作しているが詳細不明。

パスワード削除
set password for ‘root’@’localhost’=password(”);

匿名ユーザを削除
drop user ”@’localhost’;

未使用ユーザ削除
drop user ‘root’@’::1′;
drop user ‘root’@’127.0.0.1’;

drop userについて、5.0.2以前はrevoke必要。

::1はIPv6におけるlocalhost

TCP経由は127.0.0.1で、ソケット経由はlocalhostとなるが、名前解決(skip_name_resolve)が有効だと、127.0.0.1もlocalhostになる模様。ただし、接続の方法によっては解決されない場合もある。

testデータベースを削除

drop database test;

文字コード設定

/etc/my.cnf.d/server.cnf

以下追加

[mysqld]
character-set-server = utf8

文字コード確認
show variables like ‘char%’;

ポート設定

設定確認
show variables like ‘%port%’;

リッスン状態確認
netstat -tanp

/etc/my.cnf.d/server.cnf

接続もとのIPを限定したい場合
bind-address
にて指定する。すべて受け付ける場合はコメントアウト。

待受ポート変更

[mysqld]
port = (49152 – 65535辺り)

個別

ユーザー作成
grant all on db1.* to ‘user1’@’%’ identified by ‘123’;

DB作成
create database db1 character set utf8;