ひこたろうのシンプルライフ

ひこたろうのブログです。 毎日、コツコツ勉強しているときに気づいたことを適当に書いています。

コマンドラインの編集

カーソルの移動

コマンド 内容
Ctrl + b 後方に1文字ぶん移動する
Ctrl + f 前方に1文字ぶん移動する
Ctrl + a 行頭に移動する
Ctrl + e 行末に移動する
Meta + b 後方に単語1つぶん移動する
Meta + f 前方に単語1つぶん移動する



文字の削除

コマンド 内容
BackSpaceキー、またはCtrl + h カーソル位置の後方に1文字削除する
Deleteキー、またはCtrl + d カーソル位置の1文字を削除する
Ctrl + w 後方にスペース区切りで1単語ぶんを削除する



カットとヤンク

コマンド 内容
Ctrl + k カーソル位置から行末までを削除する
Ctrl + u カーソル位置から行頭までを削除する
Ctrl + y 最後に削除した内容を挿入する

PHPを設定する

PHPの設定は、「php.ini」ファイルを変更することで行います。

default_charsetを設定する
Webサーバはレスポンスヘッダという文字列をブラウザに送信します。その内容がどのような文字コードを使っているのかを設定する項目です。

default_charset = "UTF-8"


date.timezoneを設定する
PHPで使用される日付や時刻に関係した関数すべてに使用される標準の時間帯を設定します。

date.timezone=Asia/Tokyo


マルチバイト(日本語)関連の設定を行います。

mbstring.languageを設定する
mbstringで使用される言語設定(NLS)の初期値を設定します。

mbstring.language = Japanese


mbstring.encoding_translationを設定する
入力されるHTTPクエリに関して、 文字エンコーディング検出および内部文字エンコーディングへの変換を行うエンコーディングフィルタを有効にします。

mbstring.encoding_translation = On


mbstring.detect_orderを設定する
文字コード検出の初期値を設定します。

mbstring.detect_order = UTF-8


mbstring.substitute_characterを設定する
無効な文字を代替する文字を設定します。

mbstring.substitute_character = none;


セキュリティを設定します。

expose_phpを設定する
HTTPヘッダーにPHPのバージョンを表示するかを設定する項目です。
PHPを使っていることとバージョンが分かると、セキュリティホールを狙った攻撃の対象になる可能性があるので、Offにします。

expose_php=Off


session.sid_lengthを設定する
PHP 7.1.0 から設定できるようになりました。
セッションに利用する文字列(セッションID)の長さを設定します。
セッションを盗まれにくいように長さを32に設定します。
(PHPのマニュアルでは最低32文字にするように推奨されています。)

session.sid_length=32

session.sid_bits_per_characterを設定する
PHP 7.1.0 から設定できるようになりました。
セッションIDに使用する文字種(英数字など)を設定します。
初期値は4 [0-9a-f] の16進数文字列で、 5は [0-9a-v]になります。
(PHPのマニュアルでは5が推奨されています。)

session.sid_bits_per_character=5


詳細は、こちらを参照してください。
PHP: 実行時設定 - Manual

さくらVPSにMacでSSH接続する初期設定

1. MacBookSSH 接続用のRSA鍵を作成します
SSHで接続する際にパスワードを使用するよりもRSA公開鍵認証を使用した方が安全です。
SSHでパスワードのログインを禁止し、RSA公開鍵認証のログインのみを許可します。
最初にMacで使用するRSA鍵を作成します。
ターミナルからssh-keygenコマンドを実行し、RSA鍵が作成します。

macbook:~ hogehoge$ ssh-keygen [Enter]
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): [Enter]
Enter passphrase (empty for no passphrase): [好きなパスワードを入力]
Enter same passphrase again: [好きなパスワードを再入力]
Your identification has been saved in /Users/hogehoge/.ssh/id_rsa.
Your public key has been saved in /Users/hogehoge/.ssh/id_rsa.pub.

2. サーバーに使用するユーザーを追加します
サーバーで使用するユーザーを追加します。
VPSコントロールパネルを使用し、サーバーにログインします。
コントロールパネルからuseraddコマンドを実行し、ユーザーを追加します。

[root@xxx ~]# useradd hogehoge[Enter]
[root@xxx ~]# passwd hogehoge[Enter]
Changing password for user hogehoge.
New UNIX password:[新しいパスワードを入力]
Retype new UNIX password:[新しいパスワードを再入力]
passwd: all authentication tokens updated successfully.
[root@xxx ~]#usermod -G wheel hoeghoge //root 制限用に wheel に所属させます

3. 作成したRSA鍵をサーバーにコピーします
Macからサーバーに作成したRSA鍵をコピーします。
コピーはSCPコマンドを使用します。
/Users/ユーザー名/.sshにあるid_rsa.pubをサーバーへコピーします。
sakuraはVPS契約時に送付されたサーバーのIP、またはドメインに置き換えてください。

macbook:~ hogehoge$ cd .ssh
macbook:.ssh hogehoge$ scp id_rsa.pub hogehoge@sakura:~

コピーが終わったら、先ほど追加しユーザーでサーバーにログインし設定を変更します。

# .sshディレクトリを作ります
mkdir .ssh
# 今作ったディレクトリのPermissionを変更します
chmod 700 .ssh
# RSA鍵ファイルを.sshに移動します
mv id_rsa.pub .ssh/
cd .ssh/
# authorized_keysファイルを作成します
touch authorized_keys
# カギの中身をauthorized_keysに追加します
cat id_rsa.pub >> authorized_keys
# Permissionを自分だけが読めるように変更します
chmod 600 authorized_keys

4. Macから接続を確認します
Macからターミナルで接続します。
sakuraにはサーバーのIPとかドメインに置き換えてください。
RSA鍵を作成した時のパスワード(パスフレーズ)の入力を求められます。

macbook:~ hoge$ ssh hogehoge@sakura //RSA鍵を作成した時のパスワード入力を促される
Identity added: ~/.ssh/id_dsa (~/.ssh/id_dsa)
Last login: Fri Apr  1 00:00:00 from hogehoge.hoge.hoge.ne.jp

SAKURA Internet [Virtual Private Server SERVICE]

[hogehoge@xxx root]$ exit
logout

Connection to hogehoge.hoge.hoge.ne.jp closed.

macbook:~ hoge$ ssh hogehoge@sakura //そのまま VPS サーバ内へ移動するはず
Last login: Fri Apr  1 00:00:00 from hogehoge.hoge.hoge.ne.jp

SAKURA Internet [Virtual Private Server SERVICE]

[hogehoge@xxx ~]$

5. サーバーのSSH設定を変更します。
サーバーにログインし、rootになったらsshd_configを編集して、ルートのログイン禁止等の設定を行い、sshdを再起動する。viの使い方はここでは省略。

[root@xxx ~]# vi /etc/ssh/sshd_config

PermitRootLogin no //コメントアウトを外し no にする
PubkeyAuthentication yes //コメントアウトを外す
AuthorizedKeysFile     .ssh/authorized_keys //コメントアウトを外す
PasswordAuthentication no //コメントアウトを外し no にする
UsePAM no //コメントアウトを外す
#UsePAM yes //コメントアウトする

[root@xxx ~]# /etc/init.d/sshd restart

あとはMacの場合、/Users/(ユーザ名)/.ssh/configにSSHのログイン情報を設定しておくと便利です。

Host sakura
HostName xxx.xxx.xxx.xxx
User hogehoge
Port xxxx
IdentityFile ~/.ssh/sakura/id_rsa