Ubuntu22.04にLAMP環境を構築する手順書

未分類
  1. はじめに
  2. 今回インストールと動作確認するサービス
  3. 前提条件
  4. 一般ユーザーからrootユーザーに切り替え
    1. rootパスワードの設定
    2. rootユーザーに切り替え
  5. ファイアウォールの無効化
  6. apparmor無効化
  7. 再起動
  8. Vimのインストール
  9. Apacheのインストール
    1. インストール
    2. Version確認
    3. 起動
    4. 起動状態の確認
    5. 自動起動設定を有効化
    6. 自動起動設定を確認
    7. Apacheにアクセスする
  10. PHPのインストール
    1. インストール
    2. インストールの確認
    3. 設定 (必要であれば)
    4. Apache再起動
  11. MariaDBのインストール
    1. インストール
    2. Version確認
    3. 起動
    4. 起動状態の確認
    5. 自動起動設定を有効化
    6. 自動起動設定を確認
    7. 初期設定スクリプト実行
  12. MariaDBにユーザーの追加と特権の設定
    1. MariaDBにログイン
    2. ユーザーの追加
    3. 特権の設定と反映
    4. MariaDBからログアウト
  13. 外部からの接続許可設定
    1. MariaDBの再起動
  14. phpMyAdminのインストール
    1. インストール
      1. phpmyadmin を設定しています その1
      2.  phpmyadmin を設定しています その2
    2. phpMyAdminにアクセスする
  15. vsftpdのインストール
    1. インストール
    2. 起動
    3. 起動状態の確認
    4. 自動起動設定を有効化
    5. 自動起動設定を確認
    6. 初期設定
    7. 設定項目
    8. 最終行に設定を新規追加
    9. アクセス許可をするユーザを設定する
    10. vsftpdの再起動
  16. WordPressのインストール
    1. ダウンロード
    2. 解凍
    3. ディレクトリの所有者をwww-dataに変更
    4. WordPress用のデータベースを作成
      1. MariaDBにログイン
      2. WordPress用のデータベースを作成
    5. WordPress用のユーザーを作成
    6. WordPressの初期設定

はじめに

Ubuntu22.04にLAMP環境の構築とWordPressの導入・動作確認までの手順書を記載します。

尚、今回は勉強用のためファイアウォールやapparmorを止めて操作を行います。

今回インストールと動作確認するサービス

  • Apache Ver.2.4.52
  • PHP Ver.8.1.2
  • MariaDB Ver.10.6.16
  • phpMyAdmin Ver.5.1.1
  • vsftp Ver.3.0.5

前提条件

下記の記事で仮想環境が準備できており、Tera TermでSSH接続できている事です。

Windows11+VirtualBox+Ubuntu22.04+SSH接続の環境構築手順書(NAS)
はじめに VirtualBox上にUbuntu22.04をインストールして外部からSSH接続できるまでの手順を記載する。 Ubuntu22.04はGUI環境もインストールする。 動作環境 OS Microsoft Windows11 Pro...

一般ユーザーからrootユーザーに切り替え

rootパスワードの設定

sudo passwd root

実行結果

[sudo] jet-blog のパスワード:
新しい パスワード:
新しい パスワードを再入力してください:
passwd: パスワードは正しく更新されました

説明

初めに自分のアカウントのパスワードを入力してください。
その後、rootパスワードを「新しいパスワード」で設定してください。

rootユーザーに切り替え

su -

実行結果

パスワード:

説明

パスワードの入力を求められるので、先ほど設定したrootユーザーのパスワードを入力してください。
※入力できていないように見えますが、入力できています。

ファイアウォールの無効化

ufw disable

apparmor無効化

service apparmor stop

再起動

shutdown -r now

※再起動後、一般ユーザーからrootユーザーに切り替えを忘れずに!!

Vimのインストール

apt install -y vim

Apacheのインストール

インストール

apt install -y apache2

Version確認

apache2 -v

実行結果

Server version: Apache/2.4.52 (Ubuntu)
Server built: 2024-01-17T03:00:18

起動

service apache2 start

