FreeBSD 10.1にApache、MySQL、およびPHP(FAMP)スタックをインストールする方法
序章
LinuxのLAMPスタックに似たFAMPスタックは、FreeBSDサーバーが動的なWebサイトやWebアプリをホストできるようにするために通常一緒にインストールされるオープンソースソフトウェアのグループです。 FAMPは、 F reeBSD(オペレーティングシステム)、 A pache(Webサーバー)、 M ySQL(データベースサーバー)、およびの頭字語です。 P HP(動的なPHPコンテンツを処理するため)。
このガイドでは、FreeBSDパッケージマネージャーであるpkg
を使用して、FreeBSD10.1クラウドサーバーにFAMPスタックをインストールします。
前提条件
このガイドを始める前に、FreeBSD10.1サーバーが必要です。 また、スーパーユーザー権限を持つユーザーとしてFreeBSDサーバーに接続する必要があります(つまり、 sudo
を使用するか、rootユーザーに変更することができます)。
ステップ1—Apacheをインストールします
Apache Webサーバーは現在、世界で最も人気のあるWebサーバーであり、Webサイトをホストするのに最適です。
FreeBSDのパッケージマネージャーpkg
を使用してApacheを簡単にインストールできます。 パッケージマネージャーを使用すると、FreeBSDが管理するリポジトリからほとんどのソフトウェアを簡単にインストールできます。 pkgの使用方法について詳しくはこちらをご覧ください。
pkg
を使用してApache2.4をインストールするには、次のコマンドを使用します。
sudo pkg install apache24
確認プロンプトでy
と入力します。
これにより、Apacheとその依存関係がインストールされます。
Apacheをサービスとして有効にするには、apache24_enable="YES"
を/etc/rc.conf
ファイルに追加します。 このsysrc
コマンドを使用して、次のことを実行します。
sudo sysrc apache24_enable=yes
次に、Apacheを起動します。
sudo service apache24 start
WebブラウザでサーバーのパブリックIPアドレスにアクセスすると、すぐにスポットチェックを実行して、すべてが計画どおりに行われたことを確認できます(この情報がない場合は、次の見出しの下にある注を参照して、パブリックIPアドレスを確認してください。すでに):
http://your_server_IP_address/
テスト目的でそこにあるデフォルトのFreeBSDApacheWebページが表示されます。 「ItWorks!」と表示されます。これは、Webサーバーが正しくインストールされていることを示します。
サーバーのパブリックIPアドレスを見つける方法
サーバーのパブリックIPアドレスがわからない場合は、いくつかの方法で見つけることができます。 通常、これはSSH経由でサーバーに接続するために使用するアドレスです。
DigitalOceanを使用している場合は、コントロールパネルでサーバーのIPアドレスを確認できます。 次のコマンドを使用して、サーバー自体からDigitalOceanメタデータサービスを使用することもできます:curl -w "\n" http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address
。
IPアドレスを検索するためのより一般的な方法は、サーバー自体でifconfig
コマンドを使用することです。 ifconfig
コマンドは、ネットワークインターフェイスに関する情報を出力します。 サーバーのパブリックIPアドレスのみに出力を絞り込むには、次のコマンドを使用します(強調表示されている部分はネットワークインターフェイスの名前であり、異なる場合があります)。
ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'
パブリックIPアドレスを取得したので、WebブラウザのアドレスバーでパブリックIPアドレスを使用して、Webサーバーにアクセスできます。
ステップ2—MySQLをインストールします
Webサーバーが稼働しているので、リレーショナルデータベース管理システムであるMySQLをインストールします。 MySQLサーバーは、サーバーが情報を保存できるデータベースを整理してアクセスを提供します。
ここでも、pkg
を使用して、ソフトウェアを取得してインストールできます。
pkg
を使用してMySQL5.6をインストールするには、次のコマンドを使用します。
sudo pkg install mysql56-server
確認プロンプトでy
と入力します。
これにより、MySQLサーバーおよびクライアントパッケージがインストールされます。
MySQLサーバーをサービスとして有効にするには、mysql_enable="YES"
を/etc/rc.conf
ファイルに追加します。 このsysrc
コマンドは、まさにそれを実行します。
sudo sysrc mysql_enable=yes
次に、MySQLサーバーを起動します。
sudo service mysql-server start
MySQLデータベースが実行されているので、いくつかの危険なデフォルトを削除し、データベースシステムへのアクセスをわずかに制限する単純なセキュリティスクリプトを実行する必要があります。 次のコマンドを実行して、対話型スクリプトを開始します。
sudo mysql_secure_installation
プロンプトで、現在のrootパスワード(MySQL管理者ユーザー root )の入力を求められます。 MySQLをインストールしたばかりなので、MySQLがない可能性が高いので、RETURN
を押して空白のままにします。 次に、rootパスワードを設定するかどうかを尋ねるプロンプトが表示されます。 先に進み、Y
と入力して、指示に従います。
Enter current password for root (enter for none): [RETURN]
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorization.
Set root password? [Y/n] Y
New password: password
Re-enter new password: password
Password updated successfully!
残りの質問については、各プロンプトでRETURN
キーを押すだけで、デフォルト値を受け入れることができます。 これにより、一部のサンプルユーザーとデータベースが削除され、リモートrootログインが無効になり、これらの新しいルールが読み込まれるため、MySQLは行った変更をすぐに尊重します。
この時点で、データベースシステムがセットアップされ、次に進むことができます。
ステップ3—PHPをインストールする
PHPは、動的コンテンツを表示するコードを処理するセットアップのコンポーネントです。 スクリプトを実行し、MySQLデータベースに接続して情報を取得し、処理されたコンテンツをWebサーバーに渡して表示することができます。
pkg
システムを再び活用してコンポーネントをインストールできます。 mod_php
、php-mysql
、およびphp-mysqli
パッケージも含まれます。
pkg
を使用してPHP5.6をインストールするには、次のコマンドを実行します。
sudo pkg install mod_php56 php56-mysql php56-mysqli
確認プロンプトでy
と入力します。 これにより、php56
、mod_php56
、php56-mysql
、およびphp56-mysqli
パッケージがインストールされます。
次に、次のコマンドを使用して、サンプルのPHP構成ファイルを所定の場所にコピーします。
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
次に、rehash
コマンドを実行して、インストールされている実行可能ファイルに関するシステムのキャッシュ情報を再生成します。
rehash
PHPを使用する前に、Apacheで動作するようにPHPを構成する必要があります。
PHPモジュールのインストール(オプション)
PHPの機能を強化するために、オプションでいくつかの追加モジュールをインストールできます。
PHP 5.6モジュールおよびライブラリで使用可能なオプションを確認するには、次のようにシステムに入力します。
pkg search php56
結果は、ほとんどがインストール可能なPHP5.6モジュールになります。 :
mod_php56-5.6.3
php56-5.6.3
php56-bcmath-5.6.3
php56-bz2-5.6.3
php56-calendar-5.6.3
php56-ctype-5.6.3
php56-curl-5.6.3
php56-dba-5.6.3
php56-dom-5.6.3
php56-exif-5.6.3
...
各モジュールの詳細については、インターネットを検索するか、次のように入力してパッケージの詳細な説明を確認してください。
pkg search -f package_name
モジュールが提供する機能の説明があるコメントと呼ばれる1つのフィールドで、多くの出力があります。
たとえば、php56-calendar
パッケージの機能を確認するには、次のように入力します。
pkg search -f php56-calendar
他の大量の情報とともに、次のようなものが見つかります。
php56-calendar-5.6.3
Name : php56-calendar
Version : 5.6.3
...
Comment : The calendar shared extension for php
...
調査の結果、パッケージをインストールすることにした場合は、他のソフトウェアの場合と同じようにpkg install
コマンドを使用してインストールできます。
たとえば、php56-calendar
が必要であると判断した場合は、次のように入力できます。
sudo pkg install php56-calendar
一度に複数のモジュールをインストールする場合は、次のようにpkg install
コマンドに従って、スペースで区切って各モジュールを一覧表示することでインストールできます。
sudo pkg install package1 package2 ...
ステップ4—PHPモジュールを使用するようにApacheを設定する
ApacheがPHPページを処理する前に、mod_php
を使用するように構成する必要があります。
Apache構成ファイルを開きます。
sudo vi /usr/local/etc/apache24/Includes/php.conf
まず、次の行を追加して、デフォルトでindex.php
ファイルをロードするようにApacheを構成します。
<IfModule dir_module>
DirectoryIndex index.php index.html
次に、要求されたPHPファイルをPHPプロセッサで処理するようにApacheを設定します。 次の行をファイルの最後に追加します。
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>
保存して終了。
次に、Apacheを再起動して、変更を有効にします。
sudo service apache24 restart
この時点で、FAMPスタックがインストールおよび構成されています。 PHPの設定をテストしてみましょう。
ステップ5—PHP処理をテストする
システムがPHP用に適切に構成されていることをテストするために、非常に基本的なPHPスクリプトを作成できます。
このスクリプトをinfo.php
と呼びます。 Apacheがファイルを見つけて正しく提供するには、ユーザーがWebサーバーにアクセスしたときにApacheがファイルを検索する特定のディレクトリDocumentRootに保存する必要があります。 DocumentRootの場所は、以前に変更したApache構成ファイル(/usr/local/etc/apache24/httpd.conf
)で指定されています。
デフォルトでは、DocumentRootは/usr/local/www/apache24/data
に設定されています。 次のように入力すると、その場所にinfo.php
ファイルを作成できます。
sudo vi /usr/local/www/apache24/data/info.php
これにより、空のファイルが開きます。 このPHPコードをファイルに挿入します。
<?php phpinfo(); ?>
保存して終了。
これで、WebサーバーがPHPスクリプトによって生成されたコンテンツを正しく表示できるかどうかをテストできます。 これを試すには、Webブラウザでこのページにアクセスする必要があります。 サーバーのパブリックIPアドレスが再度必要になります。
訪問したいアドレスは次のとおりです。
http://your_server_IP_address/info.php
表示されるページは次のようになります。
このページでは、基本的にPHPの観点からサーバーに関する情報を提供します。 デバッグや、設定が正しく適用されていることを確認するのに役立ちます。
これが成功した場合、PHPは期待どおりに機能しています。
このファイルは、許可されていないユーザーにサーバーに関する情報を実際に提供する可能性があるため、このテストの後で削除することをお勧めします。 これを行うには、次のように入力します。
sudo rm /usr/local/www/apache24/data/info.php
後で情報に再度アクセスする必要がある場合は、いつでもこのページを再作成できます。
結論
FAMPスタックがインストールされたので、次に何をするかについて多くの選択肢があります。 基本的に、サーバーにほとんどの種類のWebサイトとWebソフトウェアをインストールできるプラットフォームをインストールしました。
新しいFAMPスタックにWordPressをセットアップすることに興味がある場合は、このチュートリアルをチェックしてください: FreeBSD10.1にApacheを使用してWordPressをインストールする方法。