FreeBSD 11.1にBlacklistdをインストールする方法
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
LinuxのLEMPスタックに相当するFEMPスタックは、通常一緒にインストールされるオープンソースソフトウェアのコレクションであり、FreeBSDサーバーが動的なWebサイトおよびWebアプリケーションをホストできるようにします。FEMPは、FreeBSD、Nginx、MySQL、およびPHPを表す頭字語です。
このガイドではpkg
、FreeBSDパッケージマネージャーであるを使用して、FEMPスタックの要素をFreeBSD 12.0 Vultrインスタンスにデプロイします。
このガイドを始める前に、次のものが必要です。
sudo
構成変更を行うユーザー。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
Nginxは、FreeBSDのパッケージマネージャーを使用してインストールできますpkg
。パッケージマネージャを使用すると、ほとんどのソフトウェアをFreeBSDが管理するリポジトリから簡単にインストールできます。使用方法のpkg
詳細については、こちらをご覧ください。
最新のメインラインNginxをインストールするには、次のコマンドを発行します。
sudo pkg install -y nginx-devel
バージョンを確認します。
nginx -v
# nginx version: nginx/1.17.1
このコマンドは、最新のメインラインバージョンをインストールします。これは、運用サーバーで確実に使用できます。最新の安定版リリースをインストールする場合は、のnginx
代わりにパッケージを使用してくださいnginx-devel
。
Nginxを有効にして起動します。
sudo sysrc nginx_enable=yes
sudo service nginx start
Nginxが起動したことを確認するには、次のコマンドを実行します。
sudo service nginx status
その結果、次のようなものが表示されます。
# Output
nginx is running as pid 17607.
WebブラウザでサーバーのパブリックIPアドレスにアクセスすることにより、Nginxがインストールされ、エラーなしで動作していることを確認できます。に移動しyour_server_IP
ます。デフォルトの「ようこそnginxへ!」が表示されます。ページ。
この場合もpkg
、ソフトウェアを入手してインストールするために利用できます。
を使用してMySQLをインストールしますpkg
。
sudo pkg install -y mysql80-client mysql80-server
バージョンを確認します。
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 19066.
mysql_secure_installation
安全策として、安全でないデフォルトをいくつか削除し、データベースシステムへのアクセスをわずかに制限するセキュリティスクリプトを実行することをお勧めします。
sudo mysql_secure_installation
パスワードを設定するように求められ、その後いくつかの他の質問が続きます。強力なパスワードを入力し、残りの質問ではを押しENTERてデフォルトを選択します。
でPHPをインストールするに7.3
はpkg
、次のコマンドを実行します。
sudo pkg install -y php73
バージョンを確認してください。
php --version
# PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
ソフトリンクphp.ini-production
へphp.ini
。
sudo ln -s /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 -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アプリケーションは追加のモジュールを必要とするので、それらを検索する方法を知ることは良いことです。
PHPを使用する前に、Nginxで動作するように構成する必要があります。
実行sudo vim /usr/local/etc/nginx/test.conf
して、ファイルに次の内容を入力します。
server {
listen 80;
server_name SERVER_IP; # Replace with your IP or hostname
root /usr/local/www/nginx-dist;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
ファイルを保存して:+ W+で終了しますQ
次にtest.conf
、メインnginx.conf
ファイルに含める必要があります。Nginxのメインの構成ファイルは/usr/local/etc/nginx
として存在しnginx.conf
ます。
実行sudo vim /usr/local/etc/nginx/nginx.conf
してメイン構成ファイルをVimで開き、次の行をhttp {}
ブロックに追加します。
include test.conf;
Nginx構成をテストします。
sudo nginx -t
Nginxで構成変更を行ったので、それらを適用するにはサービスをリロードする必要があります。それ以外の場合、Nginxは以前の構成で引き続き機能します。
sudo service nginx reload
システムがPHP用に正しく構成されていることをテストするために、非常に基本的なPHPスクリプトを作成できます。このスクリプトを呼び出しますinfo.php
。デフォルトでは、root
に設定されてい/usr/local/www/nginx-dist
ます。info.php
その場所にファイルを作成できます。
sudo vim /usr/local/www/nginx-dist/info.php
次のコードをそのファイルに追加します。
<?php phpinfo(); ?>
移動するhttp://your_server_IP/ìnfo.php
と、次のページが表示されます。
インストールとセットアップ後info.php
は、サーバーに関する情報を公開しないようにファイルを削除する必要があります。
sudo rm /usr/local/www/nginx-dist/info.php
おめでとうございます。FEBSDスタックがFreeBSD 12.0 VPSに正常にインストールされました。これで、次に何をするかについて複数の選択肢があります。ほとんどの種類のWebサイトとWebソフトウェアをその上にインストールできるプラットフォームをインストールしました。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。