序章

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_phpphp-mysql、およびphp-mysqliパッケージも含まれます。

pkgを使用してPHP5.6をインストールするには、次のコマンドを実行します。

sudo pkg install mod_php56 php56-mysql php56-mysqli

確認プロンプトでyと入力します。 これにより、php56mod_php56php56-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

表示されるページは次のようになります。

FreeBSD info.php

このページでは、基本的にPHPの観点からサーバーに関する情報を提供します。 デバッグや、設定が正しく適用されていることを確認するのに役立ちます。

これが成功した場合、PHPは期待どおりに機能しています。

このファイルは、許可されていないユーザーにサーバーに関する情報を実際に提供する可能性があるため、このテストの後で削除することをお勧めします。 これを行うには、次のように入力します。

sudo rm /usr/local/www/apache24/data/info.php

後で情報に再度アクセスする必要がある場合は、いつでもこのページを再作成できます。

結論

FAMPスタックがインストールされたので、次に何をするかについて多くの選択肢があります。 基本的に、サーバーにほとんどの種類のWebサイトとWebソフトウェアをインストールできるプラットフォームをインストールしました。

新しいFAMPスタックにWordPressをセットアップすることに興味がある場合は、このチュートリアルをチェックしてください: FreeBSD10.1にApacheを使用してWordPressをインストールする方法。