Ubuntu 16.04にTaiga Project Management Toolをインストールする方法

Taigaは、プロジェクト管理用の無料のオープンソースアプリケーションです。他のプロジェクト管理ツールとは異なり、Taigaは段階的なアジャイルアプローチを使用してプロジェクトの開発を管理します。タイガは非常に強力で完全にカスタマイズ可能なアプリケーションです。Taigaのバックエンドは、Djangoフレームワークを使用してPythonで記述されています。フロントエンドは、CoffeeScriptおよびAngularJSフレームワークを使用してJavaScriptで記述されています。Taigaには、プロジェクトコラボレーション、カンバンボード、バグ追跡、レポート、時間追跡、バックログ、wikiなどの機能が含まれています。

前提条件

  • 1GB以上のRAMを備えたVultr Ubuntu 16.04サーバーインスタンス。
  • sudoのユーザー

このチュートリアルではtaiga.example.com、サーバーを指すドメイン名としてを使用します。すべてのtaiga.example.comを実際のドメイン名に置き換えます。

How to Update Ubuntu 16.04のガイドを使用してベースシステムを更新します。システムが更新されたら、PostgreSQLのインストールに進みます。

PostgreSQLをインストールする

PostgreSQLはオブジェクトリレーショナルデータベースシステムであり、その安定性と速度で知られています。TaigaはPostgreSQLを使用してデータベースを格納しています。PostgreSQLリポジトリをシステムに追加します。

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

GPG署名鍵をインポートし、パッケージリストを更新します。

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

PostgreSQLデータベースサーバーをインストールします。

sudo apt -y install postgresql

PostgreSQLサーバーを起動し、起動時に自動的に起動するようにします。

sudo systemctl start postgresql
sudo systemctl enable postgresql

デフォルトのPostgreSQLユーザーのパスワードを変更します。

sudo passwd postgres

PostgreSQLユーザーとしてログインします。

sudo su - postgres

Taigaの新しいPostgreSQLユーザーを作成します。

createuser taiga 

PostgreSQLは、psqlデータベースでクエリを実行するためのシェルを提供します。PostgreSQLシェルに切り替えます。

psql

Taigaデータベース用に新しく作成したユーザーのパスワードを設定します。

ALTER USER taiga WITH ENCRYPTED password 'DBPassword';

DBPassword安全なパスワードに置き換えます。Taigaインストール用の新しいデータベースを作成します。

CREATE DATABASE taiga OWNER taiga;

psqlシェルを終了します。

\q

sudoユーザーに切り替えます。

exit

Pythonをインストールする

TaigaにはPythonバージョン3.4以降が必要で、Python 3.5はUbuntu 16.04ディストリビューションにプリインストールされています。さらにいくつかの必要なパッケージをインストールします。

sudo apt -y install python3 python3-pip python3-dev python3-dev virtualenvwrapper

Python仮想環境は、Pythonプロジェクト用の分離された仮想環境を作成するために使用されます。仮想環境には独自のインストールディレクトリが含まれ、グローバル環境や他の仮想環境とライブラリを共有しません。Python 3が正常にインストールされたら、そのバージョンを確認できるはずです。

python3 -V

次のようになります。

user@vultr:~$ python3 -V
Python 3.5.2

pip依存関係マネージャアプリケーションであるアップグレード。

sudo pip3 install --upgrade setuptools pip 

また、依存関係をコンパイルするために後で必要になるいくつかのビルドツールをインストールします。

sudo apt -y install build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool libffi-dev curl git tmux gettext

RabbitMQをインストールする

TaigaはRabbitMQを使用してメッセージキューを処理します。RabbitMQが機能するには、Erlangライブラリが必要です。Erlangをインストールします。

sudo apt -y install erlang

RabbitMQリポジトリを追加します。

echo 'deb http://www.rabbitmq.com/debian/ stable main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list

RabbitMQ GPG署名鍵をインポートします。

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

リポジトリ情報を更新します。

sudo apt update

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

sudo apt -y install rabbitmq-server

RabbitMQサーバーを起動して有効にします。

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

RabbitMQユーザーとvhostを追加します。また、ホストを介してユーザーに権限を付与します。

sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

StrongMQPassword安全なパスワードに置き換えてください。

Nodejsをインストールする

Taigaのフロントエンドをコンパイルするには、Node.jsバージョン7以降が必要です。Node.jsバージョン8リポジトリを追加します。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Node.jsとpwgenユーティリティをインストールします。

sudo apt install -y nodejs pwgen npm

