Ubuntu に LAMP 環境を構築して Resource Space を動かすところまで (1/2 – LAMP構築まで)

経緯

Ubuntu 22.04 LTS をインストールして、 24.04.1 LTS までアップグレードした箱を作ったので、その上に LAMP 環境を作って改めて Resource Space を試してみることにしました。

手順

全体の流れはこちらを参考に。

Ubuntu のインストール

今回は冒頭の通り、いったん手持ちのメディアで Ubuntu 22.04 LTS をインストール、その後 24.04.1 LTS までアップグレード、という手順を踏みました。

  • 日本語
  • 標準インストール、パーティションも普通
  • PC名・ユーザ名・パスワード決めてインストール
$ sudo apt-get update -y
$ sudo apt-get update -y
$ sudo do-lerease-upgrade

これで 20.04 → 22.04、 22.04 → 24.04 へアップグレード。

$ sudo apt-get update -y
$ sudo apt-get update -y
$ sudo apt autoremove
$ sudo apt-get install -y vim less procps iproute2 openssh-server
$ sudo passwd root

最低限必要そうなパッケージを入れて、 SSHサーバ も入れて、 ssh接続 できることを確認。その後IP設定変更。

これでベースの部分ができました。

Ubuntu のアップデート・アップグレード

Ubuntu のインストールから今回の作業までに間が空いてしまったので改めてアップデートとアップグレードを。

# apt update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu noble InRelease
ヒット:2 http://security.ubuntu.com/ubuntu noble-security InRelease
取得:3 http://jp.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
ヒット:4 http://jp.archive.ubuntu.com/ubuntu noble-backports InRelease
126 kB を 2秒 で取得しました (69.3 kB/s)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
アップグレードできるパッケージが 94 個あります。表示するには 'apt list --upgradable' を実行してください。
# apt upgrade -y
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージはアップグレードされます:

## 略

fontconfig (2.15.0-1.1ubuntu2) のトリガを処理しています ...
desktop-file-utils (0.27-2build1) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
gnome-menus (3.36.0-1.1ubuntu3) のトリガを処理しています ...
libc-bin (2.39-0ubuntu8.3) のトリガを処理しています ...
man-db (2.12.0-4build2) のトリガを処理しています ...
libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.2) のトリガを処理しています ...
dbus (1.14.10-4ubuntu4.1) のトリガを処理しています ...
shared-mime-info (2.4-4) のトリガを処理しています ...
initramfs-tools (0.142ubuntu25.4) のトリガを処理しています ...
update-initramfs: Generating /boot/initrd.img-6.8.0-50-generic

OK.

Apache

一通りパッケージの更新が終わったら Apache をインストールします。

# apt install -y apache2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  apache2-bin apache2-data apache2-utils libapr1t64 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libaprutil1t64

## 略

ufw (0.36.2-6) のトリガを処理しています ...
man-db (2.12.0-4build2) のトリガを処理しています ...
libc-bin (2.39-0ubuntu8.3) のトリガを処理しています ...
Apache が動いていることを確認
Apache が動いていることを確認

http://localhost/ にアクセスして Apache2 のデフォルトページで「It works!」と言われていることを確認。

ひとまずOK。

MariaDB

続いて MariaDB 。

# apt install -y mariadb-client mariadb-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  galera-4 gawk libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl
  libdbd-mysql-perl libdbi-perl libfcgi-bin libfcgi-perl libfcgi0t64
  libhtml-template-perl libmariadb3 libmysqlclient21 libsigsegv2 libsnappy1v5
  libterm-readkey-perl liburing2 mariadb-client-core mariadb-common
  mariadb-plugin-provider-bzip2 mariadb-plugin-provider-lz4
  mariadb-plugin-provider-lzma mariadb-plugin-provider-lzo
  mariadb-plugin-provider-snappy mariadb-server-core mysql-common pv socat

## 略

man-db (2.12.0-4build2) のトリガを処理しています ...
libc-bin (2.39-0ubuntu8.3) のトリガを処理しています ...
mariadb-server (1:10.11.8-0ubuntu0.24.04.1) のトリガを処理しています ...

OK。

# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.11.8-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> quit;
Bye

#

ついでに mysql コマンドでログインできることも確認します。OKです。

PHP

次に PHP です。今回はとりあえず動けば良いや、ということでモジュール版です。

# apt install -y php php-dev php-gd php-mysql php-mbstring php-zip php-intl php-curl php-dom libapache2-mod-php ffmpeg poppler-utils
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了

## 略

php8.3-cli (8.3.6-0ubuntu0.24.04.3) のトリガを処理しています ...
libapache2-mod-php8.3 (8.3.6-0ubuntu0.24.04.3) のトリガを処理しています ...

OKです。

phpMyAdmin

ついでに MariaDB を GUI から操作するために phpMyAdmin も入れます。

