#はじめに
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%』する。
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の設定も可能です。ご参考まで。
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 | **************** |
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
2: /etc/netplan/00-installer-config.yamlを確認する。
$ cat /etc/netplan/00-installer-config.yaml
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
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
$ sudo netplan apply
$ ip a
##タイムゾーン
1: タイムゾーンを確認する。
$ timedatectl
2: タイムゾーンを変更し再確認する。
$ sudo timedatectl set-timezone Asia/Tokyo
ロケール
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
2:動作される
$ sudo ufw enable
3:現在のルールを確認する。
$ sudo ufw status verbose
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