2019年12月17日火曜日

【Linux】サーバー勉強用のCentOS7、設定あれこれとApache


前回そんな感じでサーバーの勉強をしようと決めたわけですが、
まぁ、先ず何からやったらいいのかわからない。
とりあえずApacheからやってみようかな…。

そんな感じでLinuxのLAMP環境を作成してみることにしました。
OSはCentOS7を選択してみました。
一応AWSの選択枠にもあるしね。

ただ、AWS上で環境入れる実験をして、
インスタンスを作成したり、削除したり繰り返したりすると
結構データ量を無駄にしてしまうと思ったので、
先ずはVirtualBox上の仮想OSでやってみようと。
そういう感じです。

自分がやったことのまとめとして書いていこうと思います。
この内容が正しいかどうかは…要検証ですね。



-------------------------------------------

1.VirtualBox



有名ですね。
仮想OSを動かすアプリケーションです。
https://www.virtualbox.org/

とりあえずサクッとインストールしちゃいましょう。
Linux環境でもインストールできるんで(Linux on Linuxになっちゃうけど)

sudo apt-get install virtualbox


-------------------------------------------

2.イメージから仮想OSを作成


CentOS7のイメージをダウンロードして、
VirtualBoxから仮想OSを作成しましょう。
サーバー勉強用なので最小(minimal)のでいいと思います。
実際の作業は仮想OS上ではしないですからね。

少しの修正だったらコンソール上からviとかでいいですし、
本格的な作業は別PCでやったソースをWinSCP等で送信する感じになると思います。

だいたいこの辺から
http://ftp.riken.jp/Linux/centos/7/isos/x86_64/

ダウンロードしたらVirtualBoxから仮想OSを作成しましょう
とりあえず気にするような項目も特にないので、
サーッと作ってしまいましょう。

ネットワーク設定だけはONにしておいた方がいいですかね…。


-------------------------------------------

3.Linuxのアップデート


仮想OSのLinux環境が出来たら、
とりあえずアップデートしてしまいましょう。

OSインストール時にROOTのパスワードを設定していると思います。
それでログインしてからOSのアップデートをします。

yum -y update
yum -y upgrade

立ち上げ直後だといろいろアップデートするので
少し時間がかかると思います。
RaspberryPiとかはapt-getだったけどこっちはyumなんですねぇ

アップデートが完了したら、Apacheをインストールしておきましょう。
あと、起動したら有効になるようにしておきましょう。

yum -y install httpd
systemctl start httpd
systemctl enable httpd

最後に、現状でApacheが有効になっているか確認しておきましょう。
エラーしてたら、どうしましょうね…(適当)

service httpd status


-------------------------------------------

4.VirtualBoxのネットワーク設定


作成した仮想OSで立ち上げたサーバーを
作業PCからアクセスする際に必要な設定です。

この設定やって、なんか上手くいかなかったら
SELinuxの無効とか試してみましょう。
本番だとSELinuxは無効にしないほうがいい?と思います。(適当…)


下のコマンドを実行して1が返ってきたら有効になってます。

getenforce

無効にする場合は次のコマンド

setenforce 0

んで、ネットワーク設定ですね。
こっちが大事。
VirtualBoxの「デバイス>ネットワーク>ネットワーク設定」を選択します。
で、現在有効にしているネットワークの「高度」を選択して表示します。


上のような感じになりますね。多分。
で、「ポートフォワーディング」から設定を行います。


上の「http」「ssh」の部分の設定をします。
「Rule1」とかいう設定がありますが、これは必要ないです。

設定したら次は仮想OS側の設定ですね。


-------------------------------------------

5.仮想OSのファイアウォール設定


仮想OS内のファイアウォールの設定を行います。
これをしていないとサーバーへのアクセスとかがまだ通りません。
「このポート番号は許可するよ」っていう設定が必要です。

先程のポートフォワーディングで通した部分と合わせる形で設定します。

firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --add-port=22/tcp --zone=public --permanent
firewall-cmd --reload

順に「http」「ssh」の設定をした後にリロードで有効にしています。

設定したら、VirtualBoxを起動しているPCからブラウザアクセスしてみましょう。

localhost:8080

成功していればApacheのページが表示されると思います。



これは、
先程の4で設定したポートフォワーディングを辿って、表示されています。

1.デスクトップ上からローカルホストの8080番
2.VirtualBoxの80番(ポートフォワーディングで8080→80)
3.仮想OSの80番はファイアウォールの許可をしているのでアクセスできる
4.Apacheインストール時に設定されているページが表示される

上のような順序で辿っているんだと思います。(曖昧)
とりあえずこれでメインPCからVirtualBox内の仮想OSにあるページに
アクセスできることが分かると思います。


-------------------------------------------

6.いったんここまで


とりあえずVirtualBoxにCentOS7をインストールして、
そこのApacheで動作しているページに外からアクセスする感じに出来ました。

まあ、ローカル上でしか繋がっていないわけで、
このメインPCが外に繋がっていて、それがアクセス可能でないと
本当に外部からはアクセスできないんですが…
その辺の役割は本番環境としてのレンタルサーバー等に任せようと思います。

どっちかっていうとApacheとかPhpとかの学習用途やけんね。今回は。

次回は、ここからPHPやMySQLを入れていく方向で設定を続けていきます。
意外と純粋なサービス作りの前の環境作成がいろいろあるねんな…。

0 件のコメント:

コメントを投稿