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を使った方が他のソフトの相性などでスムーズに設定できるような気がします