#はじめに
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』をダウンロードする。
2:ダウンロードは、自動的に始まる。必要に応じてダウンロードファイルをコマンドで確認する。
#VirtualBoxを設定する。
VirtualBoxは、6.0.20を使用する。(2020/05/12時点の最新版)
1:『Oracle VM VirtualBox マネジャー』から『新規』ボタンをクリック。
2:『名前とオペレーションシステム』で名前を『UbuntuServer2004LTS』にして『続きボタン』をクリック。
3:『メモリサイズ』では、デフォルトで『1024』MBとなっています。そのままでもインストールは可能ですが、ここでは、『2048』MBに設定して、『続き』ボタンをクリック。
4:『ハードディスク』はデフォルトままで、『続き』ボタンをクリック。
5:『ハードディスクのファイルタイプ』は、デフォルトままで『続き』ボタンをクリック。
6:『物理ハードディスクにあるストレージ』は、デフォルトままで『続き』ボタンをクリック。
7:『ファイルの場所とサイズ』は、デフォルトままで『続き』ボタンをクリック。
9:『Oracle VM VirtualBox マネジャー』で今作成した仮想マシンを選択する。『設定ボタン』をクリックし、『ネットワーク』タブ、『アダプター1』をクリック。
デフォルトで、『NAT』が設定されているので、『ブリッジアダプター』に変更する。
10:『ストレージ』タブをクリックして、『コントローラー:IDE』の空ドライブを選択し、光学ドライブ横の、ディスクのアイコンをクリックして、ダウンロードしたisoファイルを指定する。
#インストール
1:仮想マシンを選択し、『起動』ボタンをクリックする。
2:仮想マシンのディスプレイが小さい場合、『Oracle VM VirtualBox マネジャー』の『設定』ボタンをクリックし、『ディスプレイ』タブの表示倍率を『200%』する。
![02_2.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F8feb0b07-c4f7-918b-9058-15f851e7ef05.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=7ccc831c7dd9bb693e17fe57458ce9e8)
![02_3.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F757139e9-0d80-c39b-b3bf-52f44ecc3b51.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=67d9e70835491ffb0262e3e53afa6d62)
3:[Welcome! 画面] ディスプレイ上の『×』アイコンをクリックして、通知を消し、『English』を選択し、Returnキーを押す。
4:[Installer update avaliable 画面] 『Continue without updating』を選択し、Returnキーを押す。
5:[Keyboard configuration 画面] キーホードを適宜選択したら、『Done』を選択し、Returnキーを押す。(ここでは、USキーボードを使用している為、English (US)を選択)
6:[Network connections 画面] ここでは、ネットワークインターフェイスを設定する。ここでは、DHCPで割り当てられているが、のちほど、固定IPに設定する。『Done』を選択し、Returnキーを押す。
(オプション) インストール時に固定IPにする。
基本設定の固定IPの手順で固定IPの設定をしますが、こちらで固定IPの設定も可能です。ご参考まで。
![06_2.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F6b0b0257-ee0e-e89f-9ec4-9459ba043789.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c20d7e6db6ebc347578e0ae30286aa55)
![06_3.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2Fbbfe3298-392c-d45b-6d2f-b3ef23aa0a16.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=9d1c8f8ea9f8639cbfdb6371d5aa6d02)
7:[Configre proxy 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
8:[Configure Ubuntu archive mirror 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
9:[Guided storage configuration 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
10:[Storage configuration 画面] なにも変更せず、『Done』を選択し、Returnキーを押す。
『Confirm destructive action』のアラートが出るので、『Continue』を選択して、Returnキーを押す。
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](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F16036bb8-b0d0-9c5a-56ce-f7d758e98b7f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8046b2a0f157449fe7453c6e597f58ec)
12:[SSH Setup 画面] ここでは、なにも変更ぜず、『Done』を選択し、Returnキーを押す。
(オプション) インストール時にSSH Serverをインストールする。
パッケージをインストールのSSH Serverの手順でSSH Serverをインストールしますが、こちらでもインストール可能です。その場合、基本設定からSSHが利用できます。ご参考まで。
13:[Featured Server Snaps 画面] ここでは、なにも変更ぜず、『Done』を選択し、Returnキーを押す。
14:[Install complete 画面] しばらくすると、インストールが完了する。
『Reboot』を選択し、Returnキーを押す。
15: [Roboot後 画面] CD-ROMがアンマウントされないというアラートが出ますが、アンマウントされているので、ウィンドウを閉じて終了。
#基本設定
##パッケージのアップデート
$ sudo apt-get update
$ sudo apt-get upgrade
##固定IP
1: 現在のネットワークの状況を確認する。
$ ip a
![static_01.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F5720eea4-4566-44f1-5654-96a49405154e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5b690419d22a2594e9a3b0fae7e5265f)
2: /etc/netplan/00-installer-config.yamlを確認する。
$ cat /etc/netplan/00-installer-config.yaml
![static_02.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F047b193b-7800-66c5-0b50-1e489222623c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=58152af0fa9797347c0c2adb4e3e4b7b)
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](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F3148c1c5-09de-e4b2-6bbc-2c261cf6b263.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=9ffe8555652e62fa282cd2b8a100cf85)
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](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F773da093-bb15-b581-7d27-6b67759aae7c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=1074c822025207d61b3f0a6966619a43)
$ sudo netplan apply
$ ip a
![static_05.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F3f20fe25-95ba-ae13-62df-10ae0347077e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=278b8186f0d98eced5bd52fbcf880597)
##タイムゾーン
1: タイムゾーンを確認する。
$ timedatectl
![timedate_01.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F9fa42ee0-73a9-3d67-1110-5a02ea562800.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c5757be1ef3d8ff3103431c56009979f)
2: タイムゾーンを変更し再確認する。
$ sudo timedatectl set-timezone Asia/Tokyo
![timedate_02.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F4150b0ee-0117-5cbb-3a89-13ae9daed07a.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5cb2bb614be151526ed09bbbe857d592)
ロケール
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
LANG=ja_JP.UTF-8
##ファイアウォール
1:現在のファイアウォールの状況を確認する。
$ systemctl status ufw
$ sudo ufw status verbose
![ufw_01.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2Feeda131f-3a97-7edf-0a5e-c98456446d12.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e27e7770f7d65b1e39946259a0ae3035)
2:動作される
$ sudo ufw enable
3:現在のルールを確認する。
$ sudo ufw status verbose
![ufw_02.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F54439%2F5e6d034b-ae88-2262-d075-286e447efd7f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=eff38a280ad376d9f4643c6c0c2f48db)
4:適宜ポートを解放する。
$ sudo ufw allow ssh
$ 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/ 』にアクセスする。
##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: 動作確認
<?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