- ここでは、PHPの内蔵サーバーではなく、フルセットのウェブサーバー・PHP処理系・RDBMSを連携させる設定を紹介していますが、学習目的にはハードルが高く、何よりもこのセットアップができる人は、既に相応のPHPに関する知識があることを前提にしているため、矛盾があります。
PHPがサーバ側の技術であるため、利用者は、開発または学習のためにサーバ環境をセットアップする時間が必要となります。もちろんクライアント環境で開発をする場合は、クライアント環境に開発環境を用意する必要があります。Java言語のようにサーバ側の環境設定がとても複雑であるのに比べ、PHPはかなりセットアップが容易です。
インストールの手順は、Webサーバの環境(OS)によって異なります。既に作られたPHPをインストールする方法から、ソース(オリジナルのプログラム)を入手して実行可能なPHPを作るまで、条件によっては様々です。
PHPと併せてデータベース(たいていはMySQLや互換DB)も利用することが多く、バージョンの組み合わせによっては動作が異なる場合があります。
構成
編集PHPでデータベースのサーバ構築をした場合、必要になるパッケージは以下のものとなります。
- Apache(アパッチ)がwebサーバーとして必要, またはメジャーな
- PHP
- MySQL(マイ エスキューエル)がデータベースとして必要, またはメジャーなデータベース
- PHPとデータベースに接続するライブラリ
XAMPPは、これらをまとめたパッケージで、apachefriends.org というコミュニティの提供しているウェブアプリケーションの実行に必要なオープンソースソフトウェアをまとめたパッケージです。
同じく、ウェブアプリケーションの実行に必要なオープンソースソフトウェアをまとめたパッケージに LAMP がありますが、こちらはプラットホームにGNU/Linuxが使われています。
Windows版
編集Windowsでのインストールは、XAMPPを使用するのが簡単です。公式サイトからインストーラーをダウンロードして実行するだけで済みます。
GNU/Linux
編集なお、下記の手順でインストールしなくても、XAMPPでインストールすれば、ほぼ同じ結果が得られます。
ディストーションによって、インストール時に使用するコマンドが異なるため、以下のようなコマンドを使用します。
Redhat系
編集FedoraとCentOSは、レッドハット系のOSです。 Fedoraの公式コミュニティのソフトウェア集(パッケージアーカイブ)にはXAMPPは登録されていませんので、自分で取得する必要があります。 それが面倒であれば、以下のようにApache(httpd)やphpを直接インストールする方法があります。 各ディストリビューションにおいて、必ずしも同じコマンドではありませんが、基本的にはdnfでインストールできます。
sudo dnf install httpd
sudo dnf install php
sudo dnf install mysql
sudo dnf install php-mysql
なお、一般にhttpd (Apache)はFedoraに最初からインストールされています。
Debian系
編集UbuntuとDebianはDebian系のディストリビューションです。
apt-get install php5
apt-get install apache
apt-get install mysql-server mysql-client php5-mysql
または、以下のように1つのコマンドでまとめてインストールすることもできます。
apt-get install php5 apache mysql-server mysql-client php5-mysql
Gentoo
編集emerge apache
emerge mysql
emerge mod_php
Linux版XAMPP
編集Linux版XAMPPのインストールは、やや手間がかかります。
ディストリビューション(UbuntuやFedoraなど、Linuxをカーネルとしたパッケージ群の種類)によって異なりますが、それぞれのディストリビューションの公式パッケージアーカイブにはXAMPPは含まれていません。 したがって、apt-getやdnfなどのパッケージマネージャーではLinux版XAMPPをインストールできません。
そのため、XAMPP公式サイトからLinux版のインストーラーをダウンロードする必要があります。 公式サイトにはLinux版のインストーラーがありますので、まずはそれを何らかの方法でダウンロードします。 ネット上ではwgetコマンドなどを使用してダウンロードする方法が紹介されていますが、
GUIやWebブラウザが使える環境であれば、wgetコマンドを使わずに普通のWebブラウザのクリック操作でインストーラーをダウンロードしてもよいです。 しかし、インストール自体はコマンド端末で行う必要があります。
まず、実行権を付与する必要があるため、たとえば「chmod」コマンドを使用して以下のように権限を付与します。
chmod +x ./xampp-linux-x64-7.4.5-0-installer.run
「x64-7.4.5-0」の部分はバージョン番号であり、時期によって変わる可能性があるため、ダウンロードしてきたものに合わせて適宜変更してください。
インストーラーを起動します。
sudo ./xampp-linux-x64-7.4.5-0-installer.run
インストーラーが起動したら、いくつかの質問が表示されるので、「NEXT」ボタンを押していくと、インストールが開始されます。
インストールが完了したら、XAMPP自体は起動可能です(ただし、まだXAMPP用Apacheのライブラリなどがインストールされていない可能性があります)。XAMPPを起動するには、以下のようにコマンドラインで入力します。
/opt/lampp/lampp
Linux版XAMPPのGUI画面は、Windows版とは画面構成が異なる場合がありますが、「Start」で目的のツールを起動し、「Stop」で終了する仕組みは同じです。
Fedora 32では、ライブラリ「libnsl」が初期状態ではインストールされていないため、XAMPP版Apacheの起動エラーが発生する可能性があります。 その場合は、以下のようにライブラリをインストールする必要があります。
sudo dnf install libnsl
これで、localhostでWebサーバが稼働したのでローカルのブラウザで閲覧可能になりました。
さて、XAMPP版Apacheを起動できたと思ったら、確認のためにウェブブラウザのアドレス欄に「localhost」と入力してみましょう。
すると、XAMPPのページが表示され、「XAMPP Apache + MariaDB + PHP + Perl」という文言がウェブページの冒頭に表示されます。 これにより、XAMPP版Apacheの起動が成功していると思われます。
また、このXAMPP版Apacheのメインページからは、phpMyAdminを起動することもできます。
さて、XAMPPのフォルダは、「lampp」という名称であり、以下の場所にあります。
/opt/lampp
また、ドキュメント・ルートとして使用する場合には、以下の場所にアクセスする必要があります。
/opt/lampp/htdocs
ソースコードからPHPをインストールしたい場合
編集ソースコードからPHPの最新版やテスト版などをビルドする前には、まず古いバージョンのPHPをアンインストールしてからにしましょう。
Ubuntuでのインストール方法は、公式ソースファイルのreadmeに書いてありますが、Fedoraでの方法を本書で示します。
まず、cdコマンドで現在のディレクトリをダウンロードしたPHPソースファイルに移動します。
例えば、cd ダウンロード と打ち、その後 cd php-バージョン番号 と入力します。
また、コンパイルに必要なアプリケーションのインストールが必要です。次のコマンドを実行して、必要なパッケージをインストールします。 sudo dnf install libxml2-devel libsqlite3x-devel bison re2c autoconf make Ubuntuではlibxml2-devですが、Fedoraでは「-devel」という接尾辞が必要になることに注意してください。他のアプリも微妙に名前が異なるため、注意が必要です。
上記のツールはビルドの前にインストールしておく必要があります。これらをインストールしないと、ビルドが失敗するだけでなく、誤ったmakeファイルなどが残ってしまい、以降のビルドも失敗してしまう可能性があります。誤ったmakeファイルが作成された場合は、
sudo make clean all test
を実行してください。
また
sudo dnf groupinstall "Development Tools"
でグループインストールします。
その後、PHPのソースファイル内で、 たとえば、
[ユーザー名@localhost php-8.0.0]$
のような状態で(バージョン番号は、ダウンロードしたときのPHPのバージョンによって異なる)、コマンド
./buildconf
を実行します。
つづけて、コマンド
./configure
を実行します。
もし、エラーが出たら、不足しているアプリ名が「not found」などのメッセージとともに表示されるので、その不足アプリを dnf install コマンドなどでインストールしてから、再度、 ./configure
を試します。
./configure
コマンドのあと、最終的に
+--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP.
のようなライセンス表示がされたら、概ね./configure
には成功なので、次の工程に移ります。
Fedora では初期状態では make アプリがインストールされていないので、まず先に dnf コマンドで make アプリ自体をインストールする必要があります。
sudo dnf install make
その後、現在ディレクトリ位置が
[ユーザー名@localhost php-8.0.0]$
のようである事を確認した上で、make コマンドで、
sudo make all install
このコマンドが終了するのに数分かかるので、本でも読みながら待ちましょう。
ビルドが失敗する場合、いくつかの原因が考えられます。
- まちがったmakeファイルが残っている。
- ストレージ不足。
- メモリ不足。
もし、まちがったmakeファイルがある場合、
sudo make clean test
とします。
メモリ不足の場合は、GUI環境を終了し、CTRL-ALT-F2でコンソールからログインし作業します。
さて、インストールに成功したら(成功したと思ったら)、コマンドで
php -v
でバージョン番号を表示してみて試します。
PHP 8.0.0 (cli) (built: Dec 13 2020 16:50:51) ( NTS DEBUG ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
のようにバージョンなどが表示されれば、ひとまずインストール成功です。
Apacheでは古いバージョンのPHPが参照している可能性がるので、適宜Apacheの設定を編集し新しくインストールしたPHPを参照するようにしましょう。
Enjoy!