Apache DocumentRoot以外のディレクトリをシンボリックリンクで繋げたら、Forbidden 403 エラーの対策

Linux上のApacheでDocumentRoot以外の場所を参照できるようシンボリックリンクで接続したら、Forbiddenと表示されました。

Forbidden
You don’t have permission to access /user_dir/hoge.html on this server.

パーミッションや所有者をApacheに変更してみたり、色々試した結果SELinuxを無効にすることで正常に動作することを確認しました。

Permissiveになっていれば、SELinuxはモニタリング状態でありアクセス制御は掛かっていない状態になっています。

SELinux事態を無効(モニタリング状態)にしておくのは、あまり良いことではありません。

出来ればアクセス制御は正常に行われている状態にすべきです。

アクセスできない原因がSELinuxのアクセス制御に影響されることが確定されたら、以下の操作を行うことでこの問題を解決することが出来ます。

さて、一般にパーミッションの確認などをする際には、ls -laなど個人差はありますがlsコマンドを使います。
SELinuxコンテキストも同じように確認することが出来ます。
コマンドは以下になります。

通常のファイルはこんな感じです。

さてSELinuxコンテキストを変更するには、まず最初に対象となるディレクトリに対して設定を行います。

続いて、対象ディレクトリ内のすべてのファイルとフォルダーに対して設定を反映します。

対象ディレクトリ以下に多量のファイルがあると、時間が掛かる場合があります。
SELinuxを有効にします。
SELinuxの有効化は以下のコマンドを実行します。

最後にブラウザで動作確認を行ってください。

これでもForbiddenが表示される場合は、上記の操作に問題があるか?本当にパーミッションが間違っていないか?確認してください。

ついでに確認方法を記載します。

上記でも記載したとおり以下のコマンドで確認します。

設定が変更されているのが解ると思います。

 

 

 

service iptables save がCentOS 7で出来ない( ゚Д゚)

CentOS 7を使い始めて、iptablesの設定をしようとゴチャゴチャ・・・

# service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

出来ない!systemctl使えって言ってるよ!!

調べてみたら、なんかこんな感じで使える様になるらしいw

無事完了!
結局、コマンドをそのまま使える様に、以下をインストールするだけということですね。

それもあるのですが、centOS 7からfirewalldに移行していますので、なるべくそちらへ移行することが望ましいです。

ブラウザのシェア 2016-09-27

たまに気にかかるブラウザのシェア率