起動状態の確認

service apache2 status

実行結果

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-04-08 13:01:43 JST; 3min 55s ago

説明

Active: active (running) と表示されていたら起動中です。

自動起動設定を有効化

systemctl enable apache2

実行結果

Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2

自動起動設定を確認

systemctl is-enabled apache2

実行結果

enabled

説明

enabled と表示されていたら、次回起動時に自動起動します。

Apacheにアクセスする

http://localhost/ にブラウザでアクセスしてください。

Apacheのデフォルト画面が表示されます。

PHPのインストール

インストール

apt install -y php php-mysql libapache2-mod-php libapache2-mpm-itk

インストールの確認

php -v

実行結果

PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
...省略...

説明

PHP 8.1.2 が今回インストールされたPHPのVersionです。

設定 (必要であれば)

vim /etc/php/8.1/apache2/php.ini
  • エラーメッセージをブラウザに表示するように設定を変更
    • 486行目 : すべてのエラーを表示する設定
      error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

      error_reporting = E_ALL
    • 503行目 : エラーを画面に表示する
      display_errors = Off

      display_errors = On

Apache再起動

service apache2 restart

MariaDBのインストール

インストール

apt install -y mariadb-server mariadb-client

Version確認

mariadb -V

実行結果

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

起動

systemctl start mariadb

起動状態の確認

systemctl status mariadb

実行結果

● mariadb.service - MariaDB 10.6.16 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-04-08 14:32:58 JST; 3min 18s ago

説明

Active: active (running) と表示されていたら起動中です。

自動起動設定を有効化

systemctl enable mariadb

実行結果

Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb

自動起動設定を確認

systemctl is-enabled mariadb

実行結果

enabled

enabled と表示されていたら、次回起動時に自動起動します。

初期設定スクリプト実行

mariadb-secure-installation

質問形式でMariaDBの初期設定を行ってくれます。

  • Enter current password for root (enter for none):
    • MariaDBの現在のrootパスワードを入力してください。
      • 初期はパスワード無し(none)なので、そのままEnter
  • Switch to unix_socket authentication [Y/n]
    • unix_socket認証に切り替えます。
      • 「Y」を入力してEnterキー
  • Change the root password? [Y/n]
    • Rootのパスワードを変更しますか?
      • 「Y」を入力してEnterキー
      • パスワードを入力してください。
  • Remove anonymous users? [Y/n]
    • 匿名ユーザーを削除しますか?
      • 「Y」を入力してEnterキー
  • Disallow root login remotely? [Y/n]
    • リモートからのrootログインを無効にしますか?
      • 「n」を入力してEnterキー
  • Remove test database and access to it? [Y/n]
    • testデータベースとアクセス権限を削除しますか?
      • 「n」を入力してEnterキー
  • Reload privilege tables now? [Y/n]
    • 特権テーブルを今すぐ再読み込みしますか?
      • 「Y」を入力してEnterキー
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

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

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

MariaDBにユーザーの追加と特権の設定

MariaDBにログイン

mysql -u root -p

実行結果

Enter password:

説明

MariaDBのrootユーザーのパスワードを入力してください。
※CentOS7のrootユーザーのパスワードではありません。

ユーザーの追加

CREATE USER 'jet-blog'@'%' IDENTIFIED BY 'password';

特権の設定と反映

GRANT ALL PRIVILEGES ON *.* TO 'jet-blog'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

MariaDBからログアウト

exit;

外部からの接続許可設定

vim /etc/mysql/mariadb.conf.d/50-server.cnf

27行目
bind-address = 127.0.0.1

bind-address = 0.0.0.0

MariaDBの再起動

systemctl restart mariadb

phpMyAdminのインストール

インストール

apt install -y phpmyadmin

phpmyadmin を設定しています その1

「apache2」にチェック(※1)して<了解>を選択してください。
(※1)「apache2」を選択状態(アクティブ)で、スペースキーを押すと「*」(チェック)が入ります。

 phpmyadmin を設定しています その2

<はい>を選択してEnterキーを押してください。

お好きなパスワードを入力してください。