pwgen強力な秘密の文字列を生成するために後で使用されます。CoffeeScriptフレームワークで記述されたTaigaファイルのコンパイルに使用されるため、CoffeeScriptをインストールします。

sudo npm install -g coffee-script gulp

Taigaバックエンドをインストールする

Taigaの新しいシステムユーザーを追加して、Taigaプロセスが非特権ユーザーとして実行されていることを確認します。

sudo adduser taiga
sudo su - taiga

:これ以降、ユーザーtaigaに切り替えるように求められるまで、すべてのコマンドを非特権ユーザーとして実行する必要がありsudoます。

ログファイルを格納する新しいディレクトリを作成します。

mkdir -p ~/logs

GitHubからTaigaバックエンドリポジトリのクローンを作成し、最新の安定版ブランチをチェックアウトします。

git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable

次に、Python 3を使用してTaigaの新しい仮想環境を作成します。

mkvirtualenv -p /usr/bin/python3 taiga
pip3 install --upgrade setuptools

を使用して、必要なPython依存関係をインストールしますpip

pip3 install -r requirements.txt

データベースに必要な初期データを入力します。

python3 manage.py migrate --noinput
python3 manage.py loaddata initial_user
python3 manage.py loaddata initial_project_templates
python3 manage.py compilemessages
python3 manage.py collectstatic --noinput

上記のコマンドは、PostgreSQLデータベースにデータを書き込みます。Taigaは、製品の評価に役立つデモまたはサンプルデータも出荷しています。サンプルデータをインストールする場合は、以下を実行します。

python3 manage.py sample_data

サンプルデータのインストールはオプションであり、製品の評価のみを目的としています。

Taigaバックエンドの構成ファイルの作成に進む前に、秘密の文字列を生成する必要があります。この文字列は、セッションデータの暗号化に使用されます。

64文字のランダムな文字列を生成します。

pwgen -s -1 64

出力がランダムな文字列として表示されるはずです。

(taiga) taiga@vultr:~/taiga-back$ pwgen -s -1 64
fhDfyYVJ4EH3tvAyUzmfWSeCXuf5sy5EEWrMQPaf9t3JSFrpiL6yvUEOWsFOTscP

Taigaバックエンド用の新しい構成ファイルを作成します。

nano ~/taiga-back/settings/local.py

次のコードをファイルに入力します。

from .common import *

MEDIA_URL = "https://taiga.example.com/media/"
STATIC_URL = "https://taiga.example.com/static/"
SITES["front"]["scheme"] = "https"
SITES["front"]["domain"] = "taiga.example.com"

SECRET_KEY = "Generated_Secret_Key"

DEBUG = False
PUBLIC_REGISTER_ENABLED = True

DEFAULT_FROM_EMAIL = "[email protected]"
SERVER_EMAIL = DEFAULT_FROM_EMAIL

#CELERY_ENABLED = True

EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga"}

# Uncomment and populate with proper connection parameters
# for enable email sending. EMAIL_HOST_USER should end by @domain.tld
#EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
#EMAIL_USE_TLS = False
#EMAIL_HOST = "mail.example.com"
#EMAIL_HOST_USER = "[email protected]"
#EMAIL_HOST_PASSWORD = "SMTPPassword"
#EMAIL_PORT = 25

# Uncomment and populate with proper connection parameters
# for enable github login/singin.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"

example domain name上記のコードで実際のに置き換えてください。また、Generated_Secret_Key実際のシークレットキーとStrongMQPassword、Taigaメッセージキューユーザーの実際のパスワードに置き換えます。SMTPサーバーの準備ができており、電子メール送信機能をすぐに使用したい場合は、電子メールオプションのコメントを外して、適切な値を設定できます。メールサーバーの準備ができていない場合は、今のところメール機能の設定をスキップして、この構成ファイルで後で設定できます。

GitHubログインを有効にする場合は、GitHubでアプリケーションを作成し、APIクライアントIDとクライアントシークレットを提供します。

Taigaバックエンドを起動できるかどうかをすぐに確認するには、組み込みのDjangoサーバーを実行します。

workon taiga
python manage.py runserver

サーバーが正常に起動すると、次の出力が表示されます。

(taiga) taiga@vultr:~/taiga-back$ workon taiga
(taiga) taiga@vultr:~/taiga-back$ python manage.py runserver
Trying import local.py settings...
Trying import local.py settings...
Performing system checks...

System check identified no issues (0 silenced).
October 28, 2017 - 10:29:38
Django version 1.10.6, using settings 'settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

APIにアクセスできるかどうかを確認するには、別のターミナルセッションを開いて次を実行します。

curl http://127.0.0.1:8000/api/v1/

