FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

前書き

LinuxのLAMPスタックに相当するFAMPスタックは、通常一緒にインストールされてFreeBSDサーバーが動的なWebサイトやWebアプリケーションをホストできるようにするオープンソースソフトウェアのコレクションです。FAMPはF reeBSD(オペレーティングシステム)、 A pache(HTTPサーバー)、M ySQL(データベースサーバー)、およびP HP(動的PHPコンテンツを処理するプログラミング言語)を表す頭字語です。

このガイドではpkg、FreeBSDパッケージマネージャーであるを使用して、FAMPスタックの要素をFreeBSD 12.0 Vultrインスタンスにデプロイします。

必要条件

このガイドを始める前に、次のものが必要です。

  • FreeBSD 12.0 VPS。
  • root特権を持つユーザー、またはsudo構成変更を行うユーザー。
  • FreeBSDシステムとコマンドラインインターフェースの基本的な知識があることが推奨されます。

あなたが始める前に

FreeBSDのバージョンを確認してください。

uname -ro
# FreeBSD 12.0-RELEASE-p6

FreeBSDシステムが最新であることを確認します。

freebsd-update fetch install
pkg update && pkg upgrade -y

必要なパッケージをインストールします。

pkg install -y sudo vim bash curl

希望するユーザー名で新しいユーザーアカウントを作成します。使用していますjohndoe

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

visudoコマンドを実行し、%wheel ALL=(ALL) ALL行のコメントを外して、wheelグループのメンバーが任意のコマンドを実行できるようにします。

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

次に、新しく作成したユーザーに切り替えますsu

su - johndoe

注: ユーザー名に置き換えjohndoeてください。

タイムゾーンを設定します。

sudo tzsetup

ステップ1 — Apacheのインストール

Apache Webサーバーは現在、世界で最も人気のあるWebサーバーの1つです。ウェブサイトをホストするのに最適です。

FreeBSDのパッケージマネージャーを使用してApacheをインストールできますpkg。パッケージマネージャを使用すると、ほとんどのソフトウェアをFreeBSDが管理するリポジトリから簡単にインストールできます。使用方法のpkg詳細については、こちらをご覧ください

Apacheをインストールするには、次のコマンドを発行します。

sudo pkg install -y apache24

バージョンを確認します。

httpd -v
# Server version: Apache/2.4.39 (FreeBSD)

次に、Apacheを有効にして起動します。

sudo sysrc apache24_enable=yes
sudo service apache24 start

Apacheが起動したことを確認するには、次のコマンドを実行します。

sudo service apache24 status

その結果、次のようなものが表示されます。

# Output
apache24 is running as pid 17772.

WebブラウザーでサーバーのパブリックIPアドレスにアクセスすることにより、Apacheがインストールされ、エラーなしで機能していることを確認できます。に移動しhttp://your_server_IPます。デフォルトの " It works! " Apacheページが表示されます。

ステップ2 — MySQL 8.0のインストール

Webサーバーが稼働しているので、リレーショナルデータベース管理システムであるMySQLをインストールします。MySQLサーバーは、サーバーが情報を格納できるデータベースへのアクセスを整理して提供します。

この場合もpkg、ソフトウェアを入手してインストールするために利用できます。

MySQLをインストールするには8.0使用してpkg、次のコマンドを使用します。

sudo pkg install -y mysql80-client mysql80-server

このコマンドは、最新バージョンのMySQLクライアントおよびサーバー(現在)をインストールします8.x.x

バージョンを確認します。

mysql --version
# mysql  Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

MySQLを有効にして起動します。

sudo sysrc mysql_enable=yes
sudo service mysql-server start

MySQLが起動したことを確認するには、次のコマンドを実行します。

sudo service mysql-server status

次のようなものが表示されます。

# Output
mysql is running as pid 19171.

良い方法として、mysql_secure_installation安全でないデフォルトを削除してデータベースシステムへのアクセスをわずかに制限するセキュリティスクリプトを実行することができます。

sudo mysql_secure_installation

パスワードを設定するように求められ、その後いくつかの他の質問が続きます。強力なパスワードを入力し、残りの質問ではを押しENTERてデフォルトを選択します。

ステップ3 — PHP 7.3のインストール

PHPは、Web開発用に設計されたサーバーサイドスクリプト言語です。PHPはFAMPスタックの必須コンポーネントです。また、PHPの代わりにPythonまたはPerlが一般的に使用されます。ただし、最も一般的なオプションであるPHPが最も頻繁に使用されます。データベースとともに、それはあなたのウェブサイトやアプリに動的な振る舞いを与えます。

もう一度、pkgシステムを利用してPHPコンポーネントをインストールします。

でPHP 7.3をインストールするにはpkg、次のコマンドを実行します。

sudo pkg install -y php73 php73-mysqli mod_php73

これは、インストールphp73mod_php73およびphp73-mysqliパッケージを。

バージョンを確認してください。

php --version
# PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 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 start

PHP-FPMが起動したことを確認するには、次のコマンドを実行します。

sudo service php-fpm status

その結果、次のようなものが表示されます。

# Output
php_fpm is running as pid 23005.

PHPモジュールのインストール(オプション)

PHPの機能を拡張するために、オプションでいくつかの追加モジュールをインストールできます。

現在PHPモジュールでコンパイルされていることを確認するには、次のコマンドを実行します。

php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard

# [Zend Modules]

利用可能なPHPモジュールを検索するには、次のコマンドを使用できます。

pkg search ^php73-*

結果は、主にインストールできるPHP 7.3モジュールになります。

# Output
# php73-7.3.7                    PHP Scripting Language
# php73-Ice37-3.7.2              Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2      Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8             Testing framework for unit tests
# php73-bcmath-7.3.7             The bcmath shared extension for php
# php73-brotli-0.7.0             Brotli extension for PHP
# php73-bsdconv-11.5.0           PHP wrapper for bsdconv
# php73-bz2-7.3.7                The bz2 shared extension for php
# php73-calendar-7.3.7           The calendar shared extension for php
# php73-composer-1.8.6           Dependency Manager for PHP
# php73-ctype-7.3.7              The ctype shared extension for php
# php73-curl-7.3.7               The curl shared extension for php
# . . .

調査の結果、パッケージをインストールする必要があると判断した場合は、pkg installコマンドを使用してインストールできます。ほとんどのPHP Webアプリケーションは追加のモジュールを必要とするので、それらを検索する方法を知ることは良いことです。

ステップ4 — PHPモジュールを使用するようにApacheを構成する

PHPを使用する前に、Apacheで動作するように構成する必要があります。

実行sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confして、以下のコンテンツをファイルに入力します。

<IfModule dir_module>
  DirectoryIndex index.php index.html
  <FilesMatch "\.php$">
    SetHandler application/x-httpd-php
  </FilesMatch>
  <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
  </FilesMatch>
</IfModule>

ファイルを保存して:+ W+で終了しますQ

Apacheの設定を確認してください。

sudo apachectl configtest

Apacheで設定を変更したので、それらを適用するにはサービスをリロードする必要があります。それ以外の場合、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

次のコードをそのファイルに追加します。

<?php phpinfo(); ?>

移動するhttp://your_server_IP/info.phpと、次のページが表示されます。

FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

FAMPスタックのインストールとセットアップ後info.php、サーバーに関する情報を公開しないようにファイルを削除する必要があります。

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

結論

おめでとうございます。FreeBSD12.0 VPSにFAMPスタックが正常にインストールされました。これで、次に何をするかについて複数の選択肢があります。ほとんどの種類のWebサイトとWebソフトウェアをその上にインストールできるプラットフォームをインストールしました。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。