Raspberry PiにWebサーバーをインストールする方法(Apache + PHP + MySQL)
ⓘ この記事は、自動ツールを使って一部または全体を翻訳している可能性があります。
SDカードを作成し、Raspberry Piを初めて起動した後、Webサーバーとして使用したいと思う可能性が高いです。
Why a Raspberry Pi as a web server ?
しかし、なぜウェブサーバとしてRaspberry Piを使うのでしょうか? また、ラズベリーを選択することによって、あなたが望むようにあなたのサービスを変更する可能性を持っている(例:ディスクのサイズ、データベースのホスティングなど)、これは一般的に専門のホストの場合ではありません、これはしばしば低設定容量と共有ホスティングを販売しています。
しかし、より多くのユーザーをサポートするには、Raspberry Type B +(512 MB RAM)ではなく、1 GB RAM の Raspberry Pi 3(Pi 3 はここで見つかります)を使用する必要があります
ここで生じる疑問は、Raspeberry Pi で Web サーバを作成する方法ですか?
What is Apache?
まず、Web サーバーである Apache をインストールします。
Apache の一部として、それは私たちが話すソフトウェアです。
現在、Apache は最も使用されている Web サーバーで、約 60% の市場シェアを持っています。 Apache には独自のライセンスがあり、他の多くのプロジェクトで使用されています。 さらに、Apache (これは Web サーバーの標準となりました) の大規模な使用とその高い人気により、その使用や、この本のような彼のセキュリティを扱うドキュメントやコース、その他の本が非常に豊富になりました。
Raspberry Pi や Raspbian 用であろうと、より一般的なマシン用であろうと、Apache はしたがって安全な選択であり、このテーマで習得できるスキルは常に有用です。
Apache インストール
サーバーのインストール前に、最新のマシンであることを確認します。 これを行うには、我々は管理者権限を持っている必要があります、sudoコマンドのいずれか。
sudo apt updatesudo apt upgradesudo apt update
Raspberry Piが最新になったら、我々はApacheサーバーをインストールします。
sudo apt install apache2
ところで、我々はあなたが簡単にあなたのサイトを管理できるapacheファイルに権限を与えるためにそれを利用することにします。
sudo chown -R pi:www-data /var/www/html/sudo chmod -R 770 /var/www/html/
Check if Apache is working
インストールが完了したら、ラズベリーのアドレスにアクセスしてApacheが正常に動作しているかテストします。
これを行うには、ポート80(このポートは外から開いていないので、ラズベリー自体で行う必要があります)でアクセスすることを試みることが必要です。 心配しないでください、とても簡単です。 RaspberryのWebブラウザを開き、”http://127.0.0.1″にアクセスするだけです。 すると、「うまくいったよ!」というようなメッセージのページが表示されるはずです。
RaspbianにGUIがない場合、またはRaspberryにSSHで接続している場合は、次のコマンドを使用できます:
wget -O check_apache.html http://127.0.0.1
このコマンドは、ページのHTMLコードをファイル “check_apache” に保存します。html “に保存されます。
したがって、あなたは、コマンド
cat ./check_apache.html
でファイルを読み取るだけです。 「
Apacheは、サイトのルートとして”/var/www/html “ディレクトリを使用します。 これは、ポート 80 (http) でラズパイを呼び出したとき、Apache は “/var/www/html” にあるファイルを探すことを意味します。
たとえば、アドレス “http://127.0.0.1/example” を呼び出すと、Apache は “/var/www/html” ディレクトリの “example” ファイルを探します。
新しいファイル、サイト、などを追加するには。
これでラズベリーを使って、内部的には HTML、CSS、JavaScript でサイトを作ることができます。
しかし、サイトとユーザーの間のインタラクションを素早く可能にしたい場合があります。 たとえば、ユーザーが登録できるようにする、などです。 そのためには、PHPが必要になります。
PHP install on your Raspberry Pi
What is PHP?
まず最初に知っておくべきことは、PHPはインタプリタ言語であることです。 そして、サーバーの場合と同様に、PHPという略語はいくつかの意味を持ちます。 実際、PHP について話すとき、言語またはインタープリターについて話すことができます。
ここで、PHP のインストールについて話すとき、それは、この言語を使用するためにインタープリターをインストールすることを意味します。 逆に静的なサイトは、ユーザーから提供された情報には適応しない。
PHP は無料で、PHP Foundation や Zend Enterprise、その他さまざまな企業によって管理されています (Zend は、「ビジネス」の世界で広く使用され認識されている、有名な Zend PHP フレームワークの作者でもあることに留意しておいてください)。
最も広く使われているプログラミング言語のひとつであり、Web プログラミングでは最も使われていて、約 79% の市場シェアを持っています。
繰り返しますが、言語、またはインタープリタのインストールや設定に関して習得できるすべての技術は、常に役に立つでしょう。
PHP のインストール方法
PHP をコマンドラインでインストールするために、再び管理者を使用します。
sudo apt install php php-mbstring
PHP が動作しているかどうかを制御する
PHP が正しく動作しているかどうかを知ることはそれほど複雑ではなく、Apache で使用する方法と非常に似ています。
まず、「/var/www/html」ディレクトリの「index.html」ファイルを削除します。
sudo rm /var/www/html/index.html
次にこのディレクトリに、このコマンドラインで「index.php」ファイルを作成します
echo "<?php phpinfo ();?>" > /var/www/html/index.php
そこからの操作は、Apacheのチェックと同じになります。
Table generated by the phpinfo command on a Raspberry.
A MySQL database for your server
A DBMS What’s it? なぜMySQLなのか?
さて、PHPをセットアップしたところで、サイト内で使用する情報を保存したいと思うことでしょう。 この目的のために、データベースが最もよく使用されます。
そこで、DBMS(データベース管理システム)、すなわち MySQL をセットアップします。
MySQL は無料で、強力で、大量に使用されている DBMS です(無料 DBMS の約 56% の市場シェア)。 ここでもMySQLは、どんな言語であれ、開発には欠かせないものなので、例えばこの本で絶対に勉強してマスターしなければなりません。
MySQLのインストール方法
そのために、mariadb-serverとphp-mysql(これはphpとmysqlのリンクとして機能します)
sudo apt install mariadb-server php-mysql
MySQLが正しく機能しているか確認
今回は、コマンドラインのみを使ってMySQLの動作を確認することにします。 なぜなら、デフォルトのルートユーザーはLinuxのルートアカウントでしか使用できないため、WebサーバーやPHPスクリプトでは使用できないからです。
MySQL に接続したら、次のコマンドを実行するだけです (password
を希望のパスワードに置き換える) :
DROP USER 'root'@'localhost';CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
これで Web サーバーができ、PHP と MySQL に接続されました。
(次の接続では、sudo を使用せずにコマンド mysql --user=root --password=yourmysqlpassword
で mysql に接続できます).
Add PHPMyAdmin
PHPMyAdmin のインストールは全く必要ではありません。
PHPMyAdmin のインストールは非常に簡単で、パケットマネージャーを使用して以下のコマンドを実行するだけです。 dbconfig-common
の部分については、使用しないことを選択してください (すでにデータベースを設定してあるため)。 PHPMyAdminを設定するサーバーについては、Apacheを選択します。
また、上記のコマンドで mysqli 拡張を有効にする必要があります :
sudo phpenmod mysqlisudo /etc/init.d/apache2 restart
Check that PHPMyAdmin is properly working
PHPMyAdmin の動作を確認するには、Raspberry のアドレスに /phpmyadmin を続けてアクセスするだけでよいでしょう。 例えば、ローカルでは http://127.0.0.1/phpmyadmin
それでもエラーが出る場合は、PHPMyAdminが他のディレクトリに移動してしまったことが原因かもしれません。 この場合、
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
これで、Raspberry PiのブラウザからPHPMyAdminにアクセスできるようになりました。 しかし、おそらくインターネットからアクセスすることはできないでしょう。 実際、モデムが Raspberry へのリクエストを良いポートにリダイレクトする必要があります。
これらのリダイレクトを所定の位置に配置し、さらに URL を取得するには、DynDNS とポートフォワーディングに注目すべきです!