RaspberryPi3インストール備忘録20240306
1.
Imagerのインストール (Windows)
Raspberry Pi公式ダウンロードページから、Windows版をダウンロードします。
https://www.raspberrypi.com/software/
今回は、32GBSDHCに、(RaspberryPi OS 32bit)を インストールしました。
--------------------------------------------------------------------------------
初期設定
うまく起動してデスクトップ画面が表示されたら、初期設定を行う「Welcome to the Raspb
erry Pi Desktop」ダイアログが表示されますので、「Next」をクリックします。
国、言語とタイムゾーンの設定です。Countryで「Japan」を選択すると、Language、Timezo
neも自動的に設定されます。完了したら「Next」をクリックします。
ユーザーとパスワードの設定です。パスワードは確認のため同じものを2回入力します。202
2年4月までの長らくの間、デフォルトのユーザー名は「pi」となっていました。そのため、
ユーザー名piを前提とした解説記事も多く、初めての方や実験を目的とした場合はユーザー
名「pi」でも良いと思います。運用などその他の目的では、セキュリティの観点から独自の
ユーザー名をおすすめします。
完了したら「Next」をクリックします。ユーザー名piを使用した場合は確認が出るのでOKを
クリックします。
ディスプレイの外枠付近に何も表示されていない(黒くなっている)領域がある場合は、チェ
ックします。再起動後に画面の大きさを調整してくれます。完了したら「Next」をクリック
します。この画面が表示されない場合は次に進んでください。
WiFiの設定画面です。接続するWiFiのSSIDを選択します。有線接続など、WiFiを使用しない
場合は「Skip」でも構いません。完了したら「Next」をクリックします。
WiFiのパスワードを入力します。完了したら「Next」をクリックします。
デフォルトブラウザーの選択画面です。「Next」をクリックします。この画面が表示されな
い場合は次に進んでください。
インターネットに接続している場合は、ソフトウェアを最新バージョンにアップデートする
ことができます。アップデートしたい場合は「Next」をクリックします。
2021年11月にリリースされた(OSの日付は2021-10-30)Bullseyeより、アップデートすると自
動的に日本語入力環境がインストールされるようになりました。
アップデートしたくない場合は「Skip」をクリックします。アップデートは後からでも可能
です。
アップデートには多少(30分程度)時間がかかります。進捗が表示された後、完了すると以下
の画面になるので「OK」をクリックします。
Setup Completeのダイアログが表示されたら完了です。「Restart」をクリックすると再起
動します。
再起動後にデスクトップ画面が表示されれば、初回起動時の初期設定は終了です。
-------------------------------------------------------------------------------
2.
ラズベリーパイ 初期設定準備
電源はUSB microB、ディスプレイはHDMIです。対応するケーブルを用意しましょう。
有線LANを使用する場合はLANケーブルも接続します。
電源を接続するとそのまま起動してしまうので、電源は最後に接続します。
3.
VNCサーバーの設定 (Raspberry Pi)
スタートメニューから、「設定 -> Raspberry Piの設定」をクリックします。
設定ツールが起動するので、上部タブから「インターフェイス」を選択し、VNCの項目を有
効にして、「OK」をクリックします。
デスクトップ右上にVNCサーバーのアイコンが出現するので、クリックします。
4.
ディスプレイなしで起動できるようにする
Raspberry PiはHDMIケーブルからディスプレイの解像度を取得してデスクトップ画面に反映
させています。そのため、ディスプレイなしで起動すると、リモートからデスクトップ画面
を表示できなかったり、画面が小さくなる問題が起きます。
ここでは、デスクトップ画面の解像度を指定することで、ディスプレイなしで起動してもリ
モートからデスクトップ画面を表示できるように設定します。
スタートメニューから、「設定 -> Raspberry Piの設定」をクリックします。
設定ツールが起動するので、上部タブから「ディスプレイ」を選択し、ヘッドレス解像度の
選択ボックスをクリックします。
1920x1080
5.
Raspberry PiのIPアドレスを固定する
旧OS Bullseyeの手順で行った。
デスクトップ右上のネットワークアイコンを右クリックします。ここでは無線LANで接続し
ている状態ですが、有線でも同じ。
「Wireless & Wired Network Settings」をクリックします。
設定画面が表示されるので、interfaceの右の選択ボックスをクリックして、インターフ
ェースを選択します。有線LANの場合は「eth0」、無線LANの場合は「wlan0」を選択します。
「Automatically configure empty options」のチェックを外し、IPアドレスを手動で入力
します。IPv6を使わない場合は「Disable IPv6」をチェックします。編集が終わったら、
「適用」、「閉じる」をクリックします。
IPアドレスはお使いのルーターの設定によって変わります。設定値がわからない場合はIPア
ドレスの固定を行わずに次に進むことをおすすめします。
自動で割り振られた値が「192.168.X.Y」だった場合、以下のように設定するとうまくいく
可能性が高いです。
IPv4 Address: 192.168.X.Z (Zはネットワークで空いているアドレス)
Router, DNS Servers, DNS Search: 192.168.X.1
変更を反映させる(Bookworm/Bullseye共通の手順)
IPアドレスの変更を反映させるため、デスクトップ右上のネットワークアイコンをクリック
し、「Turn OFF Wi-Fi」で一度無効化します。
その後、再度ネットワークアイコンから「Turn On Wi-Fi」で接続し直します。
有線の場合は有線接続をOFF/ONして下さい。
以上でIPアドレスの固定は完了です。
6.
ラズパイ(Raspberry Pi)がWebサーバに早変わり
この記事ではラズパイのOSに「Raspbian Buster」を使用します。ApacheはさまざまなOSで
動作するよう設計されているため、OSのバージョンが異なっていてもインストール方法は大
きく変わりません。また、パッケージのインストールにはインターネット接続が必要です。
まずは、ターミナルを起動してOSを最新な状態に更新します。
$ sudo apt update && sudo apt upgrade -y
更新の完了後、Apacheをインストールします。
$ sudo apt install apache2 -y
ここでApacheのインストールが完了したか、ブラウザで確認してみましょう。
ラズパイのブラウザを起動して、アドレスバーに「http://localhost/」と入力してくださ
い。
ラズパイが接続しているローカルネットワーク上からアクセスする場合は、ラズパイのIPア
ドレスを事前に調べておく必要があります。通常のWebサーバはIPアドレスを固定しますが、
IPアドレスが分からない場合は、ターミナル上で次のコマンドを入力してください。
$ hostname -I
「xxx.xxx.xxx.xxx」(xxxは1?3桁の数字)といった表示を見つけてください。これがラズ
パイに割り当てられているIPアドレスです。このIPアドレスが、Webサーバを呼び出すURLに
なります。
ローカルネットワークに接続する別のPCからアクセスしてみましょう。ブラウザのアドレス
バーに「http://192.168.1.2/」と入力します。「192.168.1.2」の部分は、先ほど調べたIP
アドレスと置き換えてください。
ブラウザ上に、ページが表示されると思います。
7.
ラズパイ(Raspberry Pi)にPHPをインストールしよう
以下のコマンドを入力するだけで、PHPにApacheのモジュールをインストールできます。
$ sudo apt install php libapache2-mod-php -y
早速、PHPが正しくインストールされたか確認してみましょう。先ほどのHTMLファイルをPHP
で書かれたソースコードに置き換えます。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ファイル名を変更する場合、例えば、
$ mv 変更前のファイル名 変更後のファイル名
$ sudo mv index.html index2.html
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
「index.html」を削除して、新たに「index.php」を作成します。nanoにファイル名を指定
すれば、新しいファイル「index.php」が作成されます。
$ sudo rm /var/www/html/index.html
$ sudo nano /var/www/html/index.php
以下の一行を入力し保存します。
<<?php phpinfo(); ?>>
先ほどのブラウザ画面を再度読み込んでください。PHPの関数「phpinfo()」の出力結果が表
示されます。
8.
ラズパイ(Raspberry Pi)+Apache+PHP+MySQLは本格的なWebサーバ構成
ここまででも、十分に実用的なWebサーバですが、より実践的なWebサーバに近づける方法も
試してみる。
================================================================================
一般的にウェブページはHTMLとCSS、JavaScriptを組み合わせて作成します。Bootstrapとい
ったJavaScriptを使ったフレームワークは、数多くのライブラリーが用意されているので、
手軽に凝ったウェブページが作成できます。
もしHTMLやCSSを作成することが面倒なら、最近ではHugoのような静的サイトジェネレータ
を利用してみるのもいいでしょう。
静的なコンテンツの作成に慣れてきたら、次は動的コンテンツの作成です。動的コンテンツ
を使った実用的なサービスには、データベースが不可欠です。ラズパイに構築したWebサー
バに、MariaDB(MySQL)を追加すれば、LAMP(Linux、Apache、MySQL、PHPの頭文字)と呼
ばれる、Webサーバで広く使われている構成を実現できます。CMSとして有名なWordPressな
どもこの構成です。この組み合わせをマスターすれば、Wikiサイトやフォーラムの運営など
も可能となります。
->PHPよりPythonのプログラミングに慣れている人もいるでしょう。Pythonを使ったIoTデ->
バイスやホームオートメーションコントローラーを作ることもできます。
ただし、ApacheとPythonの組み合わせは少し複雑です。PythonにもApacheのモジュールが開
発されていますが、PHPと比べあまり普及が進んでいません。今のところはCGIとしてPython
で作成したプログラムを実行する方が簡単でしょう。
もし、CGIでPythonのプログラムが起動できない場合は、Apacheを通さないPythonのhttp.se
rverモジュールを利用する方法もあります。ただしhttp.serverモジュールは、ややテスト
向けといった色合いが強いので、本格的な運用ではDjangoやFlaskのようなフレームワーク
を使うのがおすすめです。Flaskは提供する機能を最小限に絞っているためDjangoより軽量
に動作します。
================================================================================
hirat@raspberrypi:~ $ php -v
PHP 7.4.33 (cli) (built: Jun 9 2023 16:51:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
9.
MariaDBは、人気が高いLAMP(Linux、Apache、MySQL、PHP/Python/Perl)スタックのデータ
ベース部分のMySQLの代替として使用されているオープンソースリレーショナルデータベー
ス管理システムです。MySQLの代わりになることが意図されています。
n
このインストールガイドの簡素版は、次の3つのステップで構成されています。
aptを使用したパッケージインデックスを更新
aptを使用してmariadb-serverパッケージをインストールするパッケージも関連ツールで制
御し、MariaDBと情報を交換する
含まれたmysql_secure_installationセキュリティスクリプトを実行して、サーバーへのア
クセスを制限する
$ sudo apt update
$ sudo apt install mariadb-server
$
いろいろ尋ねられますので次の通り入力します。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Enter current password for root (enter for none): <--何も押さずにEnter
Switch to unix_socket authentication [Y/n]: <--n
Change the root password? [Y/n]: <--y
New password: <--MariaDBのrootユーザー用パス
ワードを新規作成
Re-enter new password: <--同じパスワードを入力
Remove anonymous users? [Y/n]: <--y
Disallow root login remotely? [Y/n]: <--n
Remove test database and access to it? [Y/n]: <--y
Reload privilege tables now? [Y/n]: <--y
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
次に設定ファイル上でローカルからのアクセスに限定する行をコメントアウトします。
$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
開いたファイル中のbinde-addressの行を次の通りコメントアウトします。
#binde-address =127.0.0.1
続いてMariaDBにログインして外部端末からのアクセスを許可します。
$ mysql -u root -p
Enter password:
パスワードを聞かれたら、先ほど作成したパスワードを入力し、権限変更のコマンドを入力。
MariaDB[(none)]> grant all privileges on *.* to root@"%" identified by 'your passw
ord' with grant option;
MariaDB[(none)]> exit
設定が終わったら、MariaDBを再起動して完了。
$ sudo systemctl restart mysql
以上で完了です。
その後、
sudo apt-get install phpmyadmin
phpMyAdminで使用するWebサーバーを設定
apache2を選択する。
phpMyAdminの設定方法を選択する
phpMyAdminの環境設定
について聞かれるので、ここではYesを選択した。
phpMyAdminのrootパスワードを入力する。確認の再入力画面が表示されたら、
再度同じパスワードを入力する。
phpmyadminという一般ユーザーが作成されるので、そのパスワードを入力する。
確認の再入力画面が表示されたら、再度同じパスワードを入力する。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Apacheの設定
テスト用のサーバーならこれでもいいけど、外部に公開するサーバーにするなら、
セキュリティ対策として以下の設定を行っておく。
レスポンスヘッダーの設定
デフォルトではサーバーの情報がレスポンスヘッダーに送られるので抑制する。
$ sudo nano /etc/apache2/conf-available/security.conf
ServerTokens Prod
設定 レスポンスヘッダーの内容 説明
ServerTokens OS Apache/2.4.10 (Raspbian) デフォルトの設定
ServerTokens Prod Apache 変更後の設定
ドキュメントフッターの設定
デフォルトでは404エラーの時などに、サーバーの情報がフッターに付加されるので抑制し
ておく。
$ sudo nano /etc/apache2/conf-available/security.conf
ServerSignature Off
ServerSignature On(デフォルトの設定)
ServerSignature Off(変更後の設定)
ディレクトリリスティングの設定
デフォルトではファイルの一覧が表示されるので、無効にしておく。
Options Indexes FollowSymLinksの行をコメントにする。
・(2016-12-06追記)AllowOverride Noneのままだと.htaccessが効かないので
使用するならAllowOverride Allにしておく。
$ sudo nano /etc/apache2/apache2.conf
# Options Indexes FollowSymLinks
AllowOverride None
Require all granted
デフォルトの設定
変更後の設定
ServerNameの設定
複数のサイトを管理しない場合は設定しなくても動作はするけど、後々必要な場合が
出てくるかもしれないので設定しておく。
$ sudo nano /etc/apache2/sites-available/000-default.conf
# The ServerName directive sets the request scheme, hostname and port t$
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName example.com
$ sudo nano /etc/apache2/apache2.conf
# 一番先頭でいいので以下の行を追記する
ServerName example.com
phpMyAdminの設定
Apache同様にphpMyAdminのセキュリティ対策として、phpMyAdminにアクセスするエイリアスを
変更しておく。例えば以下のように設定すると、phpMyAdminにアクセスする場合は
http://192.168.X.Z/pmadmin/となる。ちなみに、このエイリアス設定にあるようにDebian系
ではphpMyAdminの本体は/usr/share/phpmyadminにインストールされる。
$ sudo nano /etc/phpmyadmin/apache.conf
Alias /phpmyadmin /usr/share/phpmyadmin
↓ 変更する
Alias /pmadmin /usr/share/phpmyadmin
phpMyAdminを使用するのはローカルエリア内だけに限定する場合は以下の記載を追加する。
localhostと192.168.X.Zからの接続に限定する例。
$ sudo nano /etc/phpmyadmin/apache.conf
Options FollowSymLinks
DirectoryIndex index.php
# ここに追加する
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from 192.168.0
# ここまで
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ラズパイの設定(vsftpdのインストール)
WiFi接続
まず、ラズパイとパソコンが同じWiFiネットワークにつながっている必要があります。
vsftpdのインストール
つぎのコマンドを入力してEnterを押すと、ラズパイに “vsftpd” というソフトがインス
トールされます。
$ sudo apt-get install vsftpd
vsftpdの自動起動設定
つぎのコマンドを入力してEnterを押すことで、”vsftpd” がラズパイ起動時に自動的に立
ち上がるようにします。
$ sudo systemctl enable vsftpd
vsftpdの設定変更
つぎのコマンドで設定ファイルを編集します。
$ sudo nano /etc/vsftpd.conf
“#write_enable=YES” という行を探して、最初の “#” を消します。
もう一か所、”ssl_enable=NO” という行を探して、”ssl_enable=YES” に変更します。
Ctrl + o で保存、Ctrl + x でnanoエディタを終了します。
vsftpdのリスタート
つぎのコマンドを入力してEnterキーを押すと、”vsftpd” がリスタートされ、設定が反映
されます。
$ sudo service vsftpd restart
パソコンの設定(FTPクライアントのインストールと設定)
FTPクライアントのインストール
FTPクライアントとはFTP通信を行うためのソフトのことで、パソコンにインストールして使
います。
ここではFileZillaというソフトを使ってみます。
”FileZilla Client” をパソコンにインストールします。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
エラーメッセージ
426 ネットワーク ストリームの読み取りに失敗しました。
いくつかの試みはうまくいきますが、いくつかはうまくいきません。それはさまざまなクライアントで起こります。
解決法
/etc/vsftpd.conf でこのパラメータを設定します。
一番下の行に追加しました。
strict_ssl_read_eof=NO
これでとりあえず解決しました。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Raspberry Pi 3 に Webmin をインストール
WebminはLinuxの設定をブラウザから行えるようにするためのオープンソースのソフトウェ
アです。
RaspberryPi3でwebminをインストールする手順です。
rootパスワード設定
webminはrootでログインして利用しますが、RASPBIANはrootパスワードがデフォルトでは設
定されていないため、ここで設定します。
ログインしたらrootユーザーに切り替えます。
$ sudo su
パスワードを変更します。
passwd
新しいパスワードを2回入力します。
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
なお、この後の説明もrootユーザーで行いますので、再起動した場合は「sudo su」でroot
に切り替えてください。
リポジトリの追加
apt-getでインストールできるようにするため、リポジトリに次の行を追加します。
nano /etc/apt/sources.list
以下の行を最後に追加
deb http://download.webmin.com/download/repository sarge contrib
リポジトリ用の鍵の登録
リポジトリを追加しただけでは利用できません。公開鍵を取得して設定します。
# wget http://www.webmin.com/jcameron-key.asc
# apt-key add jcameron-key.asc
インストール
apt-getでインストールできます。2017/05/01現在での最新は1.840 です。
# apt-get update
# apt-get -y install webmin
ログイン
ブラウザからhttpsで、RaspberryPiのIPアドレスをポート10000で開いてください。
https://IPアドレス:10000/
SSL証明書をインストールしていないのにhttpsで開こうとしたので警告が表示されます。画
面はChromeですが、どのブラウザでも同じように警告が表示されます。利用には影響しない
ので「詳細設定」をクリックしてください。
さらに「~にアクセスする(安全ではありません)」をクリックしてください。
ログイン画面が表示されたら先ほど設定したrootのユーザーとパスワードを入力して「Sign
in」をクリックしてください。
ログインするとこんな画面が表示されます。
最後に日本語化します。画面左のメニューから以下を設定します。
「Webmin」→「Change Language and Theme」
Webmin UI : Personal choice を選択
language : 「Japanese(JA_JP.UTF-8)」を選択
終わったら「Make Changes」をクリックして、doneと表示されたらログインし直します。
これで画面が日本語になりました。
ログイン時の警告表示を消すためにSSLは無効にします。
「Webmin」→「Webmin設定」→「SSL暗号化」
可能であればSSLを使用可能にしますか?:いいえ
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
sudo a2enmod userdir
CGI設定
CGIを設定する
まずはコマンド入力
sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
nanoで設定ファイル変更
sudo nano /etc/apache2/sites-available/000-default.conf
28行目の # を削除して上書き保存する(Ctrl + O, Enter, Ctrl + X)
ちなみにnanoで現在のカーソル位置が何行目かは Ctrl + C で確認できる。
変更前
#Include conf-available/serve-cgi-bin.conf
↓
変更後
Include conf-available/serve-cgi-bin.conf
拡張子.pyのCGIが動作出来るように設定
$ sudo nano /etc/apache2/mods-available/mime.conf
219行目の #を削除し、最後に .pl .pyを追加して上書き保存
変更前
#AddHandler cgi-script .cgi
↓
変更後
AddHandler cgi-script .cgi .pl .py
CGIを動かすディレクトリの設定
$ sudo nano /etc/apache2/conf-available/serve-cgi-bin.conf
11行目の /usr/lib/cgi-bin/ を /home/pi/public_html/cgi-bin に変更
12行目の /usr/lib/cgi-bin を /home/*/public_html/cgi-bin に変更
上書き保存
変更前
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
↓
変更後
ScriptAlias /cgi-bin/ /home/*/public_html/cgi-bin
public_html/cgi-bin/フォルダを作る
mkdir public_html
cd public_html
mkdir cgi-bin
cd cgi-bin
実行ファイル(.html .pl .cgi .py)はchmod 755で属性変更を忘れずに。
HTML表示やCGI、python実行が正常通り実行されれば、成功です。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
CGIモジュールを有効にする
以下コマンドを実行します。
$ sudo a2enmod cgid
$ sudo systemctl restart apache2
CGIを有効にするために設定ファイルを編集する
".cgi"、".pl"というファイルをCGIのスクリプトとして実行するように設定する
"/etc/apache2/mods-available/mime.conf"ファイルの以下をコメントアウトを外し、".pl"
を追加します。
AddHandler cgi-script .cgi .pl
実行例
$ sudo nano /etc/apache2/mods-available/mime.conf
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi .pl ←☆コメントアウトを外し".pl"を追加
#
# For files that include their own HTTP headers:
#
#AddHandler send-as-is asis
WEBサーバーを再起動する
".cgi"というファイルをCGIのスクリプトとして実行するように設定したので、設定を反映
させるために、以下のコマンドでWEBサーバーを再起動します。
$ sudo systemctl restart apache2
cgiファイルを置くディレクトリの確認
"/etc/apache2/conf-enabled/serve-cgi-bin.conf"ファイルを確認します。
実行例
$ less /etc/apache2/conf-enabled/serve-cgi-bin.conf
Define ENABLE_USR_LIB_CGI_BIN
Define ENABLE_USR_LIB_CGI_BIN
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
上記より、ラズパイの"/usr/lib/cgi-bin"にcgiファイルを置き、ブラウザからは"/cgi-bin
/" もしくは "/usr/lib/cgi-bin/" からアクセスするとcgiが実行されることが分かります。
CGIファイルのパーミッションを変更する
そのままだとブラウザから実行できないのでパーミッションを変更します。
おそらくパーミッションは "755" あたりだと思います。
$ sudo chmod 755 hello.cgi
その他 設定した方が良いと思ったもの
cgiファイルを置くディレクトリでもhtmlファイルを表示できるように設定する
デフォルトの設定では、cgiフォルダにあるhtmlファイルは表示されません。
しかし、フリーのcgiではcgiフォルダにも "index.html" を置くことがたまにあるので、こ
れを設定しておきます。
"/etc/apache2/conf-enabled/serve-cgi-bin.conf"ファイルを編集し、以下行を追加。
AddHandler text/html .html .htm .txt .css
"ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/"の下に追加します。
実行例
pi@SHIMUSHU:/etc/apache2/conf-enabled $ sudo vi serve-cgi-bin.conf
Define ENABLE_USR_LIB_CGI_BIN
Define ENABLE_USR_LIB_CGI_BIN
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AddHandler text/html .html .htm .txt .css ←☆コレ
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
.htaccessの設定
Options +ExecCGI
AddHandler cgi-script .cgi .pl
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
RaspberryPi にWordpressをインストールして初期設定までをメモしてみました。
事前準備
不足している場合は、以下のパッケージを追加で導入します。
・Apache2.
・mariadb
・PHP7.4
Wordpress から mariaDB へアクセス用のユーザを作成
新規データベースを作成します。
ここでは例として、wordpress という名前で作成しています。
新規ユーザを作成します。
設定するパスワード password は、任意のパスワードを指定します。
pi@raspberrypi:/var/www/html $ sudo mysql
MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> select user,password,plugin from user;
+---------------------+-------------------------------------------+-------------+
| user | password | plugin |
+---------------------+-------------------------------------------+-------------+
| root | | unix_socket |
| wordpress | *06B0E0234517A1F1A9BA352FF62B54679CA45F6F | |
+---------------------+-------------------------------------------+-------------+
2 rows in set (0.00 sec)
MariaDB [mysql]> exit
Bye
先に作成したデータベースに対して新規作成したユーザへアクセス権を付与します。
pi@raspberrypi:/var/www/html $ sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 10.1.38-MariaDB-0+deb9u1 Raspbian 9.0
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 on wordpress.* TO 'wordpress'@'localhost' IDENTIFIED B
Y 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
Raspberry Pi 3 に WordPress をインストール
WordPressのモジュールは、こちらからダウンロードできます、
2019/8/1 現在の最新版数は、5.2.2 でした。
インターネットに接続できる環境の場合は、wget コマンドで直接ダウンロードできます。
$ cd /var/www/html
以下、sudoで行う。
rm *
wget http://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
mv wordpress/* .
rm -rf wordpress latest.tar.gz
chown -R www-data:www-data /var/www/html
WordPress の初期設定
ブラウザ経由で設定を進めます。
言語設定をします。
事前に作成しておいたデータベースにアクセスする設定を入力します。
インストールを実行します。
管理用のユーザ設定をします。
完了したら、ログインします。
先ほど設定したユーザ、パスワードでログインします。
お疲れさまでした。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
先ほど設定したユーザ、パスワードでログインできませんでした。
WordPressのルートディレクトリにある「wp-config.php」ファイルの以下の部分を修正しま
した。
/** WordPress のためのデータベース名 */
define('DB_NAME', '*********');
/** MySQL データベースのユーザー名 */
define('DB_USER', '*********');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '*********');
/** MySQL のホスト名 */
define('DB_HOST', '*********');
また、テーブルの接頭辞を変更したので次のように変更しました。
$ cd /var/www/html
pi@raspberrypi:/var/www/html $ ls
index.html wp-blog-header.php wp-includes wp-signup.php
index.php wp-comments-post.php wp-links-opml.php wp-trackback.php
license.txt wp-config-php wp-load.php xmlrpc.php
readme.html wp-config-sample.php wp-login.php
wp-activate.php wp-content wp-mail.php
wp-admin wp-cron.php wp-settings.php
pi@raspberrypi:/var/www/html $ sudo nano wp-config.php
Ctrl+oで、 書き込み。
Ctrl+xで、 終了。
Mysqlを、 再起動した。
pi@raspberrypi:/var/www/html $ sudo systemctl restart mysql
これで、なんとかWprdPessが動くようになりました。
どこが原因で悪かったのか、今、現在のところ不明です。
分かる人教えてください。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------