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で接続できました。
アップデート
コマンド
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。
エンターキーを押して、「Ctrl+C」キーで脱出します。
Apacheのバージョンを確認
コマンド
apache2 -v
表示されたものにApacheのバージョンが出てきます。
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2022-06-14T12:30:2
ブラウザで確認
ブラウザでサーバーのIPアドレスをいれると、下記の画面(ディフォルト画面)が出てきます。
ファイアウォール設定
コマンド
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
[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環境は整ったと思います。