サーバー設定 · 2 min read · Dec 07, 2025
FreeBSD 12にFAMPスタック(Apache / MySQL / PHP)をインストールする方法

FAMPスタックは、Linux上のLAMPスタックに似たもので、動的なウェブサイトやウェブアプリケーションをホストするためにFreeBSDサーバーに通常一緒にインストールされるオープンソースソフトウェアのコレクションです。FAMPは、FreeBSD(オペレーティングシステム)、Apache(HTTPサーバー)、MySQL/MariaDB(データベースサーバー)、およびPHP(動的PHPコンテンツを処理するためのプログラミング言語)を表す頭字語です。
このチュートリアルでは、pkgを使用してFreeBSD 12.1サーバーにFAMPスタックのコンポーネントを設定します。
要件
このガイドを始める前に、以下が必要です:
- FreeBSD 12.1。
- 設定変更を行うためのroot権限または
sudoユーザーを持つユーザー。 - FreeBSDシステムとコマンドラインインターフェースに関する基本的な知識が推奨されます。
始める前に
FreeBSDのバージョンを確認します:
freebsd-version
# 12.1-RELEASEFreeBSDシステムが最新であることを確認します:
freebsd-update fetch install
pkg update && pkg upgrade -y必要なパッケージをインストールします:
pkg install -y sudo vim bash curl好みのユーザー名で新しいユーザーアカウントを作成します。ここではjohndoeを使用します:
adduser
# ユーザー名: johndoe
# フルネーム: John Doe
# Uid(デフォルトの場合は空白のまま):
# ログイングループ [johndoe]:
# ログイングループはjohndoeです。他のグループにjohndoeを招待しますか? []: wheel
# ログインクラス [default]:
# シェル(sh csh tcsh nologin) [sh]: bash
# ホームディレクトリ [/home/johndoe]:
# ホームディレクトリの権限(デフォルトの場合は空白のまま):
# パスワードベースの認証を使用しますか? [yes]:
# 空のパスワードを使用しますか? (yes/no) [no]:
# ランダムなパスワードを使用しますか? (yes/no) [no]:
# パスワードを入力してください: your_secure_password
# パスワードを再入力してください: your_secure_password
# 作成後にアカウントをロックしますか? [no]:
# OKですか? (yes/no): yes
# 他のユーザーを追加しますか? (yes/no): no
# さようなら! visudoコマンドを実行し、%wheel ALL=(ALL) ALL行のコメントを解除して、wheelグループのメンバーが任意のコマンドを実行できるようにします:
visudo
# ハッシュ(#)記号を削除してコメントを解除します
# %wheel ALL=(ALL) ALL次に、suを使用して新しく作成したユーザーに切り替えます:
su - johndoe注意: johndoeをあなたのユーザー名に置き換えてください。
タイムゾーンを設定します:
sudo tzsetupステップ1 — Apache 2.4のインストール
Apacheウェブサーバーは、現在世界で最も人気のあるウェブサーバーの1つです。ウェブサイトをホストするのに最適な選択です。
FreeBSDのパッケージマネージャーpkgを使用してApacheをインストールできます。パッケージマネージャーを使用すると、FreeBSDによって管理されているリポジトリからほとんどのソフトウェアを簡単にインストールできます。
Apacheをインストールするには、次のコマンドを実行します:
sudo pkg install -y apache24バージョンを確認します:
httpd -v
# サーバーバージョン: Apache/2.4.41 (FreeBSD)次に、Apacheを有効にして起動します:
sudo sysrc apache24_enable=yes
sudo service apache24 startApacheが起動したかどうかを確認するには、次のコマンドを実行できます:
sudo service apache24 statusその結果、次のような出力が表示されます:
# 出力
apache24はpid 17775として実行中です。Apacheがインストールされ、エラーなしで動作していることを確認するには、ウェブブラウザでサーバーのパブリックIPアドレスにアクセスします。http://your_server_IPに移動します。デフォルトの「It works!」Apacheページが表示されます。
ステップ2 — MySQL 8.0のインストール
ウェブサーバーが稼働しているので、リレーショナルデータベース管理システムであるMySQLをインストールする時が来ました。MySQLサーバーは、サーバーが情報を保存できるデータベースを整理し、アクセスを提供します。
再度、pkgを利用してソフトウェアを取得し、インストールできます。
pkgを使用してMySQL 8.0をインストールするには、次のコマンドを使用します:
sudo pkg install -y mysql80-client mysql80-serverこのコマンドは、現在の最新バージョンであるMySQLクライアントとサーバーの最新バージョンをインストールします。
バージョンを確認します:
mysql --version
# mysql Ver 8.0.17 for FreeBSD12.0 on amd64 (Source distribution)次に、MySQLを有効にして起動します:
sudo sysrc mysql_enable=yes
sudo service mysql-server startMySQLが起動したかどうかを確認するには、次のコマンドを実行できます:
sudo service mysql-server status次のような出力が表示されます:
# 出力
mysqlはpid 19171として実行中です。良い習慣として、いくつかの不安全なデフォルトを削除し、データベースシステムへのアクセスを若干制限するmysql_secure_installationセキュリティスクリプトを実行することができます:
sudo mysql_secure_installationパスワードを設定するように求められ、その後いくつかの質問が続きます。強力なパスワードを入力し、残りの質問には:key_enter:を押してデフォルトを選択します。
ステップ3 — PHP 7.4のインストール
PHPは、ウェブ開発のために設計されたサーバーサイドスクリプト言語です。PHPはFAMPスタックの不可欠なコンポーネントです。また、PythonやPerlがPHPの代わりに一般的に使用されます。しかし、最も人気のあるオプションであるPHPが最も頻繁に使用されます。データベースと組み合わせることで、ウェブサイトやアプリに動的な動作を提供します。
再度、pkgシステムを利用してPHPコンポーネントをインストールします。
pkgを使用してPHP 7.4をインストールするには、次のコマンドを実行します:
sudo pkg install -y php74 php74-mysqli mod_php74これにより、php74、mod_php74、およびphp74-mysqliパッケージがインストールされます。
PHPのバージョンを確認します:
php --version
# PHP 7.4.1 (cli) (built: Jan 2 2020 01:32:38) ( NTS )
# Copyright (c) The PHP Group
# Zend Engine v3.4.0, Copyright (c) Zend TechnologiesサンプルPHP設定ファイルを次のコマンドでコピーします:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini次に、PHP-FPMを有効にして起動します:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startPHP-FPMが起動したかどうかを確認するには、次のコマンドを実行できます:
sudo service php-fpm statusその結果、次のような出力が表示されます:
# 出力
php_fpmはpid 23005として実行中です。PHPモジュールのインストール(オプション)
PHPの機能を強化するために、追加のモジュールをオプションでインストールできます。
現在コンパイルされているPHPモジュールを確認するには、次のコマンドを実行できます:
php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard
# [Zend Modules]利用可能なPHPモジュールを検索するには、次のコマンドを使用できます:
pkg search ^php74-*結果は、インストールできるほとんどのPHP 7.4モジュールになります:
# 出力
# php74-7.4.0 PHPスクリプト言語
# php74-Ice37-3.7.2_1 CORBA/COM/DCOM/COM+などのオブジェクトミドルウェアの現代的な代替
# php74-aphpbreakdown-2.2.2 互換性チェック用のPHP用コードアナライザー
# php74-aphpunit-1.9 単体テスト用のテストフレームワーク
# php74-bcmath-7.4.0 php用のbcmath共有拡張
# php74-brotli-0.7.0 PHP用のBrotli拡張
# php74-bsdconv-11.5.0 bsdconv用のPHPラッパー
# php74-bz2-7.4.0 php用のbz2共有拡張
# php74-calendar-7.4.0 php用のカレンダー共有拡張
# php74-composer-1.8.6 PHP用の依存関係マネージャー
# php74-ctype-7.4.0 php用のctype共有拡張
# php74-curl-7.4.0 php用のcurl共有拡張
# . . .調査の結果、パッケージをインストールする必要があると判断した場合は、pkg installコマンドを使用してインストールできます。ほとんどのPHPウェブアプリケーションは追加のモジュールを必要とするため、それらを検索する方法を知っておくことは良いことです。
ステップ4 — ApacheをPHPモジュールで使用するように設定
PHPを使用する前に、Apacheと連携するように設定する必要があります。
sudo vim /usr/local/etc/apache24/modules.d/001_mod-php.confを実行し、以下の内容でファイルを埋めます:
DirectoryIndex index.php index.html
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
ファイルを保存してvimを終了します。
Apacheの設定を確認します:
sudo apachectl configtestApacheで設定変更を行ったため、それらを適用するにはサービスを再読み込みする必要があります。そうしないと、Apacheは以前の設定で動作し続けます:
sudo apachectl restartステップ5 — PHP処理のテスト
システムがPHP用に正しく設定されているかをテストするために、非常に基本的なPHPスクリプトを作成できます。このスクリプトをinfo.phpと呼びます。デフォルトでは、DocumentRootは/usr/local/www/apache24/dataに設定されています。その場所にinfo.phpファイルを作成するには、次のように入力します:
sudo vim /usr/local/www/apache24/data/info.phpそして、そのファイルにこのコードを追加します:
http://your_server_IP/info.phpに移動すると、次のページが表示されます:

FAMPスタックのインストールと設定が完了したら、サーバーに関する情報を公開しないようにinfo.phpファイルを削除する必要があります:
sudo rm /usr/local/www/apache24/data/info.php結論
おめでとうございます。FreeBSD 12.1サーバーにFAMPスタックを正常にインストールしました。これで、次に何をするかの選択肢がいくつかあります。これにより、ほとんどの種類のウェブサイトやウェブソフトウェアをその上にインストールできるプラットフォームが整いました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。