LoginSignup
1
1

More than 1 year has passed since last update.

【仮想マシン】Virtual Box Webサーバ構築

Last updated at Posted at 2021-07-27

・VirtualBox Ubuntu WEBサーバー構築

  • ブラウザ上に 仮想環境にて編集した画面 を表示させるサーバ構築をする

元々VirtualBox内にUbuntuがあったため動作環境は設定済

サイトから拾ってきた情報を元に簡易的なWebサーバ構築を仮想環境内で行う
(現在Linuxを学習中のため、手を動かしたいという思いもあり、試しに仮想環境ないでやってみた次第です)
コマンドプロンプトにてvi編集後、仮想環境内のブラウザにて編集したhtmlが表示できれば完成

1.サイト情報がyumコマンド:CentOSでなかったため”yumコマンドが見つかりません “と怒られエラーが続きはまる

パッケージインストールもできるとのことだったが、ディストリビューションの関係から
CentOS= yumコマンド
Ubuntu = aptコマンド
とのことらしい

2.再度新規でCentOSの仮想マシンを作成:この作業に関してもはまった

起動後top画面にて “no bootable medium fount halted” となりimageファイルが設定されていないことが分かりリファレンスからisoダウンロード
VirtualBox内>設定>ストレージ
落としたisoイメージを設定し無事起動
だが、初期設定時に”最小起動範囲”といった最小量メモリで作ってしまいGUIがない仮想マシンを作成してしまった...時間ロス

3.再び元あったUbuntuに戻り構築できるか試した結果

Ubuntuに関してはaptコマンドということを知り(ググって時間溶かした)改めて作業開始

エラー.ドメイン変更後のapache再起動にて ”httpd: Could not reliably determine the server’s fully qualified domain name”

Apacheの設定ファイル「httpd.conf」の「ServerName」が設定されていない時にこのエラーが表示されるらしい
名前を localhost:80と変換後解決

・作業工程

1.Apacheのインストール

ApacheはUbuntuのデフォルトのソフトウェアリポジトリで利用できるため、従来のパッケージ管理ツールを使用してインストールする
最初に、ローカルパッケージインデックスを更新、最新のアップストリームの変更を反映させる

ターミナル
$ sudo apt update

次に、apache2パッケージをインストール

ターミナル
$ sudo apt install apache2

2.ファイアウォール調整

Apacheをテストする前に、ファイアウォール設定を変更
外部からデフォルトWebポートへのアクセスを許可する必要がある
インストール中、ApacheはUFWに自らを登録し、ファイアウォールを介したApacheへのアクセスを有効/無効にするアプリケーションプロファイルをいくつか追加するらしい  
ufwアプリケーションプロファイルを一覧表示する

ターミナル
$ sudo ufw app list

>>  Output
    Available applications:
    Apache
    Apache Full
    Apache Secure
    OpenSSH
ターミナル
$ sudo ufw allow 'Apache'

 
変更を確認する

ターミナル
$ sudo ufw status

3.Webサーバの確認

Webサーバーは既に稼働している必要がある
Ubuntu 20.04がApacheを起動する

systemd initシステムでサービスが稼働中であることを確認する

ターミナル
$ sudo systemctl status apache2

デフォルトのApacheランディングページにアクセスして、ソフトウェアがIPアドレスを介して適切に実行されていることを確認する
サーバーのIPアドレスが分からない場合

ターミナル
$ hostname -I

サーバーのIPアドレスが分かったら、ブラウザのアドレスバーに入力

http:// <サーバのIPアドレス>

デフォルトのUbuntu 20.04 Apache webページが表示される

4.仮想ホストの設定

Apache Webサーバを使用している場合、仮想ホスト (Nginx のサーバーブロックに類似) を作成して設定の詳細をカプセル化し
単一のサーバーから複数のドメインをホストすることができる

<自分のIPアドレス部分>を自分の作成するドメイン名に置き換える必要がある
Ubuntu 20.04上のApacheには、/var/www/htmlディレクトリからドキュメントを提供するように設定されている “デフォルトで有効になっている1つのサーバーブロック” というものがある
これは単一のサイトではうまく機能するが、複数のサイトをホストしている場合は扱いにくいことがある
そのため /var/www/htmlは変更をしない

代わりにクライアントの要求がどのサイトとも一致しないときに表示するデフォルトディレクトリとして/var/www/htmlを配置
test_web_serverサイトの/var/www内にディレクトリ構造を作成、test_web_serverのディレクトリを次のように作成する

ターミナル
$ sudo mkdir /var/www/test_web_server

$USER環境変数を使用してディレクトリの所有権を割り当てる

ターミナル
$ sudo chown -R $USER:$USER /var/www/test_web_server

 
所有者には読み取り・書き込み・実行可能権限を
グループには読み取り・実行可能権限のみをそれぞれ付与

ターミナル
$ sudo chmod -R 755 /var/www/test_web_server

nanoまたはお気に入りのエディタを使用し、サンプルindex.htmlページを作成

ターミナル
$ sudo nano /var/www/test_web_server/index.html

HTMLを追加

ターミナル
/var/www/test_web_server/index.html
vi作成
<html>
    <head>
        <title>Hello!</title>
    </head>
    <body>
        <h1>Webサーバ構築test</h1>
    </body>
</html>

 
完了したら、ファイルを保存して終了
Apacheがこのコンテンツを提供するには、正しいディレクティブで仮想ホストを作成する必要がある
/etc/apache2/sites-able/000-default.confでデフォルトの設定ファイルを直接変更する代わりに
/etc/apache2/sites-available/test_web_server.confで新しい設定ファイルを作成

$ sudo nano /etc/apache2/sites-available/test_web_server.conf

次の構成ブロックに貼り付ける

ターミナル
/etc/apache2/sites-available/test_web_server.conf
ターミナル
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName test_web_server
    ServerAlias www.test_web_server
    DocumentRoot /var/www/test_web_server
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ファイルを保存して終了
a2ensiteツールを使用し、次のようにファイルを有効にする

ターミナル
$ sudo a2ensite test_web_server.conf

000-default.confで定義されているデフォルトのサイトを無効にする

ターミナル
$ sudo a2dissite 000-default.conf

次に、設定エラーがないかテストをする

ターミナル
$ sudo apache2ctl configtest

次の出力が表示される

ターミナル
Output
Syntax OK

Apacheを再起動してこれらの変更を実装

ターミナル
$ sudo systemctl restart apache2

これで、Apacheがドメイン名を提供しているはず

http://test_web_serverに移動し確認する
web_server.png

html内にてUFT-8指定していないと文字化けしたので <!DOCTYPE> などある程度の作法は必要でした。


現在ping-tの学習をしているが、暗記しているだけの作業になってしまい学習自体の進捗があまりよろしくありません。
Amazonに少しではあるが設計や構築用の書籍があるので、これを機に参考程度に何冊か読んでみます。。

1
1
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
1
1