読者です 読者をやめる 読者になる 読者になる

D&I Blog

このブログでは、今までに培ってきた技術的なことや、得意としている地図のことなどについて、幅広く取り扱っていこうと考えています。積極的に新しいことにチャレンジしたいメンバーもいるので、そのようなトピックも扱っていきたいと思います。

D&I BLOG

To mind the creative destruction

yumのProxy設定

はじめに

先日、とある場所でサーバ設定作業(OSはCentOS6.8)を行なっていた時に、なにやら yum コマンドが正しく動かないことがありました。

少し調べてみると、設定作業をしていた環境はインターネツトに接続する際に、Proxyサーバを経由していることがわかりました。

しかしサーバ自体には、プロキシサーバへの接続設定はしてあるので、問題ないはずなのに・・・・

もしかして、

yumを使う上での設定ファイルがどこかにあって、その設定ファイルにProxyの設定を書く必要があるんじゃないか?」

ということが、頭をよぎりました。 で、調べて見たら ビンゴ

やはり、yumの設定ファイルにproxyの設定を書く必要がありました。

前置きが少々長くなりましたが、今回はyumを使う上でのProxy設定方法を紹介します。

yumのProxy設定方法

  • ターゲットOS:CentOS 6.8
  • 設定対象ファイル: /etc/yum.conf

設定方法

〜 省略 〜

proxy=[proxyへのアドレス]
proxy_username=[proxyのユーザ名]   # 必要無い場合は本設定は書かなくても良い
proxy_password=[proxyのパスワード] # 必要無い場合は本設定は書かなくても良い

〜 省略 〜

さいごに

ちょっとした知識の紹介でしたが、これを読んで頂いた方のお役に立てたら幸いです。

CentOS7でのサービス起動・停止方法

はじめに

CentOS6以前においては、httpdなどのサービスの操作などを行うコマンドとして、 /etc/init.d/httpd start/etc/init.d/httpd stop を使用していましたが、CentOS7以降はこれらのコマンドが systemctl コマンドを使用するように変更になっていたようでした。

本記事では、CentOS7以降で使用する systemctl コマンドの使い方について整理しました。

systemctlの基本的な使用方法

基本的な使用方法は、以下に示すように意外と簡単です。

  • サービスの開始

    $ systemctl start サービス名.service

  • サービスの停止

    $ systemctl stop サービス名.service

  • サービスの再起動

    $ systemctl restart サービス名.service

  • サービスの状態確認

    $ systemctl status サービス名.service

  • サービスの自動起動設定解除

    $ systemctl enable サービス名.service

  • サービスの自動起動設定解除

    $ systemctl disable サービス名.service

  • サービスの自動起動設定確認

    $ systemctl list-unit-files

なお、各コマンドの一番後ろにつけてある .service については、つけなくてもコマンドとしては正しく動作するようです。

さいごに

サービス操作については、そう頻繁に行うものではありませんが、いざ操作したいという時には、コマンドの早見表があれば便利だなと感じましたので、本ブログの記事にさせて頂きました。

このブログを読んでいただいた方に対して、少しでも役に立てたら幸いと思います。

macOSのSSHポート変更

はじめに

macOS(Sierra)でのSSHポートの変更方法について紹介します。

SSHポートの変更手順概要

  • リモートログイン機能を無効にする。
  • /etc/services ファイルの内容を編集する。
  • リモートログイン機能を有効にする。

リモートログイン機能を有効にする。

「システム環境設定」->「共有」->「リモートログイン」にチェックを外します。 f:id:d-and-i:20161216223123p:plain

/etc/services ファイルの内容を編集する。

最初に、/etc/servicesを変更する前に、念の為バックアップをとっておきます。

$ sudo cp -p /etc/services /etc/services_V001

つぎに、SSHで使用するポート番号を以下の様に変更します。

<変更前>

ssh         22/udp     # SSH Remote Login Protocol
ssh         22/tcp     # SSH Remote Login Protocol

