広告

Ubuntu Server 20.04LTSにLAMP環境

ssh接続 VirtualBox
この記事は約10分で読めます。

VirtualBoxにUbuntu Server 20.04LTSをインストールしたので、LAMP環境を構築します。

環境

ホスト:WIndows10・・・Macでも操作はほぼ変わりません

ゲスト:Ubuntu Server 22.04 LTS

VirtualBox:バージョン6.1.30

SSHで操作するパソコン:Windows10

SSH接続

Windows power shellを使ってSSH接続します。

Windows power shellを立ち上げると

PS C:\Users\ユーザー名>

と出てくるので、SSH接続します。

ssh サーバーのログインID名@固定IPアドレス

で接続できます。

ssh roots@192.168.0.120

最初に接続すると、

The authenticity of host '192.168.0.120 (192.168.0.120)' can't be established.
ECDSA key fingerprint is SHA256:6i~~~~~~~~~~~~~.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

と聞いてくるので、yesと入力します。

roots@192.168.0.120's password:

と聞いてくるので、パスワードを入れます。

パスワードは表示されませんので、ご注意ください。

ssh接続

上記のように表示されたら、SSHで接続できました。

アップデート

コマンド

sudo apt update; sudo apt upgrade
[sudo] password for roots:

パスワードを入力します。

Hit:1 http://jp.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:3 http://jp.archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Get:4 http://jp.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:5 http://jp.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [479 kB]
Get:6 http://jp.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [203 kB]

上記のようにアップデートされます。

途中で、

Do you want to continue? [Y/n] 

と聞いてきたらyと入力します。

アップデート

と表示されたら、とりあえず全部にチェックをいれて(スペースキー)でタブキーでOKボタンを選択してエンターキー。

ApacheWebサーバーをインストール

コマンド

sudo apt install -y apache2 apache2-utils

インストールすると、 Apacheは自動的に起動します。

Apacheのステータスを確認

コマンド

systemctl status apache2

active(running)となっていればOK。

Apache確認

エンターキーを押して、「Ctrl+C」キーで脱出します。

Apacheのバージョンを確認

コマンド

apache2 -v

表示されたものにApacheのバージョンが出てきます。

Server version: Apache/2.4.52 (Ubuntu)
Server built: 2022-06-14T12:30:2

ブラウザで確認

ブラウザでサーバーのIPアドレスをいれると、下記の画面(ディフォルト画面)が出てきます。

Apache2 Default Page

ファイアウォール設定

コマンド

sudo ufw app list

表示

Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
  • Apache:ポート80を開きます。
  • Apache Full:ポート80とポート443(TLS/SSL暗号トラフィック)の両方を開きます。
  • Apache Secure:ポート443(TLS/SSL暗号トラフィック)のみを開きます。

ポート80だけにするときのコマンド

sudo ufw allow in "Apache"

MariaDBデータベースインストール

コマンド

sudo apt install mariadb-server mariadb-client

インストールすると、 MariaDBは自動的に起動します。

ステータスを確認

コマンド

systemctl status mariadb

active(running)となっていればOK。

自動起動設定

起動したときにMariaDBが起動する設定をします。

コマンド

sudo systemctl enable mariadb

自動起動の設定確認。

コマンド

systemctl is-enabled mariadb

enabledと表示されたら、正常です。

セキュリティスクリプトを実行

コマンド

sudo mysql_secure_installation

設定ウィザードが起動します。

Enter current password for root (enter for none):

データベースにパスワードを設定していますか? と聞いてきます。エンターキーを押します。

Switch to unix_socket authentication [Y/n]

unix_socket認証に切り替えますか? と聞いてくるので、Yを選択。

Change the root password? [Y/n]

パスワードを変えますか? と聞いてくるので、Yを選択。

New password:

パスワードを入力します。(パスワードは表示されません)

Re-enter new password:

確認用パスワードを入力します。

Remove anonymous users? [Y/n]

匿名ユーザーを消しますか? と聞いてくるので、Yを選択。

Disallow root login remotely? [Y/n]

リモートでの root ログインを禁止しますか? と聞いてくるので、Yを選択。

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

テストデータベースを消してアクセスしますか? と聞いてくるので、Yを選択。

Reload privilege tables now? [Y/n]

今すぐ特権テーブルをリロードしますか? と聞いてくるので、Yを選択。

MariaDBの文字コード変更

設定ファイルの場所に移動します。

コマンド

cd /etc/mysql/mariadb.conf.d/

コマンド

sudo vim 50-client.cnf
vimコマンド

i 挿入
esc 挿入をやめる

:q 閉じる
:wq 保存して閉じる

[client]の下に下記を入れます。

default-character-set = utf8mb

コマンド

sudo vim 50-mysql-clients.cnf

[mysql]の下に下記を入れます。

default-character-set = utf8mb4

MariaDBを再起動

コマンド

sudo systemctl restart mariadb

MariaDBにログインして調べます。

コマンド

sudo mysql -uroot

コマンド

show variables like 'char%';

下記のように表示されたらOKです。

MariaDB [(none)]> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.008 sec)

character_set_system をutf8mb4にできなくて、諦めました。

PHP8をインストール

依存関係をインストール

build-essential、aptでhttps通信を行うためのapt-transport-httpsをインストール

コマンド

sudo apt install build-essential apt-transport-https

PPA(個人のパッケージ保管庫:Personal Package Archive)を有効にする

PPAでPHP8.1を配布してくれているのはチェコのエンジニア、Ondřej Surý(オンドレイ・スリー)氏です。ありがとうございます。

コマンド

sudo add-apt-repository ppa:ondrej/php

Press [ENTER] to continue or Ctrl-c to cancel. と出てくるので、エンターキーを押す。

キャッシュの更新

コマンド

sudo apt update

php8.1のインストール

apt searchコマンドでphp8.1関連のパッケージ(モジュール)一覧及び説明を見る。

コマンド

apt search php8.1
  • 本体
  • intl:国際化
  • mbstring:マルチバイト文字
  • gd:画像関連ライブラリ
  • fpm:FastCGI Process Manager

とりあえず、上記のモジュールをインストール。

コマンド

sudo apt install php8.1 php8.1-intl php8.1-mbstring php8.1-gd php8.1-fpm

バージョン確認

php -v

表示

roots@ubuntu:~$ php -v
PHP 8.1.8 (cli) (built: Jul 11 2022 08:30:39) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.8, Copyright (c) Zend Technologies
with Zend OPcache v8.1.8, Copyright (c), by Zend Technologies

とりあえず完成

とりあえず、LAMP環境は整ったと思います。