FreeBSD 12にMonicaをインストールする方法

モニカは、オープンソースの対人関係管理システムです。友人や家族のためのCRM(企業の世界で営業チームが使用する一般的なツール)と考えてください。そのソースコードはGitHubで公開されています。このガイドでは、Monicaアプリケーションのインストールプロセスについて説明します。

必要条件

  • FreeBSD 12システム
  • ギット
  • 次のPHP拡張機能を備えたPHPバージョン7.2以降:
    • json
    • iconv
    • 国際
    • opcache
    • mbstring
    • xml
    • mysqli
    • pdo_mysql
    • bcmath
    • カール
    • gmp
    • zip
    • gd
  • MariaDB
  • Nginx
  • 作曲

あなたが始める前に

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

uname -ro
# FreeBSD 12.0-RELEASE

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

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

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

pkg install -y sudo vim unzip curl wget bash socat git libpng-dev

希望するユーザー名で新しいユーザーアカウントを作成します。使用します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

PHPをインストールする

PHPと必要なPHP拡張機能をインストールします。

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-phar php72-soap php72-xmlrpc php72-opcache php72-mysqli php72-bcmath php72-gmp

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

php --version

# PHP 7.2.19 (cli) (built: Jun 20 2019 01:25:01) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

ソフトリンクphp.ini-productionphp.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

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スクリプトを実行して、インストールのセキュリティを向上させます。

sudo mysql_secure_installation

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

mysql -u root -p
# Enter password:

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

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/monica.confNonicaxを実行してMonicaをセットアップします。

server {

  listen 80;
  listen [::]:80;
  server_name example.com;
  root /usr/local/www/monica/public;

  index index.php;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass 127.0.0.1:9000;
  }

}

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

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

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

include monica.conf;

構成をテストします。

sudo nginx -t

Nginxをリロードします。

sudo service nginx reload

Composerをインストールする

Composerをグローバルにインストールします。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

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

composer --version
# Composer version 1.8.6 2019-06-11 15:03:05

Monicaをインストールして構成する

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

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

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

cd /usr/local/www/monica

/usr/local/www/monicaフォルダの所有権をユーザーに変更しますjohndoe

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

Monicaリポジトリのクローンを作成します。

git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.14.0

注: GitHubのリリースページで最新の公式バージョンを見つけ、上記のバージョン番号を最新のリリースに更新してください。

以下を実行して、プロジェクトに必要な独自のバージョンの環境変数を作成します。

cp .env.example .env

.env特定のニーズに合わせてファイルを更新します。セットに忘れてはいけないDB_USERNAMEDB_PASSWORD、以前に使用した設定で。

すべてのパッケージをインストールします。

composer install --no-interaction --no-suggest --no-dev

アプリケーションキーを生成します。これはAPP_KEY自動的に正しい値に設定されます。

php artisan key:generate

マイグレーションを実行し、データベースとsymlinkフォルダーをシードします。

php artisan setup:production -v

/usr/local/www/monicaディレクトリの所有権をに変更しwwwます。

 sudo chown -R www:www /usr/local/www/monica

インストールが完了しました。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の未来は、日々成長を続けています。