CentOS7 Webサーバー構築ことはじめ
毎回調べなおしていたのですが、 この機会に備忘録として残しておきます。
アップデート
yum update
ユーザーの追加と設定
まず、ユーザーを追加してパスワードを設定
adduser user_name # ユーザー追加 passwd user_name # パスワード設定
追加したユーザーでログインできることを確認したあとでrootでログインすることを禁止
vi /etc/ssh/sshd_config PermitRootLogin yes → PermitRootLogin no に変更 追加したユーザにsudoを許可 usermod -G wheel user_name
このsudo権限を持つグループ wheelの由来は一説によればbig wheel(実力者)から来ているそうです。
htpdインストール,設定
yum install httpd # インストール systemctl start httpd # 起動 systemctl status httpd # 起動したか確認 activeならok
ブラウザでサーバーのIPアドレスにアクセスしてApacheの初期画面が表示されることを確認 表示されない場合は一概には言えないけど、とりあえずfirewallの確認をしてみる。
firewall-cmd --list-all //確認 firewall-cmd --permanent --add-service=http // なければ追加 firewall-cmd --reload #再起動
servicesにhttpがなければ設定を追加して再起動
ドキュメントルートの権限設定
groupadd group_name
ドキュメントルートの編集を許可するグループを作成、必要なら作ったユーザーを追加しておく /var/www/htmlの権限を変更する
chown apache:group_name html chmod 775 html
apacheはcmsからの編集を可能とするため(必要なければいらない)
SSH公開鍵認証設定
まずは鍵の生成(なければ)
ssh-keygen -t rsa
特に設定を変更しなければ以下が作成される
公開鍵: ~/.ssh/id_rsa.pub 秘密鍵: ~/.ssh/id_rsa
そもそもSSH公開鍵認証って何?って人はさくらのナレッジがわかりやすいからおすすめ
サーバーに公開鍵を登録
.ssh/authorized_keysに公開鍵を設置できたらOK。 VPSとか借りている人は管理画面から直接登録できたりします。 ssh-copy-idを使用して登録(MAC限定) そもそもHomebrew入れてないって人はいい機会だから入れよう
brew install ssh-copy-id[/code] ssh-copy-id user_name@host_name # <span class="c1">-iで鍵を選べる
手動で登録 サーバにSSH接続して行う
mkdir .ssh # フォルダ作成 touch .ssh/authorized_keys # ファイル作成 chmod <span class="m">700</span> .ssh # 所有者のみ実行読み書き可 chmod <span class="m">600</span> .ssh/authorized_keys # 所有者のみ読み書き許可</pre> クライアント側で実行 scp ~/.ssh/id_rsa.pub user_name@host_name # 鍵をサーバ-にコピー ssh user_name@host_name cat id_rsa.pub >> .ssh/authorized_keys #ファイルを既定の場所にコピー
パスワード認証を禁止に変更
パスワード認証廃止してセキュリティを向上
sudo vi /etc/ssh/sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no に設定 再起動をかける
systemctl restart sshd
パスワードをキーチェインに登録(MAC)
いちいちパスワードを入れる必要がなくなって捗る
ssh-add -K ~/.ssh/id_rsa