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

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

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

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

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、