LoginSignup
0
2

More than 3 years have passed since last update.

OSの基本設定 ~複数バーチャルホストの設定まで~

Posted at

はじめに

AWSのEC2にてインスタンス(サーバー)を建てた際にOSの基本設定をしたので、その手順を記録します。ほぼ確実にサーバー建てるたびに設定すると思うので、
ターミナルでコマンド手打ちするのがめんどくせー!と思ったらコピペでがんがん使って下さい。
(インスタンス再作成しまくってたとき手打ちするのがだるすぎた)

1.時間の変更 2.言語変更 3.コマンド履歴の表示変更 おまけ.複数バーチャルホストの設定
以上の4つを行います。

開発環境

Amazon Linux 2 AMI (HVM), SSD Volume Type (AWSアカウント登録済み)
どのサーバーでも設定方法はそれほど変わらないと思いますが、設定ファイルやディレクトリがなければ、ググって確認してみてください。

1.時間の変更

サーバー作成後、作成したキーペアに権限を与えてssh接続します。

//自分に読込・書込みの権限を与える
chmod 600 ~/Desktop/[キーの名前] 
ssh -i ~/Desktop/作成したキーペア名 ec2-user@インスタンスと紐付けたElastic IP //Elastic IPはRoute 53で紐付けた名前でも可

一般ユーザーでは権限を持たないので、(viコマンドなどが使えない)
全権限を持つrootユーザーに変更後、タイムゾーンを変更します。

//全権限を与える
sudo su 
vi /etc/sysconfig/clock

//書き換え前
ZONE="UTC" //協定世界時間
//書き換え後
ZONE="Asia/Tokyo" //日本時間

シンポリックリンク(ショートカット)の作成をします。

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

//紐付いてるか確認
ls -l /etc/localtime 

localtime->~Asia/Tokyoなら成功です。

2.言語変更

vi /etc/sysconfig/i18n

LANG="ja_JP.UTF-8"に変更。
こちらだけでは、サーバー復元時に自動でen_US.UTF-8に戻ってしまうので下記も変更。

vi /etc/cloud/cloud.cfg

//最後の行に追加
locale: ja_JP.UTF-8 

//catコマンドで確認
cat /etc/cloud/cloud.cfg 

locale: ja_JP.UTF-8が追加されていたら成功です。

3.コマンド履歴の表示変更

vi /etc/bashrc

//最後の行に2行追加
HISTTIMEFORMAT='%F %T ' //コマンド操作日時表示
HISTFILESSIZE=2000 .    //履歴の上限2000

//追加した2行の確認
tail -2 /etc/bashrc

1~3終了後再起動します。

reboot

1~2分後、sshで再接続。設定がうまくできてるか最終確認します。

date      //日時表示が日本時間・日本語化
history   //表示数・コマンド操作日時の表示

以上がうまく出来ていれば、OSの基本設定完了です!

おまけ.複数バーチャルホストの設定

今回設定したのはApacheサーバーです。
使用するサーバーによって設定ファイルは異なるので注意しましょう。

Apacheサーバーの大本となる設定ファイルは
/etc/httpd/conf/httpd.confなので
tailコマンドで最後の5行だけ確認します。

tails -5 /etc/httpd/conf/httpd.conf

//最後の行
InclodeOptional conf.d/*.conf  //conf.d/*.confを取り込んでるのがわかる

//conf.d/*.confより上のディレクトリを確認
grep "^ServerRoot" /etc/httpd/conf/httd.conf
ServerRoot "/etc/httpd"  // "/etc/httpd"直下にあることがわかる 

/etc/httpd/conf.d/*.conf で設定したらいいとわかったので、
サブドメインを作り、バーチャルホストを複数作成します。
今回作成したのが下記になります。

start-aws-virtualhost.conf
//PHPファイルのバーチャルホスト作成
<VirtualHost *:80>
    ServerName attendance.www.startdns.tokyo //Route53で設定したドメイン名
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/main_attendance/public //画面表示するパスを指定

    //ディレクトリにアクセス許可を与える
    <Directory /var/www/main_attendance>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>
//HTMLファイルのバーチャルホスト作成 2つ目以降の作成方法も同様
<VirtualHost *:80>
    ServerName introduction.startdns.tokyo //Route53で設定したドメイン名
    DocumentRoot /var/www/introduction //画面表示するパスを指定

    ErrorLog "logs/introduction-error.log" //エラーログの出力
    CustomLog "logs/introduction-access.log" combined //アクセスログの出力

    //ディレクトリにアクセス許可を与える
    <Directory /var/www/introduction>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>

2つ目以降も同様に作成すれば、サブドメインをいくつでも作成できます。
アクセスが集中しすぎるとサーバーダウンするので、
オートスケーリングを設定するか、別でサーバーを作成しましょう。

参考文献・参考記事

AWSをはじめよう ハンズオン形式。本はハンズオン形式のものをおすすめする。
バーチャルホストの例 - Apache HTTP サーバ バージョン 2.2 バーチャルホストに関する様々な作成方法が書いてある。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2