13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VirtualBoxでUbuntu Server 20.04 LTSをLAMPサーバとして稼働させる

Last updated at Posted at 2020-05-20

#はじめに
Ubuntu Sever 20.04 LTSがリリースされたので、とりあえず、VirtualBoxでLAMPサーバとして稼働させてみた。VirtualBoxのネットワーク設定は、ローカルネットワークからアクセスできるようにブリッジアダプタを使用する。(また、INTER-Mediator 6をセットアップするためのベースとしても使用する。)

#完成状態
LAMPサーバとして動作させるため次のサービスを稼働させる。ネットワーク経由でアクセスできるのは、SSH(22ポート)とHTTP(80ポート)のみ。MariaDBやPostgreSQLにアクセスしたい場合は、SSH経由でlocalhostからアクセスすること。

!!!注意!!!
ネットワークアクセスできる為、各種パスワード設定は、推測されないもの使用してください。

  • SSH Server
  • PHP
  • Web Server (Apache)
  • Database (MariaDB, PostgreSQL, SQLite)

#必要なもの (今回使用のマシンとバージョン)

  • MacBook Air (macOS Mojave 10.14.6)
  • VirtualBox (ver6.0.20)
  • Ubuntu Server 20.04 LTS

#大まかな流れ

  • Ubuntu Server 20.04 LTSのダウンロードをする。

  • VirtualBoxを設定する。

  • Ubuntu Sever 20.04 LTSのインストールをする。

  • 基本設定をする。

    • パッケージのアップデート
    • 固定IP
    • タイムゾーン
    • ファイアウォール
    • ロケール
  • パッケージをインストールする。

    • SSH Server
    • PHP
    • Apache
    • MariaDB
    • PostgreSQL
    • SQLite

#前提条件
###ネットワーク設定
(自分の環境に合わせて読み替えて必要な場合があります)
ローカルネットワークは、192.168.1.0/24でDHCPが作動している。ルータアドレスは、192.168.1.1でもちろんインターネットには接続されてる。サーバは、192.168.1.101で設定して、ローカルネットワークからはサーバにアクセスできるようにネットワーク設定をする。

項目 内容
Subnet 192.168.1.0/24
Address 192.168.1.101
Gateway 192.168.1.1
Name Server 192.168.1.1
Search domains

#ダウンロード
1:Ubuntu.comにアクセスして、『Download』タブから『ubuntu-20.04-live-server-amd64.iso』をダウンロードする。
01.png

2:ダウンロードは、自動的に始まる。必要に応じてダウンロードファイルをコマンドで確認する。
03.png

#VirtualBoxを設定する。
VirtualBoxは、6.0.20を使用する。(2020/05/12時点の最新版)

1:『Oracle VM VirtualBox マネジャー』から『新規』ボタンをクリック。
vm01.png

2:『名前とオペレーションシステム』で名前を『UbuntuServer2004LTS』にして『続きボタン』をクリック。
vm02.png

3:『メモリサイズ』では、デフォルトで『1024』MBとなっています。そのままでもインストールは可能ですが、ここでは、『2048』MBに設定して、『続き』ボタンをクリック。
vm03.png

4:『ハードディスク』はデフォルトままで、『続き』ボタンをクリック。
vm04.png

5:『ハードディスクのファイルタイプ』は、デフォルトままで『続き』ボタンをクリック。
vm05.png

6:『物理ハードディスクにあるストレージ』は、デフォルトままで『続き』ボタンをクリック。
vm06.png

7:『ファイルの場所とサイズ』は、デフォルトままで『続き』ボタンをクリック。
vm07.png

8:仮想マシンが作成されました。
vm08.png

9:『Oracle VM VirtualBox マネジャー』で今作成した仮想マシンを選択する。『設定ボタン』をクリックし、『ネットワーク』タブ、『アダプター1』をクリック。
デフォルトで、『NAT』が設定されているので、『ブリッジアダプター』に変更する。
vm09.png

10:『ストレージ』タブをクリックして、『コントローラー:IDE』の空ドライブを選択し、光学ドライブ横の、ディスクのアイコンをクリックして、ダウンロードしたisoファイルを指定する。
vm10.png

#インストール
1:仮想マシンを選択し、『起動』ボタンをクリックする。
01.png

2:仮想マシンのディスプレイが小さい場合、『Oracle VM VirtualBox マネジャー』の『設定』ボタンをクリックし、『ディスプレイ』タブの表示倍率を『200%』する。
02_1.png

02_2.png 02_3.png

3:[Welcome! 画面] ディスプレイ上の『×』アイコンをクリックして、通知を消し、『English』を選択し、Returnキーを押す。
03.png

4:[Installer update avaliable 画面] 『Continue without updating』を選択し、Returnキーを押す。
04.png

5:[Keyboard configuration 画面] キーホードを適宜選択したら、『Done』を選択し、Returnキーを押す。(ここでは、USキーボードを使用している為、English (US)を選択)
05.png

6:[Network connections 画面] ここでは、ネットワークインターフェイスを設定する。ここでは、DHCPで割り当てられているが、のちほど、固定IPに設定する。『Done』を選択し、Returnキーを押す。
06.png

(オプション) インストール時に固定IPにする。
基本設定の固定IPの手順で固定IPの設定をしますが、こちらで固定IPの設定も可能です。ご参考まで。
06_1.png

06_2.png 06_3.png