<変更後>

ssh         60000/udp     # SSH Remote Login Protocol
ssh    [f:id:d-and-i:20161216223123p:plain]     60000/tcp     # SSH Remote Login Protocol

リモートログイン機能を有効にする。

「システム環境設定」->「共有」->「リモートログイン」にチェックを入れます。 f:id:d-and-i:20161216221158p:plain

さいごに

macOSでは、意外と簡単にSSHのポート番号を変更することができるんです。

macOSでのSSH接続パスワード認証の無効化

はじめに

macOS(Sierra)へSSHで接続するにあたり、公開鍵認証を用いるため、パスワード認証を無効化した際の手順を紹介します。

SSHパスワード認証無効化設定概要

  • リモートログイン機能を無効にする。
  • /etc/ssh/sshd_configファイルの内容を編集する。
  • リモートログイン機能を有効にする。

リモートログイン機能を有効にする。

「システム環境設定」->「共有」->「リモートログイン」にチェックを外します。 f:id:d-and-i:20161216223123p:plain

/etc/ssh/sshd_configファイルの内容を編集する。

最初に、/etc/ssh/sshd_configを変更する前に、念の為バックアップをとっておきます。

$ sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_V001

つぎに、パスワード認証を無効化するために以下の様に変更します。

<変更前>

#PasswordAuthentication yes
#ChallengeResponseAuthentication yes

<変更後>

PasswordAuthentication no
ChallengeResponseAuthentication no

リモートログイン機能を有効にする。

「システム環境設定」->「共有」->「リモートログイン」にチェックを入れます。 f:id:d-and-i:20161216221158p:plain

さいごに

今回は、シンプルにパスワード認証を無効化するための設定について紹介しましたが、/etc/ssh/sshd_configファイルには様々な設定項目がありますので、セキュリティに注意しながら他の項目の役割も把握しておきたいですね。

QGISでGoogleMapを表示してみる

地図関連

以前、QGIS地理院タイルを表示してみました。今回は、私たちの生活に馴染みのある Google Map を表示してみたいと思います。

用意するもの

  • QGIS ※本ブログではMac版のQGISを利用しています。
  • インターネット環境

具体的な作業

OpenLayers Plugin をインストールします。

  1. QGIS を起動します。
  2. プラグイン」->「プラグインの管理とインストール」を選択します。
  3. 検索ボックスより「openlayers」と入力することで、「OpenLayers Plugin」がリスト上に現れますので、それを選択し「プラグインをインストール」ボタンを押します。 f:id:d-and-i:20161003223831p:plain

Google Mapを表示します。

  1. 「Web」->「OpenLayers Plugin」-> 「Google Maps」 -> 「Google Streets」を選択します

すると、あっという間にQGIS上に Google Maps が表示することができました。 f:id:d-and-i:20161003225243p:plain

最後に

プラグインを用いることで、 Google Maps の他にも OpenStreetMapBing Map などを表示することもできるようでした。

背景の地図を作るのが面倒な場合は、手っ取り早く Google Maps を利用するのも良いかもしれませんね。

Basic認証の設定方法

技術関連

はじめに

WebサイトにBasic認証を設定する際、 .htaccess.htpasswd を1セットとして作成していたのですが、毎回「 .htaccess.htpasswdをどうやって作成していたんだっけ?」ということが頻繁に起きていたので、簡単に設定方法をまとめておきたいと思います。

.htaccess の作成方法

.htaccessを作成するのは実に簡単で、以下の書式に従い作成するだけで良いです。

本記事は、あくまでシンプルな設定方法の場合です。
「特定のIPアドレスから接続可能にする」と言ったような凝った設定にする時は、ここに示されているような、マニュアルを読んで見ると良いでしょう。

AuthUserFile /virtual/ドメイン(IPアドレス)/[.htpasswdが配置されているディレクトリ]/.htpasswd
AuthName "Input ID and Password."
AuthType Basic
require valid-user
AddType text/cache-manifest .appcache