API呼び出しによって返された同様の出力が表示されます。

user@vultr:~$ curl http://127.0.0.1:8000/api/v1/
{"webhooks": "http://127.0.0.1:8000/api/v1/webhooks", "invitations": "http://127.0.0.1:8000/api/v1/invitations", "severities": "http://127.0.0.1:8000/api/v1/severities", "memberships": "http://127.0.0.1:8000/api/v1/memberships", "user-storage": "http://127.0.0.1:8000/api/v1/user-storage", "epics/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/epics/(?P<resource_id>\\d+)/voters", "wiki": "http://127.0.0.1:8000/api/v1/wiki", "priorities": "http://127.0.0.1:8000/api/v1/priorities", "userstories/attachments": "http://127.0.0.1:8000/api/v1/userstories/attachments", "epics/(?P<epic>[^/.]+)/related_userstories": "http://127.0.0.1:8000/api/v1/epics/(?P<epic>[^/.]+)/related_userstories", "timeline/user": "http://127.0.0.1:8000/api/v1/timeline/user", "userstories/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/userstories/(?P<resource_id>\\d+)/voters", "wiki-links": "http://127.0.0.1:8000/api/v1/wiki-links", "epics/attachments": "http://127.0.0.1:8000/api/v1/epics/attachments", "issues/custom-attributes-values": "http://127.0.0.1:8000/api/v1/issues/custom-attributes-values

ctrl + C」を押してTaigaバックエンドサーバーを停止し、仮想環境を非アクティブ化します。

deactivate

フロントエンドをインストールする

Taigaフロントエンドは、Webユーザーインターフェイスを提供するTaigaのコンポーネントです。GithubからTaigaフロントエンドリポジトリのクローンを作成し、最新の安定したブランチをチェックアウトします。

cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist
git checkout stable

Taigaフロントエンド用の新しい構成ファイルを作成します。

nano ~/taiga-front-dist/dist/conf.json

ファイルに入力します。

{
    "api": "https://taiga.example.com/api/v1/",
    "eventsUrl": "wss://taiga.example.com/events",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": true,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tribeHost": null,
    "importers": [],
    "gravatar": true
}

example domain実際のドメインに置き換えてください。上記の設定で、デフォルトの言語やその他のパラメータを変更することもできます。

Taigaイベントをインストールする

フロントエンドとバックエンドの他に、Taigaイベントもインストールする必要があります。TaigaイベントはWebソケットサーバーであり、Taigaフロントエンドがバックログ、かんばんなどのモジュールのリアルタイムの変更を表示できるようにします。また、メッセージ処理にRabbitMQサーバーを使用します。

GithubからTaigaイベントリポジトリのクローンを作成します。

cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events

を使用してNode.js依存関係をインストールしますnpm

npm install

Taigaイベント用の新しい構成ファイルを作成します。

nano ~/taiga-events/config.json

ファイルに入力します。

{
    "url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
    "secret": "Generated_Secret_Key",
    "webSocketServer": {
        "port": 8888
    }
}

Generated_Secret_Key以前に生成した実際の64文字の長さの秘密鍵に置き換えます。秘密鍵は、Taigaバックエンド構成ファイルで提供した鍵とまったく同じでなければなりません。また、StrongMQPasswordTaigaメッセージキューユーザーの実際のパスワードでを更新します。

サーカスを構成する

サーカスはPythonアプリケーションのプロセスマネージャーです。Taigaバックエンドとイベントを実行するためにサーカスを使用します。

sudoユーザーに切り替えます。

exit

これからは、sudouser を使用してコマンドを実行する必要があります。

sudo apt -y install circus

Taigaバックエンドを実行するための新しいCircus構成ファイルを作成します。

sudo nano /etc/circus/conf.d/taiga.ini

ファイルに入力します。

[watcher:taiga]
working_dir = /home/taiga/taiga-back
cmd = gunicorn
args = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/gunicorn.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 4
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/gunicorn.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 4

[env:taiga]
PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH
TERM=rxvt-256color
SHELL=/bin/bash
USER=taiga
LANG=en_US.UTF-8
HOME=/home/taiga
PYTHONPATH=/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages

Taigaイベントを実行するための新しいCircus構成を作成します。

sudo nano /etc/circus/conf.d/taiga-events.ini

ファイルに入力します。

[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/local/bin/coffee
args = index.coffee
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/taigaevents.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 12
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/taigaevents.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 12

Circusを再起動し、起動時に自動的に開始できるようにします。

sudo systemctl restart circusd
sudo systemctl enable circusd

サーカスのステータスを確認します。

circusctl status

CircusがすべてのTaigaプロセスを正しく開始した場合、次の出力が表示されます。

user@vultr:~$ circusctl status
circusd-stats: active
plugin:flapping: active
taiga: active
taiga-events: active

アクティブでないプロセスがある場合は、sudo chmod -R 777 /home/taiga/logsサーカスを実行して再起動します。Circusプロセスのステータスをもう一度確認します。今回は、サービスが実行されていることがわかります。

これで、Taigaが正常にインストールされ、実行されました。使用する前に、本番用のWebサーバーを使用してインストールを公開する必要があります。

Nginxをリバースプロキシとしてインストールする

Nginxをリバースプロキシとして使用して、アプリケーションをユーザーに提供します。Let's EncryptからSSL証明書を取得してインストールします。

Certbotは、Let's Encrypt CAの公式証明書発行クライアントです。Certbot PPAリポジトリーをシステムに追加します。

sudo add-apt-repository ppa:certbot/certbot
sudo apt update

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

sudo apt -y install nginx certbot

Let's Encrypt CAから証明書を取得するには、証明書を生成するドメインがサーバーに向けられていることを確認する必要があります。そうでない場合は、ドメインのDNSレコードに必要な変更を加え、DNSが伝播するのを待ってから、証明書要求を再度行ってください。証明書ボットは、証明書を提供する前にドメイン認証局をチェックします。

次に、Certbotの組み込みWebサーバーを使用して、ドメインの証明書を生成します。

sudo certbot certonly --standalone -d taiga.example.com

生成された証明書は、/etc/letsencrypt/live/taiga.example.com/ディレクトリに格納される可能性があります。SSL証明書はとして保持されfullchain.pem、秘密鍵はとして保存されprivkey.pemます。

証明書を暗号化しましょう90日で有効期限が切れるので、cronジョブを使用して証明書の自動更新を設定することをお勧めします。Cronは、定期的なタスクを実行するために使用されるシステムサービスです。

cronジョブファイルを開きます。

sudo crontab -e

次の行を追加します。

0 0 * * * /usr/bin/certbot renew --quiet

上記のcronジョブは毎日午前0時に実行されます。証明書の有効期限が切れる場合、証明書は自動的に更新されます。

強力なDiffie-Hellmanパラメータを生成します。ホストとサーバー間のデータ交換に追加のセキュリティ層を提供します。

sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048 

Taigaフロントエンドを提供する新しいNginxサーバーブロックを作成します。

sudo nano /etc/nginx/sites-available/taiga

ファイルに以下を入力します。

server {
    listen 80;
    server_name taiga.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name taiga.example.com;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    index index.html;

    # Frontend
    location / {
        root /home/taiga/taiga-front-dist/dist/;
        try_files $uri $uri/ /index.html;
    }

    # Backend
    location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001/api;
        proxy_redirect off;
    }

    location /admin {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8001$request_uri;
        proxy_redirect off;
    }

    # Static files
    location /static {
        alias /home/taiga/taiga-back/static;
    }

    # Media files
    location /media {
        alias /home/taiga/taiga-back/media;
    }

     location /events {
        proxy_pass http://127.0.0.1:8888/events;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_connect_timeout 7d;
        proxy_send_timeout 7d;
        proxy_read_timeout 7d;
    }

    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header Public-Key-Pins 'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; max-age=2592000; includeSubDomains';

    ssl on;
    ssl_certificate /etc/letsencrypt/live/taiga.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/taiga.example.com/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
    ssl_session_cache shared:SSL:10m;
    ssl_dhparam /etc/ssl/dhparam.pem;
    ssl_stapling on;
    ssl_stapling_verify on;

}

必ず変更してくださいdomain namepath to the SSL certificates。仮想ホストを有効にします。

sudo ln -s /etc/nginx/sites-available/taiga /etc/nginx/sites-enabled/taiga

これで、Nginx Webサーバーを再起動して、起動時に自動的に開始できるようにすることができます。

sudo systemctl restart nginx
sudo systemctl status nginx

最後に、Taigaファイルの所有権と許可を修正します。

sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/

結論

に移動して、Taigaインストールにアクセスできますhttps://taiga.example.com。ユーザー名「admin」とパスワード「123123」で初期管理者アカウントを使用してログインします。これで、インストールを本番で使用する準備ができました。新しいプロジェクトを作成するか、製品を評価することから始めます。Github、Jira、またはTrelloでプロジェクトを既に管理している場合は、インポーターを使用してプロジェクトを簡単にTaigaにインポートできます。



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の未来は、日々成長を続けています。