Redmineをインストールする。(2/3)

前回に引き続きRedmineのインストールを続けます。

前回の記事はこちら(Redmineをインストールする。(1/3))

さて続けます。

Rubyのインストール

現時点で最新のRedmine 3.2は、Ruby 2.2の最新版を適用する必要がある様です。
本ページを執筆中のRubyは2.4が提供されていますがオフィシャルサイトからRuby 2.2の最新版をダウンロードします。

Rubyのオフィシャルサイト・ダウンロードページでRuby 2.2の最新版URLを確認してください。

適当なディレクトリへ移動してから、以下のコマンドを実行するとダウンロードされます。

ダウンロードしたパッケージを解凍→コンパイルします。

こんな感じでruby -vでバージョン情報が出ればOK!

bundlerのインストール?をするらしいので。。。。

こんな感じでインストール

PostgreSQLの設定

オフィシャルサイトでは以下のコマンドを実行する様に記載されています。

私の環境では、postgresql-setupコマンドが存在しませんでしたので、以下のコマンドを実行しました。

/var/lib/pgsql/data/pg_hba.confファイルを開いて、こんな感じで編集します。(2行追加)

PostgreSQLを起動し、自動機能の設定を行います。

移動してredmineユーザがposgreSQLを使用できるようにユーザを新規に作成します。

Redmine用データベースの作成

これで一通りRedmine本体をインストールするための下準備が完成しました。

次こそ、Redmine本体のインストール作業に入ります。
次回はこちら(Redmineをインストールする(3/3)

ここまでの流れを以下にリンクしておきます。

Redmineをインストールする(1/3)

Redmineをインストールする(2/3)

Redmineをインストールする(3/3)

 

Redmineをインストールする。(1/3)

既に記録したものと思い込んでいたが、Redmineのインストール方法を記載していなかった。

ということで、今回はRedmineをインストールしてみる。

Redmineとは

Redmineはプロジェクト管理を行うためおソフトウェアである。
プロジェクトにおける各種の文書管理やスケジュール管理などが可能である。
プロジェクトで使うからと言って、大規模なファイルを共有するためのシステムではない。
大規模なファイルの保管は別途管理方法を考えることをお勧めする。

以前に私が使用した時には、画像がたくさん含まれているドキュメントファイルを共有しようと思い、1GB以上のファイルをRedmineで保管していたのですが、運用上宜しい状態とは言えなかった。
また、アップロード/ダウンロード共にそれ程速いとは言えなかった。
多分、数十MB~最大でも2~300MB程度までのファイルを扱うに留めることが妥当ではないだろうか?
実際に多くのファイルは数MB程度のファイル・・・つまりは、メールでやり取りするファイルサイズを少し上回る程度のファイルを管理する程度が使い勝手良さそうな気がしている。

各種の機能に関しては後述するとして、まずはインストールの方法を記載する。

対象機材:

OS:CentOS 6.8

どうも利用したCentOS 7.xのクラウドサーバは安定性に欠けると判断した。
その為、已む無く今更ながら・・・・・6.xを使用する。

実際に使用したクラウドサーバのスペックは最低限の所謂ワンコインサーバで実装している。
当然、環境が充実していることに越したことはないが、それでも十分に動くんだ~と言えるくらいにはなるだろう。

DB(データベース):MySQL 5.1.73

標準でインストールされている環境もあるかと思いますが。。。
後ほど説明しますね。

Webサーバ:Apache 2.2.15

標準的ですね。
インストールされていないかったら、yum install httpd httpd-develでインストールしちゃいましょうw。ということで、こちらも後ほど説明します。

取りあえずこんなものがインストールされていると良いのですが、簡単なインストール方法は後述します。
既にインストールが完了している方は、適宜読み飛ばしてください。

インストール前準備

インストールを行う前に、SELinuxを一時的に無効化してください。
SELinxを無効化する方法としては、2つの方法があります。

1)SELinuxの一時的停止

この方法では、SELinuxを一時的に停止させることが出来ます。
システムをリブートするとSELinuxは有効状態に戻ります。

まずは、getenforceで現在の状態を確認しています。
Enforceingとなっている場合は、SELinuxが有効になっています。