入力できたら<了解>を選択してEnterキーを押してください。
※ Tabキーで移動できます。

再度同じパスワードを入力してください。

入力できたら<了解>を選択してEnterキーを押してください。
※ Tabキーで移動できます。

phpMyAdminにアクセスする

http://localhost/phpmyadmin にブラウザでアクセスしてください。

ユーザー名とパスワードを入力してください。

入力できたら「実行」をクリックしてください。

phpMyAdminの画面が表示されます。

 

vsftpdのインストール

インストール

apt install -y vsftpd

起動

systemctl start vsftpd

起動状態の確認

systemctl status vsftpd

実行結果

● vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-04-08 15:28:14 JST; 1min 34s ago

説明

Active: active (running) と表示されていたら起動中です。

自動起動設定を有効化

systemctl enable vsftpd

実行結果

Synchronizing state of vsftpd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable vsftpd

自動起動設定を確認

systemctl is-enabled vsftpd

実行結果

enabled

説明

enabled と表示されていたら、次回起動時に自動起動します。

初期設定

vim /etc/vsftpd.conf

設定項目

25行目:匿名ユーザのアクセスを拒否する
「YES」→「NO」に変更
anonymous_enable=NO

31行目:ファイルシステムを変更するFTPコマンドを許可する
「#」(コメントアウト)を削除して有効化
write_enable=YES

35行目:アップロード時のパーミッション書き換え設定
「#」(コメントアウト)を削除して有効化
「022」であれば「000」に変更
local_umask=000

99行目:アスキーモードのアップロードを許可する
「#」(コメントアウト)を削除して有効化
ascii_upload_enable=YES

100行目:アスキーモードのダウンロードを許可する
「#」(コメントアウト)を削除して有効化
ascii_download_enable=YES

114行目:設定したディレクトリより上層への移動を禁止する
「#」(コメントアウト)を削除して有効化
chroot_local_user=YES

123行目:YESの場合、リストアップされたユーザはchrootの対象から除外される
「#」(コメントアウト)を削除して有効化
chroot_list_enable=YES

125行目:リストアップのファイルの場所を指定する
「#」(コメントアウト)を削除して有効化
chroot_list_file=/etc/vsftpd.chroot_list

131行目:サブフォルダを含む一括アップロード・ダウンロードを出来るようにする
「#」(コメントアウト)を削除して有効化
ls_recurse_enable=YES

最終行に設定を新規追加

use_localtime=YES
pasv_enable=NO

アクセス許可をするユーザを設定する

vi /etc/vsftpd.chroot_list

新規(空)ファイルとして開かれます。
今回は例として「jet-blog」ユーザを1行追加する。

vsftpdの再起動

systemctl restart vsftpd

WordPressのインストール

ダウンロード

cd /var/www/html
sudo wget https://ja.wordpress.org/latest-ja.tar.gz

解凍

tar xvf latest-ja.tar.gz

ディレクトリの所有者をwww-dataに変更

chown -R www-data:www-data .

WordPress用のデータベースを作成

MariaDBにログイン

mysql -u root -p

WordPress用のデータベースを作成

create database wordpress default character set utf8;

WordPress用のユーザーを作成

GRANT ALL ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit;

WordPressの初期設定

http://localhost/wordpress にブラウザでアクセスしてください。

「さあ、始めましょう!」をクリックしてください。

データベース名 : wordpress
ユーザー名 : wordpress
パスワード : password
を入力してください。

入力できたら「送信」をクリックしてください。

「インストール実行」をクリックしてください。

サイトのタイトル : お好きなタイトル名を入力
ユーザー名 : お好きなユーザー名を入力
パスワード : お好きなパスワードを入力
メールアドレス : お好きなメールアドレスを入力
検索エンジンでの表示 : 今回はチェックを入れます。

入力できたら「WordPress を インストール」をクリックしてください。

早速ログインしていきましょう。

さきほど作成したユーザー名とパスワードを入力して、「ログイン」をクリックしてください。

WordPressのインストールが成功しました。

タイトルとURLをコピーしました