# apt install phpmyadmin
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了

## 略

パッケージからテンプレートを展開しています: 100%
パッケージを事前設定しています ...
phpMyAdmin 設定画面(Webサーバの選択)
phpMyAdmin 設定画面(Webサーバの選択)

インストール途中に phpMyAdmin の対話式設定画面が来るので入力。今回は動作させる Webサーバ は Apache で。

取得:43 http://jp.archive.ubuntu.com/ubuntu noble/universe amd64 php-slim-psr7 all 1.6.1-1 [18.3 kB]

## 略

phpmyadmin (4:5.2.1+dfsg-3) を設定しています ...
phpMyAdmin 設定画面(dbconfig-common の設定)
phpMyAdmin 設定画面(dbconfig-common の設定)

再び phpMyAdmin の対話式設定画面。

phpMyAdmin 設定画面(パスワードの設定)
phpMyAdmin 設定画面(パスワードの設定)

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

Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf

## 略

man-db (2.12.0-4build2) のトリガを処理しています ...
php8.3-cli (8.3.6-0ubuntu0.24.04.3) のトリガを処理しています ...

OK。

# cp -p /etc/phpmyadmin/config.inc.php /etc/phpmyadmin/config.inc.php.bak

いったん設定ファイルのバックアップを取っておいて

# vi /etc/phpmyadmin/config.inc.php

    /* Uncomment the following to enable logging in to passwordless accounts,
     * after taking note of the associated security risks. */
    // $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

   $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

AllowNoPasswordTRUE にしてパスワードなしでログインできるようにします (後で変更します)。

トラブルシューティング (phpMyAdmin にログインできない)

AllowNoPasswordTRUE にしたのですが、いざ phpMyadmin へ http://localhost/phpmyadmin/ でアクセスして root でログインしようとしても

MySQL サーバにログインできません

mysqli::real_connect(): (HY000/1698): Access denied for user ‘root’@’localhost’

phpMyAdmin で「MySQL サーバにログインできません」のエラー
phpMyAdmin で「MySQL サーバにログインできません」のエラー

上下にこのようなエラーが表示されてしまいログインできません。

こちらの記事を参考に対処。

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 108
Server version: 10.11.8-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SELECT user,password,plugin, authentication_string from mysql.user;
+-------------+-------------------------------------------+-----------------------+-------------------------------------------+
| User        | Password                                  | plugin                | authentication_string                     |
+-------------+-------------------------------------------+-----------------------+-------------------------------------------+
| mariadb.sys |                                           | mysql_native_password |                                           |
| root        | invalid                                   | mysql_native_password | invalid                                   |
| mysql       | invalid                                   | mysql_native_password | invalid                                   |
| phpmyadmin  | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
+-------------+-------------------------------------------+-----------------------+-------------------------------------------+
5 rows in set (0.001 sec)

記事と同様に root の Password カラムが invalid になっています。これはおかしい。

MariaDB [(none)]> set password for root@localhost=password('');
Query OK, 0 rows affected (0.003 sec)

MariaDB [(none)]> SELECT user,password,plugin, authentication_string from mysql.user;
+-------------+-------------------------------------------+-----------------------+-------------------------------------------+
| User        | Password                                  | plugin                | authentication_string                     |
+-------------+-------------------------------------------+-----------------------+-------------------------------------------+
| mariadb.sys |                                           | mysql_native_password |                                           |
| root        |                                           | mysql_native_password |                                           |
| mysql       | invalid                                   | mysql_native_password | invalid                                   |
| phpmyadmin  | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | *C830ED69191BD19D098F2A3E9CCA036277A70406 |
+-------------+-------------------------------------------+-----------------------+-------------------------------------------+
5 rows in set (0.001 sec)

MariaDB [(none)]> quit
Bye
phpMyAdmin ログイン後ホーム画面
phpMyAdmin ログイン後ホーム画面

コマンドからパスワードを設定し直すことで root / パスワード無し でログインできるようになりました。

ログインできたらパスワードを変更しておきます。

さて、ここまでの作業で最低限 LAMP がインストールできたはずなのでバージョン確認しておきます。

# apache2 -v
Server version: Apache/2.4.58 (Ubuntu)
Server built:   2024-10-02T12:40:51

# php --version
PHP 8.3.6 (cli) (built: Dec  2 2024 12:36:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies

# mariadb --version
mariadb  Ver 15.1 Distrib 10.11.8-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

#

OKですね。

まずは LAMP インストールまで完了したのでいったん区切りとします。

次は Resource Space をインストールするための設定から実際にインストールして挙動確認するところまでやってみたいと思います。

参考

全体 (LAMP構築) の流れ

phpMyAdmin で root でログインできない (MySQL サーバにログインできません / mysqli::real_connect(): (HY000/1698): Access denied for user ‘root’@’localhost’)

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。