7:[Configre proxy 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
07.png

8:[Configure Ubuntu archive mirror 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
08.png

9:[Guided storage configuration 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
09.png

10:[Storage configuration 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
10.png

『Confirm destructive action』のアラートが出るので、『Continue』を選択して、Returnキーを押す。
10_2.png

11:[Profile setup 画面] 名前やパスワードなど適宜入力する。入力を終えたら『Done』を選択し、Returnキーを押す。ここでは、次の通り入力する。(変更可能)

項目 内容 備考
Your Name Developer
Your server's name im
Pick a username developer
Choose a password **************** 脆弱なパスワードにしないこと
Comfirm your password ****************
11.png

12:[SSH Setup 画面] ここでは、なにも変更ぜず、『Done』を選択し、Returnキーを押す。
12.png

(オプション) インストール時にSSH Serverをインストールする。
パッケージをインストールのSSH Serverの手順でSSH Serverをインストールしますが、こちらでもインストール可能です。その場合、基本設定からSSHが利用できます。ご参考まで。
12_1.png

13:[Featured Server Snaps 画面] ここでは、なにも変更ぜず、『Done』を選択し、Returnキーを押す。
13.png

14:[Install complete 画面] しばらくすると、インストールが完了する。
14_1.png

『Reboot』を選択し、Returnキーを押す。

15: [Roboot後 画面] CD-ROMがアンマウントされないというアラートが出ますが、アンマウントされているので、ウィンドウを閉じて終了。
15_1.png
15_2.png
15_3.png

#基本設定

##パッケージのアップデート

アップデート
$ sudo apt-get update
アップグレード
$ sudo apt-get upgrade

##固定IP
1: 現在のネットワークの状況を確認する。

$ ip a
static_01.png

2: /etc/netplan/00-installer-config.yamlを確認する。

$ cat /etc/netplan/00-installer-config.yaml
static_02.png

3: /etc/netplan/00-installer-config.yamlをを編集して固定IPにする。ここでは、DHCPから次の設定に変更する。
Static IP: 192.168.1.101/24
Gateway: 192.168.1.1
dns: 192.168.1.1

$ sudo vi /etc/netplan/00-installer-config.yaml
static_03.png
/etc/netplan/00-installer-config.yamlの設定
network:
  ethernets:
    enp0s3:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.101/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1]
  version: 2
  renderer: networkd
static_04.png
設定を反映
$ sudo netplan apply
変更された現在のネットワークの状況を確認
$ ip a
static_05.png

##タイムゾーン
1: タイムゾーンを確認する。

$ timedatectl
timedate_01.png

2: タイムゾーンを変更し再確認する。

$ sudo timedatectl set-timezone Asia/Tokyo
timedate_02.png

ロケール

1: 現在のロケールを確認する。

$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

2: 設定できるロケールの一覧を確認する

$ locale -a

3: ja_JP.UTF-8ロケールのインストールと設定

$ sudo apt-get install language-pack-ja
$ locale -a
$ sudo update-locale LANG=ja_JP.UTF-8
/etc/default/localeファイルの内容
LANG=ja_JP.UTF-8

##ファイアウォール

1:現在のファイアウォールの状況を確認する。

$ systemctl status ufw
$ sudo ufw status verbose
ufw_01.png 起動しているが、設定が無効になっている。

2:動作される

$ sudo ufw enable

3:現在のルールを確認する。

$ sudo ufw status verbose
ufw_02.png

4:適宜ポートを解放する。

SSHの許可(/etc/servicesを参照のこと)
$ sudo ufw allow ssh
httpの許可(/etc/servicesを参照のこと)
$ sudo ufw allow http
ステイタスを確認
$ sudo ufw status verbose

5: すべての設定が終わったらリブートする。

$ sudo reboot

#パッケージをインストール

##SSH Server

1: SSH Serverをインストール(インストール後自動起動)

$ sudo apt-get install ssh

2: 動作確認
リモートから『developer@192.168.1.101』でssh接続する。

##Apache
1: Apacheをインストール

$ sudo apt-get install apache2

2: 動作確認

$ systemctl status apache2

3: 動作確認
リモートからブラウザで『 http://192.168.1.101/ 』にアクセスする。
apache_01.png

##MariaDB
1:MariaDBをインストール

$ sudo apt-get install mariadb-server mariadb-client

3: セキュア設定

$ sudo mysql_secure_installation
設定項目
Enter current password for root (enter for none): 

Set root password? [Y/n] y

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

3: 接続確認

端末から
$ sudo mysql -u root -p






##PostgreSQL
1:PostgreSQLをインストール

```bash:
$ sudo apt-get install postgresql postgresql-client
起動確認
$ systemctl status postgresql

2: postgresqlのパスワードを設定する。

$ sudo su postgres
$ psql -c "alter user postgres with password '*******'"

3: 動作確認

端末から
$ psql -h localhost -U postgres

##SQLite
1:SQLiteをインストール

$ sudo apt-get install sqlite3 

##PHP
1:PHPをインストール

$ sudo apt-get install php
追加モジュールもインストール
$ sudo apt-get install libapache2-mod-php php-mysql php-pgsql php-sqlite3
$ sudo systemctl restart apache2

2: 動作確認

/var/www/html/info.php作成
<?php
phpinfo();
?>

#リファレンス
Welcome to the Ubuntu Server Guide!

#付録
###Quick Installメモ
Ubuntu2004LTS起動してからのインストールコマンド。インストール時にネットワーク設定及びssh serverをインストールした場合

ssh developer@192.168.1.101
sudo apt-get update
sudo apt-get upgrade
sudo timedatectl set-timezone Asia/Tokyo
sudo apt-get install language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow http
sudo reboot

sudo apt-get install apache2

sudo apt-get install mariadb-server mariadb-client
sudo mysql_secure_installation

sudo apt-get install postgresql postgresql-client
sudo su postgres
psql -c "alter user postgres with password '*******'"

sudo apt-get install sqlite3

sudo apt-get install php
sudo apt-get install libapache2-mod-php php-mysql php-pgsql php-sqlite3
13
11
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
13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?