MailtrainニュースレターアプリケーションをFreeBSD 12にインストールする方法

Mailtrainは、Node.jsとMySQL / MariaDBに基づいて構築されたオープンソースの自己ホスト型ニュースレターアプリです。MailtrainのソースはGitHubにあります。このガイドでは、新しいFreeBSD 12 VultrインスタンスにMailtrainをインストールする方法を示します。

必要条件

  • ソフトウェア要件:
    • Node.js v7以降
    • MySQL v5.5
    • Nginx
    • Redis(オプション)
  • ハードウェア要件:
    • 1 vCPU
    • 1024 MB RAM

あなたが始める前に

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

uname -ro
# FreeBSD 12.0-RELEASE

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

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

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

pkg install -y sudo vim unzip wget git bash socat

希望するユーザー名で新しいユーザーアカウントを作成します(ここではを使用します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) ALLwheelグループのメンバーがコマンドを実行できるようにします。

visudo

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

次に、suコマンドで新しく作成したユーザーに切り替えます。

su - johndoe

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

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

sudo tzsetup

Node.jsとnpmをインストールする

Node.jsとnpmをインストールします。

sudo pkg install -y node10 npm-node10

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

node -v && npm -v
# v10.15.3
# 6.9.0

MariaDBをインストールする

MariaDBをインストールします。

sudo pkg install -y mariadb102-client mariadb102-server

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

mysql --version
# mysql  Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1

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

sudo sysrc mysql_enable="yes" 
sudo service mysql-server start

mysql_secure_installationスクリプトを実行して、MariaDBインストールのセキュリティを向上させます。

sudo mysql_secure_installation

rootユーザーとしてMariaDBにログインします。

mysql -u root -p
# Enter password:

新しいMariaDBデータベースとユーザーを作成します。この新しいユーザーの資格情報を覚えておいてください。

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

Nginxをインストールする

Nginxをインストールします。

sudo pkg install -y nginx

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

nginx -v
# nginx version: nginx/1.14.2

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

sudo sysrc nginx_enable=yes
sudo service nginx start

sudo vim /usr/local/etc/nginx/mailtrain.confNginxを実行してMailtrainをセットアップします。

server {

  listen [::]:80;
  listen 80;

  server_name example.com;

  charset utf-8;
  client_max_body_size 50M;


  location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://127.0.0.1:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_next_upstream error timeout http_502 http_503 http_504;
  }

}

ファイルを保存して終了します。

次にmailtrain.conf、メインnginx.confファイルに含める必要があります。

sudo vim /usr/local/etc/nginx/nginx.conf次の行を実行してhttp {}ブロックに追加します。

include mailtrain.conf;

構成をテストします。

sudo nginx -t

Nginxをリロードします。

sudo service nginx reload

Mailtrainをインストールする

Mailtrainをインストールする空のドキュメントルートフォルダーを作成します。

sudo mkdir -p /usr/local/www/mailtrain

ドキュメントルートフォルダーに移動します。

cd /usr/local/www/mailtrain

/usr/local/www/mailtrainフォルダの所有権をuserに変更しますjohndoe

sudo chown -R johndoe:johndoe /usr/local/www/mailtrain

Mailtrainをダウンロードして解凍します。

wget https://github.com/Mailtrain-org/mailtrain/archive/master.zip
unzip master.zip
rm master.zip
mv mailtrain-master/* . && mv mailtrain-master/.* .
rmdir mailtrain-master

npm install --productionMailtrainフォルダーで実行して、必要な依存関係をインストールします。

MySQLとその中のその他の設定をコピーconfig/default.tomlconfig/production.tomlて更新します。

cp config/default.toml config/production.toml
vim config/production.toml

サーバーを実行します。

NODE_ENV=production npm start

インストールが完了しました。ユーザー名adminとパスワードでログインしますtest。ログインしたら、Mailtrain 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の未来は、日々成長を続けています。