TL;DR
RaspberryPi3 + Jessie に PHP7 を APT で入れるには、Mati75 さんが公開しているプライベート・リポジトリを APT のsources.list
に追加して apt-get update
したのち、apt-get install
で PHP 本体とお好きな追加パッケージをインストールします。
2018/03/30 02:42 現在 Mati75 さんのリポジトリ repozytorium.mati75.eu (94.130.188.161) はダウンしているようです。PINGは通るのですが。。。 こちらで暫定回避
TS;DR
はじめに
RaspberryPi3 をなんちゃって俺様 IoT の中継機にするため、デスクトップ環境なし(CLI 版)の Raspbian Jesse Lite (Debian8.0) を入れたのですが標準で PHP は入っていません。
定番の PHP5 の記事は沢山あるのですが RPi3 に PHP7.1 をインストールする、まとまった記事が少ないので書いてみました。基本的には @janit さんの記事を参考にしていますが、ソースからのコンパイルでなく apt-get install
でインストールする方法に特化して書いています。
また、janit 氏本人から許可をいただいたので、近々翻訳した記事を書きたいと思います。
リポジトリの追加
-
APT の参照先リストのファイル(
/etc/apt/sources.list
)に下記1行を追加します。deb http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free
最新のリポジトリを確認するには、Mati75 さんのリポジトリのトップページで「Debian repository」にある「Repository with backports packages for Debian Jessie」を確認してください。
-
Mati75 さんのリポジトリの公開鍵を下記2つの
gpg
コマンドで登録します。gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851 gpg --armor --export CCD91D6111A06851 | apt-key add -
最新のリポジトリの公開鍵は、参照先と同じくMati75 さんのリポジトリのトップページ最下部にある「Repository keys」に記載されています。
-
APT パッケージのリストを
apt-get update
コマンドで更新して、変更を適用します。sudo apt-get update
-
次項を参考に PHP をインストールします。
インストール
sudo apt-get -y install php7.1-fpm php7.1-dev php7.1-mysql php7.1-sqlite3 php7.1-gd php7.1-cgi php7.1-mbstring php7.1-curl php-pear php7.1-mcrypt php-xml-parser php7.1-gd php7.1-zip php7.1-xml php7.1-xmlrpc ssl-cert && sudo reboot
上記は、俺様 IoT 用に自分の RPi をコマンドベースで動かすために Apache は入れないで PHP7.1 をインストールするワンライナーなので、Apache も入れる場合や、無駄なくインストールされたい方は、次の項目の「PHP 本体のインストール」以降を参考にしてください。
PHP 本体のインストール
Apache なし
sudo apt-get install php7.1-fpm
-
php7.1-fpm
で一緒にインストールされるパッケージ- php7.1-fpm [FPM]
- libapparmor1 [libapparmor1]
- php-common [PHP-Common]
- php7.1-common
- php7.1-cli [CLI]
- php7.1-json [JSON]
- php7.1-opcache [OPcache]
- php7.1-readline [GNU Readline]
Apache あり
sudo apt-get install php7.1
-
php7.1
で一緒にインストールされるパッケージ- apache2
- apache2-bin
- apache2-data
- apache2-utils
- libapache2-mod-php7.1
- libapr1
- libaprutil1
- libaprutil1-dbd-sqlite3
- libaprutil1-ldap
- liblua5.1-0
- php-common
- php7.1
- php7.1-cli
- php7.1-common
- php7.1-json
- php7.1-opcache
- php7.1-readline
- ssl-cert
-
推奨追加パッケージ
sudo apt-get install www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom php-pear openssl-blacklist
大抵必要なもの
PHP 開発や外部のライブラリを使うなら下記を入れます。
- php7.1-mbstring [マルチバイト文字]
- php7.1-curl [cURL]
- php-pear [PEAR]
- php7.1-dev [PHP-Devel]
- php7.1-mcrypt [Mcrypt]
- php7.1-zip [ZIP]]
- php7.1-xml [libxml]
その他の主な追加オプション
以下は、よく使われるオプションパッケージですが、普段使うサーバーで phpinfo()
で追加されているモジュールを確認するのがベターかもしれません。
メールを使う場合
- php7.1-imap [php-imap]
画像処理(縮小、トリミング、その他)
- php7.1-gd
DB を使いたい場合
- php7.1-mysql
- php7.1-sqlite3
WEB アクセラレーター
- varnish [Varnish]
XML-RPC を WEB サービスで使う場合
- php7.1-xmlrpc [XML-RPC]
参考文献
-
How to install PHP 7 (PHP-FPM & FastCGI) for ISPConfig 3 on Debian 8 (Jessie) @ HowtoForge
https://www.howtoforge.com/tutorial/install-php-7-on-debian-8-jessie/ -
Turn your Raspberry Pi 3 into a PHP 7 powered web server @ Ste Wright
https://www.stewright.me/2016/03/turn-raspberry-pi-3-php-7-powered-web-server/ -
Install and run PHP 7 on Raspbian (Raspberry Pi Debian) @ Symfony Finland
https://www.symfony.fi/entry/install-php-7-on-raspbian-raspberry-pi -
Raspberry PiにインストールしたOwncloud8をOwncloud9+PHP7.0にする方法 @ Qiita
http://qiita.com/ykarasu/items/e625c3f11cdb0f2d7c2a