setenforce 0とすることで、一時的にSELinxを無効化しています。
設定が行われたことを確認するために、再度getenforceを行います。
Permissiveとなっていれば、SELinuxは一時的に無効化されています。

厳密には、Permissiveの状態においてSELinuxは無効化されているというよりは、監視モード(セキュリティ上ガードが掛からないが、監視は行っている状態)になっているという理解の方が正しいかと思います。
実は、この方法を取りながら、ログを確認してセキュリティの許可設定を行う情報を収集するなどの目的に使用することがあります。

今回は、単にSELinuxの一時的無効化だけの為に使用する方法を記載します。

ついでに、SELinuxをPermissive状態からEnforceingに戻す場合は、以下のコマンドを実行します。

2)SELinuxの恒久的無効化

SELinuxを恒久的に無効化する方法について説明します。

サーバを再起動すると無効化(disabled)の状態になります。

1)でPermissiveにした状態で、恒久的な対応を行いたい時だけ2)を実施するという感じで作業を進めれば、一応は再起動を行うタイミングを後に伸ばすことが出来ます。

 

リポジトリの追加

標準のリポジトリにRedmaineは含まれておりません。
その為、EPELレポジトリを使えるようにする必要があります。

一応そのまま使用します。
毎回EPELリポジトリを参照するのが邪魔になる時には、/etc/yum.repos.d/epel.repoの[epel]に記載されているenabled=1を0に変更してください。

yumを使用する際、明示的にEPELリポジトリを指定しない限り、EPELリポジトリを参照することが無くなります。

インストール作業

Redmineは幾つかのパッケージを使用して構築されています。
その為、Redmineをインストールするには関連する幾つかのパッケージをインストールしてあげる必要があります。

開発環境のインストール

まずは手始めに開発環境(コンパイラ等)をインストールすることになります。

CとC++だけ入れても良かったのですが、ひとまとめに入れてしまいました。

RubyとPassengerのビルドに必要な環境の整備

よく解りませんが、opennsslとかzlibとかの開発環境をインストールしちゃいます。

データベース環境のインストール

データベースにはMySQLを使用します。
CentOS 7ではMariaDBですかね?

私の環境では既にmysql-serverがインストールされていたのですが、開発用のファイルがターゲットマシンにインストールされていなかったのでmysql-develをインストールしました。

Redmineのバージョンによってオフィシャルで紹介されているデータベースの環境がことなります。

今回はPostgreSQLを使用します。

 

Web環境のインストール

Apacheのインストールを行います。
環境によっては既にApacheがインストールされている場合もあります。
私の環境では既にhttpdがインストールされていたのですが、開発用のhttpd-develが見インストールでした。
インストール方法は以下の通りです。

画像編集環境とフォントのインストール

Redmineでは画像編集にImageMagickを使っています。
そして日本語フォントを準備する必要があります。

 

