ラズベリーパイでサーバー構築(LANP)

ラズベリーパイでサーバー構築(LANP)

Raspberry Pi マイコンを使って2023年3月、サーバー(LANP)を構築しみました。使用 OS はラズビアン32ビットです
Raspberry Pi は手軽に OS を書き換えできる非常に便利なマイコンです、是非勉強のためにも色々トライするのも楽しいしと思います 

スポンサーリンク

準備するもの

  • ラズベリーパイ本体どれでもOK
  • microSDカード16G以上
  • Windowsパソコン

Apache2のインストール

SD カードにラズビアン OS を書き込みする方法は前回の投稿でご確認してください
WindowsパソコンよりSSHでラズベリーパイにログインします
まず初めに、OSを最新の状態にします

pi@raspberrypi:~ $ sudo apt update

pi@raspberrypi:~ $ sudo apt upgrade

次に Apache 2をインストールします

pi@raspberrypi:~ $ sudo apt install apache2

Apache 2のバージョンを確認します

pi@raspberrypi:~ $ apache2 -v
Server version: Apache/2.4.54 (Raspbian)
Server built: 2022-06-09T04:26:43
pi@raspberrypi:~ $

ブラウザで、下記のURLにアクセスしてApache2の動作確認します

URL:http://プライベートIPアドレス/

今回 Apache2 を再起動しなくても確認できましたが、できない場合は再起動をしてください
また、ラズパイでは/var/www/html/index.htmlにデフォルトのページが作られます
下のページが表示されればOKです


PHP8.0 インストール

調べると PHP 最新8.1もインストールできるようですが、簡単にインストールできる8.0選びました 

pi@raspberrypi:~ $sudo apt install php8.0

PHPヴァージョン確認します

pi@raspberrypi:~ $ php -v
PHP 8.0.1 (cli) (built: Jan 12 2021 10:05:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.1, Copyright (c) Zend Technologies
with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies
pi@raspberrypi:~ $

Apache サーバーから 、PHP を使う際に必要となるphp-fpmをインストールします

pi@raspberrypi:~ $ sudo apt install php8.0-fpm

また下記の命令も実行しておきます

sudo apt install php8.0-bcmath php8.0-mbstring php8.0-xml php8.0-mysql

Apache サーバの再起動をします

pi@raspberrypi:~ $ sudo systemctl restart apache2

PHPの動作確認

テスト用ファイル「test.php」をnanoエディターでドキュメントルート(/var/www/)に作成してPHPの動作確認をします

pi@raspberrypi:~ $ sudo nano /var/www/html/test.php

記載内容は

<?php 
phpinfo();
?>

です。 コントロールOで書き込み、コントロールXでnanoを終了します

ブラウザを使用して、以下のURLにアクセスに、PHPの各種情報が表示されることを確認します

URL:http://プライベートIPアドレス/test.php

下記の情報が表示されれば成功です

MariaDBのインストール

データベース管理システムで使用するMariaDBデータベースのインストールを行います
無料で使用することができ、MySQLと高い互換性を有しています。

インストール

下記のコマンドでMariaDBをインストールします

$ sudo apt install -y mariadb-server

MariaDBをセットアップします

mysql_secure_installationツールを使ってユーザー権限等を書き換えします

pi@raspberrypi:~ $ sudo mysql_secure_installation

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] n  # n選ぶ
… skipping.

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

Change the root password? [Y/n] y  #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   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    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] y  yで

Dropping test database…
… Success!

Removing privileges on test database…
… Success!

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

Reload privilege tables now? [Y/n] y  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!
pi@raspberrypi:~ $

下記にコマンドを実行して、ローカルからのアクセスに限定する行をコメントアウトします

$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

この行です
#binde-address =127.0.0.1 を binde-address =127.0.0.1 コメントアウト

次に $ mysql -u root -p を実行して MariaDBにログインし青い字の部分を追記し
外部端末からのアクセスを許可します
今回パスワードはpassword になりますが、セキュリティー上まずいので自分で必ず変えてください。phpmyadminにログインするときに使います。

pi@raspberrypi:~ $ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 50
Server version: 10.5.15-MariaDB-0+deb11u1 Raspbian 11

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)]>grant all privileges on *.* to root@localhost identified by ‘password’ with grant option;
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.003 sec)

MariaDB [(none)]> quit
Bye
pi@raspberrypi:~ $

設定が終わったら、MariaDBを再起動して完了です

$ sudo systemctl restart mysql

phpMyAdminのインストール

ブラウザー上でMySQLサーバーを管理できるソフトです

インストール

$ sudo apt-get -y install phpmyadmin

インストールの途中で設定画面が出ます

[*] Apache2 - 了解
phpMyAdmin用のデータベースをdbconfig-commonで設定 はい
次の画面 了解 

以上の操作で自動インストールは完了です

phpMyaAdminの動作確認

下記のアドレスにアクセスします

http://raspberrypi.local/phpmyadmin/

ログイン画面で
ユーザー名 root で
パスワードを 自分がmariaDBで設定したものを入れます
下記の画面になれば成功です

もしログインできない場合phpmyadminを全て削除して再インストするとログインできるかもしれません。

Webサーバーは他にもたくさん細かく設定する項目があります
今回は一番簡単な設定でとりあえず動かすことを目的で作りました
次回は Web サーバーに FTP ソフトで接続できる環境を構築してみたいと思います 
また最後に PHP は8.0ではなく7.4を使った方が他のソフトの相性などでスムーズに設定できるような気がします

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