てくのろーぐ

新卒エンジニアの日常ログ

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

apachecmsからの編集を可能とするため(必要なければいらない)

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 &gt;&gt; .ssh/authorized_keys #ファイルを既定の場所にコピー

パスワード認証を禁止に変更

パスワード認証廃止してセキュリティを向上

sudo vi /etc/ssh/sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no に設定 再起動をかける

systemctl restart sshd

 

パスワードをキーチェインに登録(MAC)

いちいちパスワードを入れる必要がなくなって捗る

ssh-add -K ~/.ssh/id_rsa