CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
Redmineは無料でオープンソースのWebベースのプロジェクト管理ツールです。Ruby on Railsで記述され、データベースを格納するための複数のデータベースサーバーをサポートしています。これは、複数のプロジェクト、役割ベースのACL、および問題追跡システムをサポートする機能豊富なアプリケーションです。また、ガントチャートとカレンダーのサポート、ファイル管理、プロジェクトごとのWikiとフォーラム、その他の多くの機能も備えています。Git、SVN、CVSなどのバージョン管理システムをサポートしています。また、多言語対応で、49もの言語をサポートしています。
このチュートリアルでは192.168.1.1
、パブリックIPアドレスおよびredmine.example.com
Vultrインスタンスを指すドメイン名として使用し ます。サンプルのドメイン名とIPアドレスをすべて実際のものに置き換えてください。
How to Update Ubuntu 16.04のガイドを使用してベースシステムを更新します。システムが更新されたら、依存関係のインストールに進みます。
RedmineはRuby on Railsで記述されているため、アプリケーションを提供するには、Phusion PassengerがApache Webサーバーと統合する必要があります。
Apacheをインストールします。
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
RubyとPassengerをビルドするには、いくつかの開発ツールも必要です。必要なツールをインストールします。
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmineは、MySQL、PostgreSQL、MSSQLなど、複数のタイプのデータベースサーバーをサポートしています。このチュートリアルでは、PostgreSQLを使用してRedmineデータベースサーバーをホストします。
PostgreSQLはオブジェクトリレーショナルデータベースシステムです。デフォルトのUbuntuリポジトリには古いバージョンのPostgreSQLが含まれているため、PostgreSQLリポジトリをシステムに追加します。
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
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
Redmineの新しいPostgreSQLユーザーを作成します。
createuser redmine
の代わりに任意のユーザー名を使用できます redmine
。PostgreSQLは、psql
データベースでクエリを実行するためのシェルを提供し ます。PostgreSQLシェルに切り替えます。
psql
Redmineデータベース用に新しく作成したユーザーのパスワードを設定します。
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
DBPassword
安全なパスワードに置き換え ます。Redmineインストール用の新しいデータベースを作成します。
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
psql
シェルを終了し ます。
\q
sudo
ユーザーに切り替え ます。
exit
さらにいくつかの必要なPostgreSQL依存関係をインストールします。
sudo apt -y install libpqxx-dev protobuf-compiler
RVMを使用してRubyの最新バージョンをインストールします。Rubyの複数のバージョンをインストールおよび管理するために使用されます。
RVMリポジトリを追加します。
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
RVMをインストールします。
sudo apt -y install rvm
Rubyシステム全体をインストールする必要があるため、一時的にrootユーザーに切り替えます。
sudo -i
環境変数を更新します。
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Rubyの最新バージョンをインストールします。
rvm install 2.5.1
注: Rubyの別のバージョンを使用している場合は、それに応じてRubyパスを更新してください。
インストールされているバージョンのRubyを使用します。
rvm use 2.5.1 --default
バージョンを確認できます。
ruby -v
同様の出力が表示されます。
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
bundler
Rubyアプリケーションの依存関係マネージャーであるをインストールします。
gem install bundler
Rubyがインストールされました。Redmineをインストールする前に、Phusion Passengerをインストールする必要があります。
次のコマンドを実行してPassengerをインストールします。
gem install passenger
Passenger用のApacheモジュールをインストールします。
passenger-install-apache2-module
インストーラースクリプトはいくつかの質問をします。まず、インストールプロセスに関する情報を提供します。次に、使用する言語を選択するように求められます。アプリケーションはRuby on Railsで記述されているため、メニューからRubyを選択し、を押しENTERて先に進みます。
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
インストーラーが要件を確認します。インストーラーは欠落している依存関係に遭遇することはなく、モジュールのコンパイルとインストールに自動的に進みます。
モジュールがインストールされると、モジュールをApache構成ファイルに追加するように求められます。
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
ここではこれをスキップし、チュートリアルの後半で完了します。を押してENTER、このステップをスキップします。
最後に、インストーラスクリプトがインストールを検証し、Apache構成でPassengerモジュールが指定されていないことを示す警告が表示されます。
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/apache2/apache2.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
ApacheのPassengerモジュールをインストールしたので、Redmineのダウンロードとインストールに進みます。sudo
userを使用してこれ以上コマンドを実行する必要がないため、もう一度ユーザーに切り替えroot
ます。
exit
システムを他のシステムから分離するために、権限のないユーザーを使用してアプリケーションを実行することをお勧めします。Redmineの新しいユーザーを作成し、新しく作成したユーザーに切り替えます。
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
Redmineの公式ダウンロードページから最新バージョンのRedmineをダウンロードしてください。
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
便宜上、アーカイブを抽出し、ディレクトリの名前を変更します。
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
サンプル構成ファイルを本番ロケーションにコピーします。
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
コピーしたデータベース構成ファイルを開いて、データベースの詳細を入力します。
nano config/database.yml
デフォルトでは、データベースファイルはMySQL用に構成されています。本番環境と開発環境の構成を見つけ、MySQLアダプターを使用するテストを行います。これらの行をすべてコメント化します。
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# encoding: utf8
#development:
# adapter: mysql2
# database: redmine_development
# host: localhost
# username: root
# password: ""
# encoding: utf8
#test:
# adapter: mysql2
# database: redmine_test
# host: localhost
# username: root
# password: ""
# encoding: utf8
production
さらに、postgresql
アダプターの構成を含む、 コメント化されている行を見つけます 。これらの行のコメントを外して、データベース名とユーザー資格情報を更新します。必ず2つのスペースである正しいインデントを使用してください。
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
PostgreSQL構成を使用するようにアプリケーションを構成します。
bundle config build.pg --with-pg-config=/usr/bin/pg_config
アプリケーションに必要な依存関係をインストールします。
bundle install --path vendor/bundle --without development test
インストールの最後に次のメッセージが表示されます。
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
次のコマンドは、セッションデータのエンコードに使用されるシークレットトークンを生成します。
bundle exec rake generate_secret_token
PostgreSQLデータベースを書き込みます。
RAILS_ENV=production bundle exec rake db:migrate
次のコマンドを実行すると、デフォルトのデータがPostgreSQLデータベースに書き込まれます。
RAILS_ENV=production bundle exec rake redmine:load_default_data
上記のコマンドでは、アプリケーションで使用するデフォルトの言語を選択するように求められます。デフォルトの選択は英語です。お好みに合わせてお選びください。
[redmine@vultr redmine]$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]
====================================
Default configuration data loaded.
Redmineアプリケーションのインストールが完了しました。ディレクトリーとファイルの所有権と許可を変更します。
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
非特権ユーザーから必要なものすべてを構成しました。をsudo
実行して、ユーザーに 切り替えます su - <username>
。
ApacheのPassengerモジュールをApache構成ファイルに追加します。これは自動的にPassengerモジュールをロードします。
echo "LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/apache2/apache2.conf
注: Passengerの新しいリリースがあると、Passengerモジュールへのパスが変更される場合があります。モジュールへのパスを見つけるには、sudo find / -name mod_passenger.so
コマンドを使用します。
Redmineアプリケーション用の新しい仮想ホストファイルを作成します。
sudo nano /etc/apache2/sites-available/redmine.conf
ファイルに次の内容を入力します。
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
をredmine.example.com
実際のドメイン名に置き換え てください。また、PassengerRoot
および へのパスPassengerDefaultRuby
が正しいことを確認してください 。RubyまたはPassengerの新しいリリースがあると、バイナリへのパスが変更される可能性があります。これらのパスを見つけるには、次のコマンドを実行します。
passenger-config about ruby-command
次の出力が表示されます。
user@vultr:~$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
Version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
To use in Apache: PassengerRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use in Nginx : passenger_ruby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use with Standalone: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/bin/passenger start
## Notes for RVM users
Do you want to know which command to use for a different Ruby interpreter? 'rvm use' that Ruby interpreter, then re-run 'passenger-config about ruby-command'.
仮想ホストファイルが作成されたら。構成をアクティブにします。
sudo a2ensite redmine
Apache Webサーバーを再起動します。
sudo systemctl restart apache2
これで、Redmineインターフェースにアクセスできます http://redmine.example.com
。ユーザー名admin
とパスワードでログインし ます admin
。最初のログイン時に、Redmineはパスワードの更新を要求します。
Redmineのインストールは公開サーバー上にあるため、サーバーからのデータ交換を保護するためにSSLを使用することをお勧めします。
Certbotリポジトリを追加します。
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Let's Encrypt CAのクライアントアプリケーションであるCertbotをインストールします。
sudo apt -y install certbot
注: Let's Encrypt CAから証明書を取得するには、証明書を生成するドメインをサーバーに向ける必要があります。そうでない場合は、ドメインのDNSレコードに必要な変更を加え、DNSが伝播するのを待ってから、証明書要求を再度行ってください。証明書ボットは、証明書を提供する前にドメイン認証局をチェックします。
SSL証明書を生成します。
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
生成された証明書は、おそらくに保存され /etc/letsencrypt/live/redmine.example.com/
ます。SSL証明書はとして保存され cert.pem
、秘密鍵はとして保存され privkey.pem
ます。
Let's Encrypt証明書は90日で期限切れになるため、cronジョブを使用して証明書の自動更新を設定することをお勧めします。
root
ユーザーのCronジョブファイルを開き ます。
sudo crontab -e
ファイルの最後に次の行を追加します。
30 5 * * * /usr/bin/certbot renew --quiet
上記のCronジョブは、毎日午前5時30分に実行されます。証明書の有効期限が切れる場合、証明書は自動的に更新されます。
ApacheのSSLモジュールを有効にします。
sudo a2enmod ssl
先ほどRedmine用に作成した仮想ホストファイルを編集します。
sudo nano /etc/apache2/sites-available/redmine.conf
仮想ホストファイルを次のように変更します。
<VirtualHost *:80>
ServerName redmine.example.com
Redirect permanent / https://redmine.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName redmine.example.com
DocumentRoot "/home/redmine/redmine/public"
<Directory "/home/redmine/redmine/public">
Options None
Require all granted
</Directory>
PassengerAppEnv production
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
PassengerHighPerformance on
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/redmine.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/redmine.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/redmine.example.com/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<IfModule headers_module>
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
</IfModule>
</VirtualHost>
ファイルを保存して、エディターを終了します。
Apacheを再起動して、変更を有効にします。
sudo systemctl restart apache2
Redmineにアクセスできるようになり HTTPS
ました https://redmine.example.com
。
おめでとうございます。Ubuntu16.04インスタンスにRedmineが正常にインストールされました。プロジェクトを作成またはインポートして、プロジェクトの開発を開始します。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
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の未来は、日々成長を続けています。