はじめに
Bashというシェルスクリプトを使用してEC2サーバーの設定を行ってみます。
Bashとは
-
コマンド画面でLinuxとやりとりする際に使用するシェルスクリプト
-
シェルスクリプト: ユーザーとカーネル(OSの基幹機能)のやりとりに利用される言語のこと
-
Bashはシェルスクリプトの一つで、Linuxにおけるシェルスクリプトのデファクトスタンダードになっている
-
yumとかもシェルスクリプトの一つ
-
EC2サーバーではSSH接続したあとはBashで操作している状況
-
AWSマネジメントコンソールでは、BashによるLinux初期設定の自動実施を設定することが可能です
- 起動する際に処理されるBashスクリプトを仕込んでおくことができる
- Apacheのインストールとか毎回必ず行うような設定は自動実施するようにできる
作業アウトライン
- 新規にEC2インスタンスを起動する
- Bashシェルスクリプトを設定してLinuxの設定を行う
- Linuxの設定結果を確認する
今回設定してみる項目
- ホスト名を変更する
- デフォルトではIPアドレスがホスト名になっている
- IPアドレスではわかりづらいので基本は意味のある名前に変更する
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g'
- ネットワークホスト名を変更する
/etc/sysconfig/network
hostname '任意のホスト名'
- 日本時間をコピー
cp /usr/share/zoneinfo/Japan /etc/localtime
- サーバーの時間帯を日本時間に設定
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"/g' /etc/sysconfig/clock
- 言語設定をja_JP.UTF-8に設定
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
- ソフトウェアの更新情報の確認
sudo yum update -y
- Apacheのインストール
sudo yum install httpd -y
- Apacheの自動起動設定
sudo chkconfig httpd on
1. 新規にEC2インスタンスを起動する
- EC2インスタンスを作成する
- 手順 3: インスタンスの詳細の設定の「高度な設定」に以下を記載する
# !/bin/bash
# サーバーの設定変更
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g' /etc/sysconfig/network
hostname '任意のホスト名'
cp /usr/share/zoneinfo/Japan /etc/localtime
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"|g' /etc/sysconfig/clock
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
# アパッチのインストール
sudo yum update -y
sudo yum install httpd -y
sudo chkconfig httpd on
====
- 他の設定項目はデフォルトで
- タグはお好みで
2. Bashシェルスクリプトを設定してLinuxの設定を行う
- 作成したEC2インスタンスにターミナルでssh接続する
3. Linuxの設定結果を確認する
- 接続して、
[ec2-user@任意のホスト名 ~]$
となっていれば - Apacheインストール
-
yum list installed | grep httpd
を実行 - httpdがインストールされていれば
-