10.1を見ながらFEMP環境を整えてみました。オリジナル記事にある細かい解説は端折っているので、気になる人は原典をあたってね。この記事でFEMPという言葉を知りました。日本語の記事では見かけない表現ですけれど。LAMPとFEMP一般的なWebサービス構築環境はLAMPになります。LAMPのLはLinuxのL。これに対してFEMPのFはFreeBSDのFです。Webサービスを動かすには最低限サーバーOSとWebサーバープログラムが必要ですが、これにデータベースとスクリプト言語をセットにしてLAMPとかFEMPとか言います。それぞれのプログラムの頭文字を並べたものです。éks)と発音するので頭文字はEになります。データベースはMySQLから派生したMariaDBとしているものが多いようで、このサイトもMariaDB版FEMP環境下でWordPressを動かしています。インストール最近はVPSでもVultrみたいにOSインストールイメージを即起動できてしまうので、素のFreeBSDインストール作業は省けますね。してもカスタムカーネルにしたいとか、RELEASE版以外のバージョンを使いたいときはFreeBSDハンドブックを参考にインストールします。FreeBSDの設定は別記事にまとめました。FreeBSDのパッケージシステムを使って、その他関連モジュールをインストールしましょう。php74-mbstringPHP関連がたくさんあるのはNextcloudを動かすためです。7.3までは別モジュールになっていたphp-hashですが、7.4でコアモジュールに取り込まれたためインストール不要になりました。サービスを有効化するまずそれぞれのサービスのrcvar値を調べます。各サービスのスクリプトファイルは/usr/local/etc/rc.dにあります。/usr/local/etc/rc.d/*/usr/local/etc/rc.d/avahi-daemon:rcvar=avahi_daemon_enable/usr/local/etc/rc.d/avahi-dnsconfd:rcvar=avahi_dnsconfd_enable/usr/local/etc/rc.d/cupsd:rcvar="cupsd_enable"/usr/local/etc/rc.d/dbus:rcvar=dbus_enable/usr/local/etc/rc.d/garb:rcvar=garb_enable/usr/local/etc/rc.d/mysql-server:rcvar=mysql_enable/usr/local/etc/rc.d/nginx:rcvar=nginx_enable/usr/local/etc/rc.d/php-fpm:rcvar=php_fpm_enable/usr/local/etc/rc.d/tcsd:rcvar=tcsd_enable/usr/local/etc/rc.d/tpmd:rcvar="${name}_enable"grepでそれぞれのサービスのrcvar変数名がリストアップされました。/etc/rc.confファイルを編集して常時有効化したいサービスのrcvar変数に”YES”をセットします。MariaDBではバイナリログの有効化を明示する必要があるため、最終的にrc.confに追記するのは以下のようになります。logging.”とエラーを吐いてダンプできません。次にPHP-FPMサービスを設定します。設定ファイルは/usr/local/etc/php-fpm.d/www.confです。続いて/usr/local/etc/php.iniファイルを作成。php.ini-productionファイルをコピーしてその内容を編集します。もとはコメントアウトされていて1がセットされている編集が終わったらサービスを開始します。startMySQL/MariaDBの設定MySQL/MariaDBを設定するためにサービスを起動します。FreeBSDのpkgでインストールしたMariaDBのサービス名や各種プログラム名はMySQLのものと全く同一です。startMySQL初回起動時に必要なディレクトリとデータベースファイルが作成されます。サービスが立ち上がるとmysql_secure_installationコマンドでインストールを進めます。[Y/n]MySQLのrootアカウントのパスワードをセットしてその他おすすめ設定をエンターキーで受け入れたら、サービスを再起動します。restartNginxの設定Nginxも設定のためにサービスをスタートします。start設定ファイル/usr/local/etc/nginx/nginx.confを編集します。}}ログローテーションについては別記事にて。以前のバージョンでは最初にログファイルを作成する必要がありましたが、現在ではパッケージインストールすると自動的に/var/log/nginx内にログファイルが生成されます。ドキュメントルートの/usr/local/www/nginxは/usr/local/www/nginx-distのシンボリックリンクになっているので、リンク解除したのちにindex.htmlファイルをコピーします。/usr/local/www/nginx/さらに/usr/local/www/nginx/info.phpファイルを作成します。?>設定ファイルに間違いがないかどうかを確かめます。successful問題がなければ設定を再読み込みします。reloadテスト結果の確認すべての準備が終わったので、最後にテストをします。ブラウザでhttp://example.com(Nginxでserver_nameとして指定したアドレス)にアクセスします。コピーしたindex.htmlファイルにアクセスできて、以下のような表示が出たらOKです。これはNginxが立ち上がっていて、単純なHTMLページが表示できている状態です。次にhttp://example.com/info.phpにアクセスします。このようなPHPページが生成されていれば、FreeBSDサーバー上にFEMP環境が出来上がっています。設定のテストが済んだらinfo.phpは削除しておきましょう。サーバーの設定が丸見えなので。