そろそろ疲れてきました・・・・当初1000文字程度で一旦区切りを付けようと思っていたのがいつの間にか3000文字を超えています(^^ゞ

ここからのインストールでは、少し手間が掛かります。
つづきは次回に回します。

次回(Redmineをインストールする。(2/3))を参照ください。

 

 

メールサーバの構築・設定(1) CentOS 6上にPostfix 多分、CentOS 7でもそんなに変わらないはず。

今更感はあるものの、まだまだ一般に普及しているクラウドサーバの多くはCentOS 6である。(2016年12月現在)
そこで、敢えてCentOS 6上にPostfixを構築する。

まずは、インストール作業から・・・・っていつもの様に簡単です

CentOSでは、標準でsendmailがインストールされている可能性があります。
sendmailの動作状況を確認します。

今回は停止する必要はなさそうです。
削除してしまっても良いのですが、取りあえず止まっていればOKということで次に進めます。
尚、停止させたい場合は、以下のコマンドを実行して下さい。

ここで、MTAについて少し触れておきます。
用語説明程度です。
MTA(Mail Transfer Agent)とは、メール転送を行うためのエージェントです。
メールを送信するための機能で、メールサーバの一部です。
さて、戻ってsendmailは停止させましたが、どのMTAを使うかシステム内で設定が必要です。
多分、sendmailが指定されたままの状態になっているのではないでしょうか?
ということで、確認してみます。
※MTA:Mail Transfer Agent

まだ、linkの項目を見るとsendmailが使用される設定になっています。

postfixを使えるように設定します。
alternativesコマンドでmtaの設定を変更します。

system-switch-mailを使用できる環境の方は、system-switch-mailコマンドで操作した方が楽だと思います。
私の環境では、system-switch-mailをインストールするのにリポジトリを変更しなければならなかったので、alternativesコマンドで代用しています。

上記の画面が表示されたら、「2」にpostfixが登録されていますので、「2」を指定します。
設定されたのかどうか判らない感じで、終わってしまいます(^^ゞ

設定状態を確認してみましょう!

3行目に表示されているlink項目がpostfixに変更になっているのが解りますね。
一応、これでpostfixになっています。

もう一つ確認方法を・・・

「+」の項目がカレントで設定されていますので、postfixになっています。
何も入力せずにEnterを押して終了しましょう。

以上で、sendmailは無効となって、Postfixが利用可能な状態になりました。

何も設定していないのに動いて大丈夫なの?と思うかも知れませんが、デフォルトのMTAを指定・設定しただけであり、Postfixが稼働し始めているわけではありません。

とは言いつつ、心配ですよね。私も本当かどうか心配です。

以下のコマンドで状態を確認してみます。

きちんと「stopped」(停止)になっていました。
stoppedになっていなかった場合には、以下のコマンドで停止させておきましょう。

動いていても、設定が整っていないので外部からのメールを処理する状態にはなっていないはずですが、設定が完了していない状態で動いてしまうと心配ですよね。

ということで、作業準備は完了したはずです。

続きは次回。。。。(近日中に更新予定)

 

メールサーバを立ち上げることにした。

今までは、プロバイダが提供するメールサーバを利用していました。
個人ではなく法人で契約して、10年以上お世話になってきました。
メールアカウントの設定もメーリングリストの作成もGUIで管理出来て問題はないのですが、幾つか課題はありました。

迷惑メールをメールクライアント(メーラー)で仕分けしていたのですが、10年以上使っていると徐々に増える迷惑メールに対応が必要になってしまいました。
ドキッとするようなタイトルの迷惑メールに思わず反応してしまいそうになったり(^^ゞ
まあ、そんなことはどうでも良いですねw

迷惑メールのフィルタリング機能は、プロバイダでも提供されており、それを使用することも検討は行っていたのですが、フィルタリングに掛かる費用がレンタルサーバの費用と同じくらいになってしまうのが納得いかず、メールのフィルタリングサーバを考えたり、UTMの導入なども検討していました。

そんなモヤモヤが続いていたのですが、仕事が忙しいのを良いことに放置プレイをしていました。

ところが最近、プロバイダ側のメールサーバに大量のスパムが投入されて、本来届くはずのメールが受信できなるという状態が何日か続き、業務にも支障を来たす始末。
あるお客さんからはメールが配信エラーになったとの連絡も入ってきました。
これでは不味いということで、プロバイダに相談したところ、他社への移行も考えて頂いて結構です的な回答。悪い意味ではなく、良心的な回答ではありました。

そこで、他のプロバイダでメールサーバを考えたりもしていたのですが、メールフィルタリングのサポートなどを調べたりするのが面倒になり、プロバイダごと変えちゃおうかとも思ったり、色々と思案した挙句に出した結論は・・・

・メールサーバを自前で建てる。
・Webサーバも自前で建てよう。(後で)

セキュリティとかバックアップとか心配だから、プロバイダにお任せにしてきたのだが、どこが良いのか悩んでるくらいなら一度建ててから、後でじっくり考えようということにしました。

ということで、CentOSのサーバ構築バイブルを片手に、もう片手にインターネットで調べながら・・・・

結論としては、以下の構成で構築したいという方針に定まりました。

・Postfix+Dovecotでサーバ構築
・GUIの管理画面を追加する。
・Webメール機能も後で追加する。
・スパム対策としてSpamassasinを入れてみよう!

これで、私が求めていた
メールサーバで迷惑メールフィルタリングが出来て、Webメールも出来る環境が整うはず。パスワードも平文ではなく暗号化出来るし、セキュリティ上も進歩するはず。
一応求めていた機能は全て満足できる。
更には、Webメール機能は後でじっくり好きなツールを搭載すればよいわけで、プロバイダが準備している使い難いツールを使う必要はない。(別にWebメールだけ別に作っても同じなんですけどねw)

ということで、次回からサーバ構築をメモる!

記載が済み次第、ここで記事へのリンクをまとめるつもりです。

 

以上

 

 

 

FireFoxが重たくなって落ちる。。。50.1.0

FireFoxの動作が極度に落ちてしまい、最終的に落とさないと使い物にならない状態に至ってしまう現象がここ最近続いている。

原因が特定できなかったのですが、色々とインターネット上を探りながらバージョン50.1.0がリリースされれば。。。とか思っていたのですが、どうもダメっぽいw

日本語入力との相性が悪いという話もチラホラしていたのを思い出しました。

この本文を入力中も少し重くなったりすることがあります。

重くなったかな~と思ったので、日本語入力を解除してみました。
すぐに日本語入力を再開している訳ですが、重くなった現象が解消されます\(^o^)/

私だけがたまたまそうなのかも知れませんが、参考情報として記録しておきます。

 

Windows 10を入れて、Edgeのデフォルト検索エンジン設定をやってみた。(メモ)

Windows 10をギリギリでインストールした。

デフォルトのブラウザはEdgeになる。

ここまでは、想定通りなのだが、Bingがデフォルトの検索エンジンになっているので、これだけは変更したい。

ということで、ネットであちこちに紹介されているのだが、備忘録のつもりでメモを残すことにした。

取りあえず、EdgeでGoogleのホームページを開く。
#EdgeでGoogleのホームページを開いたことが無いとこの後の作業に影響するらしい。

次に、右上の「・・・」(詳細)ボタンをクリック→「設定」を開く。

更に、「詳細設定」を選択する。

「アドレスバーで検索時に使うプロバイダー:」が「Bing」になっているので、「変更」ボタンをクリックする。

「Google 検索(自動検出)」を選択し、「既定に設定」をクリックする。

何故か時間が掛かる・・・・

しばらく待つと、以下の様に「Google(既定)」となれば設定完了。

見難い!使い難!と思うけど、こんな感じで設定完了。

・なんかWindows 10にして重くなった様な気がする。
なんでだろう?重くなるんて・・・・しばらくすると、起動当初よりは軽くなった気がする。
ウィルスバスターが原因ポインだけど、確証はない。

・Edgeで表示出来ないサイトがたまにある。
多分、バグでしょう。
マイクロソフトの勝手な仕様とか。

・なんで勝手にスクリーンショットを撮ると、OneDriveに保存されるんだ? 単純に、スクリーンショットを撮った時に、最初にOneDriveへ保存するかどうかを聞いてきていたらしい。
キーボード操作で、Enterを押したタイミングが悪く、設定されていた様だ。

解除の方法が見つかり事なきを得たが、邪魔!

 

 

PTP(Precision Time Protocol)を使用した時刻同期

PTP(Precision Time Protocol)を使用してみたくて、試しにやってみた。

PTPを実装するには、本来、PTPに対応したハードウェアである必要があるらしい。

普通に使っているだけならNTPで十分なのですが、諸所の事由から2台にマシンで精度の高い時刻同期を行わせたいことになり、已む無く実装検証を試みることにしました。

さて、上手く行くのか?
試した環境は、これまた諸所の事由によりホストOSとゲストOS・・・つまり、1台のマシンで実装検証(^^ゞ
#意味あるんかいな?

 

xargs コマンド表示

makefileの中でxargsコマンドを用いて繰り返し処理を行ったら、コマンドがどこまで進んでいるのか解らない状態になってしまった。

一連の作業における進捗状況が解らない状態です。

実装対象になったmakefileは実行終了まで24時間以上かかる場合もあり、進捗状況が解らないのは困った状態です。

せめてコマンドの実行内容が表示されるようにできれば、その引数からどこまで進んでいるのか大方の予想が出来るのですが。。。。

ということで、xargsのコマンドオプションを

xargs –help

で調べてみたました。

それらしきオプションの説明はありません。(実際は既に表示されているのですが、オプション説明が無くて解らなかった(^^ゞ)

ということで、manで調べてみたらそれらしきオプションが(^^♪

実際に使用しているxargsコマンドのオプションに-tを追加して実行してみたら、上手いこと表示されました\(^o^)/