どのブラウザがどれくらいのシェアを占めているのか気になる時がある。
サイトで調べてみると、サイトによって違いがあり、評価しずらい時も(^^ゞ

そこで、自分で自分のサイトを見に来ている人を対象に調べてみた。

こんな感じ。

Chrome 44.85%
IE 25.18%
 FireFox 20.98%
Safari 5.19%
Edge 1.49%
Android 0.55%
Opera 0.47%

 上記以外に驚いたのは、SeaMonkeyとかLunascape、Ironを使っている人も居るんだぁ~ということ。

異常にChromeのユーザが多い実態に驚きました。

Rをインストールする

Rのインストール方法を記録していなかったので、今更ながら記録します。

まず、Rをダウンロードします。
以下のサイトを開きます。

https://cran.r-project.org/

「Download R for Windows」→「base」もしくは「install R for the first time.」→「Download R 3.3.1 for Windows (70 megabytes, 32/64 bit)」をクリックするとダウンロードが開始されます。
#最新のファイルをダウンロードしてください。
最新版もこの順番でクリックすると、見つかるはずです。

今回ダウンロードしたファイルは、

R-3.3.1-win.exe

でした。

実行します。

 

最初に言語を選ぶ画面が表示されます。
別に困ることも無いので、日本語でインストールしてしまいます。

ここは迷わず「次へ」ですね。

こちらも気にせず。。。。しっかり読んでおきましょう(^^;
読み終えたら、「次へ」。

デフォルトのインストールフォルダーで良いでしょうから、そのまま「次へ」。

ここでも、変更の必要はありません。
32Bit版と64Bit版の片方で良いと思う方は、必要に応じて選択肢を変更してください。(正直、64Bit版だけでよいと思っています。)

熟練した方はここのサイトを見ているはずがありませんから、ここを見ている方はデフォルトのまま「次へ」ですねw

素人は迷わず「次へ」。

こちらも、迷うことなく「次へ」。

いきなり始まります!

インストールが終了しました。
「完了」をクリックして終了します。

デスクトップにアイコンが作られていると思います。

「R x64 3.3.1」というアイコンをダブルクリックして起動します。

こんな画面が出てきたら、正常にインストールされています。
ちなみに、こちらはRGuiの画面になります

Rはスクリプト言語です。ここで記述した内容がインタプリタで動作します。
記述した内容を、ファイルに保存してRScriptコマンドでファイルを指定して実行することも可能です。

ここではインストールまでです。

ftpのポートを変更する時にlsで固まった時の対処方法

久しぶりの投稿になります。

Linuxでvsftpdを使っているのですが、ftpのポートを通常の21以外のポートにしようとしていました。

最初は、ファイアウォールやルータでポートフォワーディングしてやろうかと思ったのですが、少し・・・実はメチャクチャ嵌ってしまいました(^^ゞ

経緯は、通常のデフォルトポートを使用してftpを使えるようにしてありました。

その時は、全く気にしなかったのですが、実はファイアウォールと言いますか、UTMが勝手に対応してくれていたのだと思います。
何が?ということは、後々説明します。

ポート番号を変更してから、問題が発生しました。
ファイアウォールやUTMが使われていない環境では特に問題はありません。
/etc/vsftpd/vsftpd.confに以下の設定を追加しました。

通常はこの設定だけで、ftpのアクセスポートが21(デフォルト)→2121ポートに変更されて、問題なく接続されます。
環境によってはセキュリティ関連のiptablesとか触らないといけないかも知れません。

今回は、こんな感じでした。

ここで止まってしまいました。
実際には、デフォルトのタイムアウト60秒が過ぎるとtime outを示すメッセージが表示されて戻ってきます。

何故か?

既にお気づきの方もいらっしゃるかと・・・・
ヒントはこの行なんです。

メッセージの最後に記載されている( )の中身は、
(ip1,ip2,ip3,ip4,port1,port2)の構成になっており、
ip1~ip4:接続先のIPアドレスを示します。
port1,2:port1×256+port2でポート番号を示します。
今回は205×256+43=52523が接続ポートになります。

この接続先のIPアドレスは、グローバルIPアドレスである必要があります。
そりゃそうですよね、繋げる側が接続する先のIPアドレスなのですからw

という訳で、返って来ていたのはプライベートIPアドレスになってしまっていたのです。

/etc/vsftpd/vsftpd.confに対し、新たに1行追加しました。

ftpクライアントがパッシブモードで接続するサーバのグローバルIPアドレスを設定する必要がありました。

ファイアウォールでポートを限定している場合には、更に以下の設定も追加する方が良いでしょう。

パッシブモードでFTPのデータ通信用ポートを制限します。

最後に、以下のコマンドを実行してvsftpdのサービスを再起動すれば完了です。

無事繋がりました(^^ゞ

 

Thunderbird で段落

が邪魔!

メーラーとしてThunderbirdを使用しているのですが、最近、メールを作成しようとすると、「段落<p>」がデフォルト設定になっていて、改行すると勝手に新しい段落が作成されて邪魔臭い!

ということで、「ツール」→「オプション」→「編集」で以下の画面を表示します。

赤枠の「段落書式の使用中はEnterキーで新しい段落を作成する(P)」のチェックボックスを外します。(上図の状態)

でOKです。

すっきりした(^^♪

Linux(CentOS)におけるHDD追加手順

ネットでLinuxにHDDを追加する手順を検索すると、いくらでも引っかかってきますよね。
でも、最初の一歩が今一恐いんです。
追加されたデバイスはどれかな?とかw

ということで、少し面倒ですが、最初に追加したデバイスを特定することから始めます。

1)追加されたデバイスの確認

ということで、dfコマンドでパーティションを確認してみた。

dfコマンドの情報から、sdaデバイスが既に使用されているデバイス名であることが解る。

次に、デバイスを確認してみます。

これで、この後設定を施す先のデバイスが「sdb」であることが明確になりました。

2)fdiskでパーティションの設定

デバイスが特定されたことで、安心して対象のデバイスにパーティションを作ったり、フォーマット(初期化)を行うことが出来ます。

fdiskでパーティションの設定を行います。
デバイスを指定して、コマンドの一覧を確認してみます。

次に、パーティションの「領域テーブルを表示する」で、状態を確認出来ます。

まだ、パーティションが設定されていませんので、何も表示されません。

では、パーティションを設定しましょう!

3)ファイルシステムを作成します。

パーティションに対して、ファイルシステムを設定します。
ファイルシステムには幾つかの選択肢があります。

ファイルシステム毎に特徴がありますので、自分に合ったファイルシステムを選択してください。

以下ではext4でファイルシステムを作成します。

CentOS7ではxfsがデフォルトになっている様ですが、安定性を重視してext4にしました。

さて、手順は以下の通りです。

あっと言う間に終わっちゃいました(^^ゞ
昔は遅かったのに。。。。速くなったものですw

これで、ディスクがマウントされ自由に読み書きできる環境設定が終わりました。

でも、これでは再起動した際にマウントし直さなければなりません。
故に、再起動しても大丈夫なように設定を行います。

4)fstabに設定を追加して、再起動しても大丈夫w

以上で、新規ディスクの追加設定が完了しました。

 

Azure環境のCentOS 7でOpenVASを使えるようにするための設定

前回までで、取りあえずOpenVASのインストールを行いました。

ここで、Auzre環境を設定しないと接続出来ないことを思い出しました。

以前に提供されていたネットワークの設定で「エンドポイント」を指定するのと同じく、ファイアウォールのポートを解放してあげないと、接続出来ないんですね(^^ゞ

「Virtual Machine」から、今回の仮想マシンを選択し、「パブリックIPアドレス/DNS名ラベル」→「設定」へ進みます。

 

更に、「構成」→「DNS名」を入力します。

これで、ドメイン名の設定が完了します。

ここから、ポートを解放します。

同様に、仮想マシンを選択して、「リソースグループ」→「ネットワークセキュリティグループ」(画面のマークを探してください)を選択します。

「受信セキュリティ規則」を選択すると、以下の画面が表示されます。

「追加」を押して、「受信セキュリティ規則」に必要な項目を追加します。

今回は、HTTP(80)とOpenVASが使用するポート番号(デフォルトで9392)を開放します。

IPアドレスによる制限をする場合等、適宜必要に応じて設定してください。

設定が完了すると以下の様に設定した項目が追加されます。

これで、ポートが開放されましたので、ドメイン名を指定してブラウザで開いてみます。

https://ドメイン名/

開かない場合は、httpdが起動していない可能性があります。
前回の設定を確認してみてください。

更に、OpenVASの画面を開いてみます。

https://ドメイン名:9392
httpではなくhttpsであることに注意してください。
本来ならば、以下の画面が表示されるはず・・・なのですが、残念ながらセキュリティ警告画面が表示されると思います。

ブラウザにより異なりますので詳細は記しませんが、表示された画面の「詳細設定」などのリンクをクリックして、そこに掛かれている記述を確認しながら無理やりアクセスを行ってください。

場合によっては、セキュリティ例外に登録する必要があります。

すると、ログイン画面が表示されます。

設定したログインIDとパスワードを入力して設定の再開です。

次回はOpenVASの設定方法について更に続けます。

 

OpenVASをAzureのCentOS 7へインストールしてみる!

さてと、今回はAzureのCentOS 7へOpenVASをインストールしてみることにした。

AzureのCentOS 7と言っても、何が変わる訳でもないのだが、rootユーザが使えないだけw

自前でサーバ立てたら、rootユーザ使えるんだけど、今回はお試し気分がテンコ盛り状態なのでAzureで作ることにした。

AzureでCentOSの環境を作る方法については、他のサイトを参考にしてください。(「名前」とかに日本語入れるとデプロイ出来ないっぽいので注意かな?)

ちなみに、Azureで作った環境は、1コア メモリ3.5GBのスタンダードなものです。HDDは30GB程度かな?非常にプアなマシンですw

1.OSの更新

取りあえず、ログインして最初にすることは、環境を新しくしておくこと。

現時点(2016年5月初旬)で作業を行いました。

現在のバージョンは/etc/redhat-releaseを確認することで得られます。

その他、適当に/etc/bashrcや~/.bashrcを書き換えて、自分なりの環境を作っておきます。

2.Apacheのインストール

次に、なんとなくApacheが入っていない様なので、Apacheをインストールしておきます。

こちらもyumでインストールします。

最後に、OS再起動時に自動起動する様に設定する。

以上でApacheのインストールは完了です。
詳細なApacheの設定は省略します。

3.OpenVASのインストール

yumを使ってOpenVASをインストールします。

まずは、リポジトリを登録します。

次にいよいよOpenVASをyumを使ってインストールします。

途中で問い合わせがあるかも知れませんが、基本的に「y」でOKです。

Complete!

と表示されればOKです。

4.OpenVASの設定

OpenVASの設定を行います。

最初に、rsyc使うかどうか聞かれるので、Enter押して次へ。

ここでしばらく更新を待ちます。10分くらいかな?

その後、いきなりこんなメッセージが表示されます。

気にせず「Enter」ですね(^^ゞ

ユーザネームを聞かれます。
adminのままで良いのですが、Azure環境で使用するため、安全のためにデフォルト設定から適当なユーザ名に変更しておきます。
パスワードを入れて次へ。

なんかよく解らないうちにインストールは完了した模様。。。。

一旦、OpenVASのインストールは一旦ここまでにします。

Web画面から設定を行うことになるのですが、その前にAzure環境の設定を行う必要があります。

次回は、その設定方法について記載します。

 

Yeomanをインストールする!

やっとここまで辿り着きました。

本丸、Yeomanのインストールです。
これまでに以下のインストールを行いました。
詳しくは各リンクを参照ください。

Node.jsのインストール
Rubyのインストール

準備が整いましたので、Yeoman本体のインストールに入ります。

yoとgruntとbowerをインストールします。
yeomanはこれら3つの機能が柱になるそうです。

で一気にインストールしたので、画面を見ていても本当にインストールされたかどうかが解らない!?

ということで、いつものようにバージョンチェックをw

どっかのサイトで、間違った書き方してあったので相当悩んでしましましたが、「–version」が基本と思っておきましょう!

兎にも角にもインストールは完了しました。

使い方?使い方は・・・・その内書くと思います。

インストール編終わり!

書き終わって思った。。。。時間かかった割に、ショボっ!