ファイルパーミッション0644 としておきましょう。

$ chmod 0644 .htaccess

.htpasswd の作成方法

.htpasswdファイルは、以下のコマンドを用いて作成します。

$  htpasswd -c -b .htpasswd username password  

// .htpasswd : パスワードファイル
// username : Basic認証で使用したいユーザ名
// password : Basic認証で使用したいパスワード

ファイルパーミッション0644 としておきましょう。

$ chmod 0644 .htpasswd

仕上げに

生成できた .htaccess.htpasswd を、Basic認証をかけたいサイトに配置しましょう。

うまくいくと、以下のような認証画面が表示され、ユーザ名とパスワードを入力することで、そのサイトを閲覧できるようになります。 f:id:d-and-i:20160925213703p:plain

Atomでcssを開くとエラー

技術関連

はじめに

今回の記事は、開発で使用しているAtomcssファイルを開いたときに、急に意味不明なエラーが発生してしまっていたので、その対処方法について紹介します。

エラー内容

  • エラーメッセージ
    • Uncaught TypeError: Cannot read property 'isDestroyed' of undefined
  • エラーキャプチャ

なんのエラーなのかさっぱりわからなかったので

エラーキャプチャにある View Issue を辿ってみました。

すると、記載されたIssueの内容を見ていくと、「おやっ、私の状況とまったく同じだ」ということで、この記事を読み進めていけば、解決につながるのではないかと期待しました。

f:id:d-and-i:20160917210753p:plain

<私の解釈>
[Enter steps to reproduce below:]

1. cssファイルを開いたら
2. (エラーキャプチャのような)エラーが現れてしまった。 

いろいろな方のコメントを読み進めていくと

同じ現象の遭遇した方が、結構いたようです。 ※()内は、私の勝手な意訳ですので、あまり細かいことは気になさらずに。。

  • I am also facing the same problem.(僕も同じ問題に直面しているよー)
  • Same problem, what we should do?(同じ問題だー。なんかしないといけないのか?)
  • I'm getting this issue too.(俺もこの問題に遭遇ている。)

解決を見いだした方の中には、

  • I seem to have fixed it after uninstalling, restarting atom, and reinstalling.(俺は、一度Atomをアンインストールして、再起動し、その後に再インストールしたら、問題が片付いたぜ)

という人もいました。

ただ、なるべくなら今更こんな面倒なことはしたくない(だって、再インストールしたらこれまでコツコツやってきた設定が全て飛んでしまうので)ので、何か良い対応策を施した人がいないかという希望を胸に、さらに読み進めます。

そして何となく希望が持てるコメントにたどり着きます。

  • Disabling the package until the issue is fixed.(このパッケージ(Pigmentsのこと)を無効化したら、問題が解決したよ。)

おっ、やはりこのパッケージ(Pigments : 色コードを書くと、その色でハイライトしてくれるAtom拡張機能)が悪いんやん。

f:id:d-and-i:20160917212734p:plain

さらに読み進めると、これで解決できそうなコメントに遭遇。

  • Same problem here. Updating atom packages with the command "apm update" from my project root fixed the problem. (I start up atom with the "atom ." command from my project root too)(同じ問題だ。おれのプロジェクトルートから、apm update コマンドを打って、Atomのパッケージをアップデートしたら問題が解決したよ。(おれのプロジェクトルートから atom コマンドで起動もしたよ。)

問題を解決するにはPigmentsのアップデートが必要

早速、AtomのパッケージであるPigmentsを以下の手順でアップデートしました。

  1. Atom -> 環境設定
  2. 設定の左ペインより Updates を選択
  3. 利用可能なアップデート にPigmentsが表示されていたので、アップデートを選択
  4. Atomの再起動

結果

無事にエラーは出なくなりました。よかった。

この問題に遭遇した人に、少しでも参考になれば嬉しいです。