CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
Taigaは、プロジェクト管理用の無料のオープンソースアプリケーションです。他のプロジェクト管理ツールとは異なり、Taigaは段階的なアジャイルアプローチを使用してプロジェクトの開発を管理します。タイガは非常に強力で完全にカスタマイズ可能なアプリケーションです。Taigaのバックエンドは、Djangoフレームワークを使用してPythonで記述されています。フロントエンドは、CoffeeScriptおよびAngularJSフレームワークを使用してJavaScriptで記述されています。Taigaには、プロジェクトコラボレーション、カンバンボード、バグ追跡、レポート、時間追跡、バックログ、wikiなどの機能が含まれています。
このチュートリアルではtaiga.example.com
、サーバーを指すドメイン名としてを使用します。すべてのtaiga.example.com
を実際のドメイン名に置き換えます。
CentOS 7のアップデート方法ガイドを使用して、ベースシステムをアップデートします。システムが更新されたら、PostgreSQLのインストールに進みます。
PostgreSQLは、その安定性と速度で知られているオブジェクトリレーショナルデータベースシステムです。TaigaはPostgreSQLを使用してデータベースを格納しています。PostgreSQLリポジトリをシステムに追加します。
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
PostgreSQLデータベースサーバーをインストールします。
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
データベースを初期化します。
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
PostgreSQLサーバーを起動し、起動時に自動的に起動するようにします。
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
デフォルトの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 2.7はCentOS 7サーバーにプリインストールされていますが、TaigaにはPythonバージョン3.4以降が必要です。
ソースからPythonバージョン3.6をインストールします。必要なビルドツールとコンパイラをインストールします。
sudo yum -y install gcc autoconf flex bison libjpeg-turbo-devel freetype-devel zlib-devel zeromq3-devel gdbm-devel ncurses-devel automake libtool libffi-devel curl git tmux libxml2-devel libxslt-devel openssl-devel gcc-c++
Pythonソースコードをダウンロードします。
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz
Pythonインストールを抽出して構成します。
tar xf Python-3.6.3.tar.xz
cd Python-3.6.3
./configure --enable-optimizations --prefix=/usr
代替インストールを行います。
sudo make altinstall
注:代替インストールでは、Pythonのデフォルトバージョンを置き換えずにPython 3.6をインストールします。CentOS 7のデフォルトのPythonを置き換えると、YUM
リポジトリマネージャーが破損する可能性があります。
これで、そのバージョンを確認できるようになります。
python3.6 -V
次のようになります。
[user@vultr Python-3.6.3]$ python3.6 -V
Python 3.6.3
を使用してPython仮想環境をインストールしますpip
。
sudo pip3.6 install virtualenv virtualenvwrapper
sudo pip3.6 install --upgrade setuptools pip
Python仮想環境は、Pythonプロジェクト用の分離された仮想環境を作成するために使用されます。仮想環境には独自のインストールディレクトリが含まれ、グローバル環境や他の仮想環境とライブラリを共有しません。
TaigaはRabbitMQを使用してメッセージキューを処理します。RabbitMQが機能するには、Erlangライブラリが必要です。Erlangをインストールします。
sudo yum -y install erlang
RabbitMQ GPG署名鍵をインポートします。
sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
RabbitMQをインストールします。
sudo yum -y install https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm
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
安全なパスワードに置き換えてください。
Taigaのフロントエンドをコンパイルするには、Node.jsバージョン7以降が必要です。Node.jsバージョン8リポジトリを追加します。
curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -
Node.jsとpwgen
ユーティリティをインストールします。
sudo yum install -y nodejs pwgen
pwgen
強力な秘密の文字列を生成するために後で使用されます。CoffeeScriptフレームワークで作成されたTaigaファイルのコンパイルに使用されるため、CoffeeScriptをインストールします。
sudo npm install -g coffee-script gulp
Taigaの新しいシステムユーザーを追加して、Taigaプロセスが非特権ユーザーとして実行されていることを確認します。
sudo useradd -s /bin/bash 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
virtualenvwrapper
デフォルトのPythonの代わりにPython 3.6を使用するように構成します。
echo "VIRTUALENVWRAPPER_PYTHON='/bin/python3.6'" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc
最後に、~/.bashrc
ファイルを入手します。
source ~/.bashrc
次に、Python 3.6を使用して、Taigaの新しい仮想環境を作成します。
mkvirtualenv -p /bin/python3.6 taiga
pip3.6 install --upgrade setuptools
を使用して、必要なPython依存関係をインストールしますpip
。
pip3.6 install -r requirements.txt
データベースに必要な初期データを入力します。
python3.6 manage.py migrate --noinput
python3.6 manage.py loaddata initial_user
python3.6 manage.py loaddata initial_project_templates
python3.6 manage.py compilemessages
python3.6 manage.py collectstatic --noinput
上記のコマンドは、PostgreSQLデータベースにデータを書き込みます。Taigaは、製品の評価に役立つデモまたはサンプルデータも出荷しています。サンプルデータをインストールする場合は、以下を実行します。
python3.6 manage.py sample_data
注:サンプルデータのインストールはオプションであり、製品の評価のみを目的としています。
Taigaバックエンドの構成ファイルの作成に進む前に、秘密の文字列を生成する必要があります。この文字列は、セッションデータの暗号化に使用されます。
64文字のランダムな文字列を生成します。
pwgen -s -1 64
出力がランダムな文字列として表示されるはずです。
(taiga) [taiga@vultr taiga-back]$ pwgen -s -1 64
CZfjWjHctPwnLZsDysWqaZcYfRCviHbI4fVRwfhpbtAHPNBtmkcegpwpYjTtEziJ
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"
上記のコードで、サンプルのドメイン名を実際のドメイン名に置き換えてください。また、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 25, 2017 - 07:07:28
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/
{"locales": "http://127.0.0.1:8000/api/v1/locales", "auth": "http://127.0.0.1:8000/api/v1/auth", "users": "http://127.0.0.1:8000/api/v1/users", "roles": "http://127.0.0.1:8000/api/v1/roles", "user-storage": "http://127.0.0.1:8000/api/v1/user-storage", "notify-policies": "http://127.0.0.1:8000/api/v1/notify-policies", "projects": "http://127.0.0.1:8000/api/v1/projects", "projects/(?P<resource_id>\\d+)/fans": "http://127.0.0.1:8000/api/v1/projects/(?P<resource_id>\\d+)/fans", "projects/(?P<resource_id>\\d+)/watchers": "http://127.0.0.1:8000/api/v1/projects/(?P<resource_id>\\d+)/watchers", "project-templates": "http://127.0.0.1:8000/api/v1/project-templates",
「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
ドメインを実際のドメインに置き換えてください。上記の設定で、デフォルトの言語やその他のパラメータを変更することもできます。
フロントエンドとバックエンドの他に、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バックエンド構成ファイルで提供した鍵とまったく同じでなければなりません。また、StrongMQPassword
Taigaメッセージキューユーザーの実際のパスワードでを更新します。
サーカスはPythonアプリケーションのプロセスマネージャーです。Taigaバックエンドとイベントの実行にはCircusを使用します。
sudo
ユーザーに切り替えます。
exit
注:これからは、sudo
user を使用してコマンドを実行する必要があります。
を使用してCircusをインストールしpip
ます。
sudo pip3.6 install circus
Circusの設定を保存するための新しいディレクトリを作成します。
sudo mkdir /etc/circus
sudo mkdir /etc/circus/conf.d
Circusのデフォルトの構成ファイルを作成します。
sudo nano /etc/circus/circus.ini
ファイルに次の設定を入力します。
[circus]
check_delay = 5
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
include = /etc/circus/conf.d/*.ini
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.6/site-packages
Taigaイベントを実行するための新しいCircus構成を作成します。
sudo nano /etc/circus/conf.d/taiga-events.ini
ファイルに以下を入力します。
[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/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
次に、systemd
Circusを実行するためのサービスファイルを作成する必要があります。を使用systemd
すると、再起動や障害時にCircusが自動的に起動します。
sudo nano /etc/systemd/system/circus.service
ファイルに入力します。
[Unit]
Description=Circus process manager
After=syslog.target network.target nss-lookup.target
[Service]
Type=simple
ExecReload=/usr/bin/circusctl reload
ExecStart=/usr/bin/circusd /etc/circus/circus.ini
Restart=always
RestartSec=5
[Install]
WantedBy=default.target
Circusを起動し、起動時に自動的に起動できるようにします。
sudo systemctl start circus
sudo systemctl enable circus
サーカスのステータスを確認します。
circusctl status
次の出力が表示されます。
[user@vultr ~]$ circusctl status
taiga: active
taiga-events: active
これで、Taigaが正常にインストールされ、実行されました。使用する前に、本番用のWebサーバーを使用してインストールを公開する必要があります。
Nginx Webサーバーをリバースプロキシとして使用して、ユーザーにアプリケーションを提供します。Let's EncryptからSSL証明書を取得してインストールします。
NginxとCertbotをインストールします。Certbotは、Let's Encrypt CAの公式証明書発行クライアントです。
sudo yum -y install nginx certbot
Certbotがドメイン認証を確認するためにHTTP接続を確立する必要��あるため、ファイアウォール設定を調整して、標準HTTP
とHTTPS
ポートがファイアウォールを通過できるようにします。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
注: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/conf.d/taiga.conf
ファイルに以下を入力します。
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;
}
ドメイン名とSSL証明書へのパスを必ず変更してください。
これで、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にインポートできます。
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の未来は、日々成長を続けています。