PostgreSQLでdblinkを使用して、異なるデータベースのテーブルを結合する

JavaScript

PostgreSQLで、異なるデータベースのテーブルを結合したい場合、dblinkを使用すると便利です。
dblinkを使用するための準備と、使用方法について説明します。


環境

  • OS:Ubuntu Server 22.04.2 LTS
  • PostgreSQL15.5

dblinkの準備

dblinkを使用するためには、PostgreSQLのエクステンションをインストールしておく必要があります。

postgres=# create extension dblink;
postgres=# \dx
                                    インストール済みの拡張一覧
  名前   | バージョン |  スキーマ  |                             説明
---------+------------+------------+--------------------------------------------------------------
 dblink  | 1.2        | public     | connect to other PostgreSQL databases from within a database
 plpgsql | 1.0        | pg_catalog | PL/pgSQL procedural language
(2 行)

dblinkを使用

dblinkを使用するために参照するためのテーブルは、あらかじめviewとして準備しておくと便利です。

// 「DBLINK-SAMPLE」という名称でビューを作成しておく
create or replace view link_view_sample as
select
    col1
    , col2 
    , col3
from
    dblink(
        'DBLINK-SAMPLE'
        ,'select
            col1
            , col2
            , col3
        from
            other_server_table otTble
            left outer join my_server_table myTble on otTble.col1 = myTble.kojin_col1
        ) AS t(
            col1 int
            , col2 int
            , col3 int
    );

作成したビューを使用するためには、リンク先サーバと接続→SQLを実行→リンク先サーバとの接続解除、の流れになります。


// リンク先サーバと接続
select
    dblink_connect( 
        'DBLINK-SAMPLE'
        , 'host=X.X.X.X dbname=database user=saku password=saku00'
    );

// ビューを参照
select
    col1
    , col2
    , col3 
from
    link_view_sample;

// リンク先サーバとの接続解除
select dblink_disconnect('DBLINK-SAMPLE');

 


UbuntuにTomcatをインストールしたあとにTomcatユーザでSSHログインしたい

Linux

UbuntuにTomcat9をインストールしたら自動的にtomcatユーザを作成されますが、tomcatユーザでSSHログインできませんでした。
その時に対応したことをメモ。


まず、「/etc/passwd」を確認します。

root@zsh:~# cat /etc/passwd | grep tomcat
tomcat:x:1001:1001::/opt/tomcat:/bin/false

上記の「:/bin/false」部分を「:/bin/bash」に変更します。
これでtomcatユーザに対して「/bin/bash」が有効となり、SSHログインが可能になります。

root@zsh:~# cat /etc/passwd | grep tomcat
tomcat:x:1001:1001::/opt/tomcat:/bin/bash

Proxyツール(Fiddler)でHTTPリクエストを変更する方法

JavaScript

主に脆弱性の試験や確認の際ですが、HTTPリクエストを変更したい場合があります。
その場合、Proxyツールを使ってHTTPリクエストを変更する方法が簡単であり一般的です。


今回は、Fiddlerを使ってHTTPリクエストを変更してみます。
Fiddlerは様々な機能が準備されていますが、単純にHTTPリクエストを変更するのみであれば始めてツールを使う人でも簡単に操作できます。


環境


  • Fiddler v5.0

Fiddlerは以下のサイトからダウンロードできます。


Proxy設定をおこなう


FiddlerでHTTPリクエストをキャプチャするために使用しているマシンのProxy設定をおこないます。


まず、Fiddlerの使用ポートを確認します。
通常であればデフォルトで「8888」が使用されます。

Fiddler Options
Fiddler Port

次に、使用しているパソコンのProxy設定を変更します。
HTTPリクエストについて、Fiddlerが使用しているポートでる「8888」を経由するように設定します。


ブラウザの「設定」→「システム」→「パソコンのプロキシ設定をひらく」を選択します。
以下のプロキシ設定画面において、アドレスに「localhost」、ポートに「8888」を設定します。


HTTPリクエストを確認して変更する


Fiddlerの設定画面で、「Rules」→「Automatic Breakpoints」→「Before Requests」を選択し、HTTPリクエストをサーバに送信する前に変更にブレークポイントを設定します。


この状態で任意のリクエストをブラウザから実行すると、ブレークポイントが発動します。
ブレークポイントが発動したリクエストは、左ペーンのアイコンが専用のアイコンとなるので判別可能です。


HTTPリクエストの中身は右ペーンの「Raw」で確認、および、変更可能です。
処理を実行する場合は「Run to Completion」を押下します。

Fiddler run


Ubuntu22にPostgreSQL15をインストールする

Linux

Ubuntu22にPostgre15をインストールする方法について紹介します。
途中、少し手こずったので、対処方法についても紹介します。


環境


  • Ubuntu Server 22.03.3 LTS
  • PostgreSQL15.4
  • rootユーザ

PostgreSQLのバージョン確認


まず、Ubuntu22でのPostgreSQL標準バージョンを確認します。

apt info postgresql

以下のバージョンが標準バージョンとなります。

Package: postgresql
Version: 14+238

Ubuntu構築時点では認識できる標準バージョンが古い場合があるので、レポジトリを追加して、再度、PostgreSQL標準バージョンを確認します。

apt install curl ca-certificates gnupg 
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
cat /etc/apt/sources.list.d/pgdg.list 
↓レポジトリが追加されていることを確認
deb http://apt.postgresql.org/pub/repos/apt jammy-pgdg main
↑レポジトリが追加されていることを確認

apt update
apt info postgresql
↓標準バージョンが変化していることを確認
Package: postgresql
Version: 15+253.pgdg22.04+1
↑標準バージョンが変化していることを確認

 


PostgreSQLをインストール


とりあえず、aptコマンドを使用してPostgreSQLをインストールしてみます。


apt install -y postgresql

以下のメッセージが表示されてエラーとなります。

E: Failed to fetch http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-15/postgresql-15_15.4-1.pgdg22.04%2b1_amd64.deb  Connection failed [IP: 87.238.57.227 80]		
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?		

“apt-get update”をやってみろと言われているので、素直にやってみます。
依存関係の更新ですね。

apt-get update
apt-get install
apt install -y postgresql

しかし、同じエラーとなってしまいました。

E: Failed to fetch http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-15/postgresql-15_15.4-1.pgdg22.04%2b1_amd64.deb  Connection failed [IP: 147.75.85.69 80]	
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?	

パッケージを手動ダウンロードして再インストール


パッケージのダウンロードでエラーとなっているようなので、手動でダウンロードしてみます。
手動でフォルダを作成し、そのフォルダにダウンロードします。

mkdir -p /tmp/
cd /tmp/
wget http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-15/postgresql-15_15.4-1.pgdg22.04%2b1_amd64.deb
ls -ltr
↓パッケージがダウンロードされていることを確認
postgresql-15_15.4-1.pgdg22.04+1_amd64.deb
↑パッケージがダウンロードされていることを確認

ダウンロードできたかことが確認できたら、ダウンロードしたパッケージのみをインストールします。


dpkg -i ./postgresql-15_15.4-1.pgdg22.04+1_amd64.deb

再度、インストールを実施してみます。

apt install -y postgresql

以下のエラーになってしまいます。

E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

“–fix-broken”オプションを付けて依存関係を更新しろといわれているのでやってみます。

apt --fix-broken install

再度インストールをやってみます。

apt install -y postgresql

正常にインストールが終了したら、「systemctl」で起動していることを確認して終了です。

root@zst:~# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor pres
     Active: active (exited) since Sun 2023-09-03 11:07:21 UTC; 7s ago
    Process: 68255 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 68255 (code=exited, status=0/SUCCESS)
        CPU: 3ms
Sep 03 11:07:21 zst systemd[1]: Starting PostgreSQL RDBMS...
Sep 03 11:07:21 zst systemd[1]: Finished PostgreSQL RDBMS.


WEBフォントで外字をHTML表示する方法

JavaScript

外字をWEB画面表示する要件が存在するシステム開発は、頻繁ではないですが時より発生します。
筆者の肌感覚としては、官公庁案件に多い気がしています。


その場合、外字をWEBフォントとしてシステムに登録しておく方法が一般的だと思います。
今回は、WEBフォントを使って外字をHTML表示する方法を紹介します。


流れとしては以下になります。
「TTEファイルをWOFFファイルに変換」→「外字のコードを確認」→「font-familyを作成」→「HTML表示」


TTEファイルをWOFFファイルに変換


一般的に、外字フォントはTTEファイル形式で受領します。
TTEファイルをHTMLでも使用できる形式であるWOFFファイルに変換します。
WOFFファイルは「Web Open Font Format」の略です。


変換はツールを使用した方がよいです。
「WOFFコンバート」がシンプルで使いやすいかと思います。


変換する際、「サンプルHTMLファイルを作成する」チェックを付けておくと、あとのHTML表示での確認が楽なのでチェックしておきましょう。


出力するWOFFファイルは、わかり易く「gaiji.woff」としておきます。


外字のコードを確認する


外字で使用するコードを確認する。
こちらもツールを使用した方がよいでしょう。
「FontForge」を使用します。


画面をひらくと、設定されている文字の一覧が表示されます。
定義しているグリフィスのみを確認するためには「エンコーディング」→「Compact」を選択します。

font-familyを作成


HTMLに外字を表示するためには、CSSにWOFFファイルを作成するためのフォント指定をおこなう必要があります。
CSSとしては以下になります。
以下のコードはWOFFファイルに変換で出力したHTMLファイルに記載されております。


「font-face」で「gaiji.woff」を使用したフォントを定義し、「myFontClass」の使用箇所に外字表示が適用されます。


HTML表示


HTMLに外字を表示してみます。
「FontForge」で、unicodeで表現されている外字の文字コードを確認します。
左メニューの下に表示されています。


HTML上で確認するために、FontForgeで確認したunicodeを16進数表現でHTML表示します。


サンプル文字列は「※ここにunicode16進数を記述」です。


“myFontClass”クラスだけではなく、画面全体に外字表示をおこなうためには、body・html の初期化で外字フォントを指定します。
一応、外字フォントを読み込めなかった場合の考慮もおこなっておいた方がよいでしょう。

/* Webフォント指定 */
@font-face {
  font-family: "Gaiji";
  src: url("gaiji.woff")  format('woff');
}

/* 初期化 */
body, html{
    font-family: "Gaiji", "メイリオ", Meiryo, "Noto Sans JP";
}

シェルで簡単なCUIを作成する方法

Linux

こんにちは。
さくさくTECHブロガーの「さく」です。


よくシェルを使ったバッチなどの一括処理を実行したりしますが、シェルで簡単なCUIを作成することもできます。
今回は、実際にサンプルシェルプログラムを作成してみます。


■標準入力を受け取る”read”コマンド


標準入力を受け取るには、readコマンドを使用します。
以下の例では、-pオプションを使用して、入力文字列の前に選択肢の文字列を表示しています。


read -p "削除するフォルダを選択して下さい。[ 'A' or 'B' or 'C']." input

function化して部品化


決められた文字の入力のみを想定している場合、イレギュラーな文字を入力された場合の制御は意外と厄介です。
function化することで、シェルプログラムの煩雑化を防ぐことができます。


function select_delete() {
  read -p "削除するフォルダを選択して下さい。[ 'A' or 'B' or 'C']." input

  if [ -z $input ] ; then
    select_delete               # ←何も入力されなかった場合は再び"select_delete()"を呼び出す
  elif [ $input = 'A' ] ; then
    return 1
  elif [ $input = 'B' ] ; then
    return 2
  elif [ $input = 'C' ] ; then
    return 3
  else
    select_delete               # ←A・B・C以外が入力された場合は再び"select_delete()"を呼び出す
  fi
}
select_delete                   # ←通常の呼び出しパターン"select_delete()"を呼び出す

 


処理と組み合わせる

[display_update_date]


サンプルシェルプログラムを作ってみました。
削除したいフォルダが「A」「B」「C」の3つ存在するとした場合、どれを消すかを選択してもらえれば、選択したフォルダを削除するシェルプログラムになります。


このサンプルはわざわざシェル化する必要ないようなものですが、いろいろな用途で使えるテクニックかと思います。


#!/bin/bash

function select_delete() {
  read -p "削除するフォルダを選択して下さい。[ 'A' or 'B' or 'C']." input

  if [ -z $input ] ; then
    select_delete
  elif [ $input = 'A' ] ; then
    return 1
  elif [ $input = 'B' ] ; then
    return 2
  elif [ $input = 'C' ] ; then
    return 3
  else
    select_delete
  fi
}
select_delete
mode=$?

if [ ${mode} =  1 ]; then
   rm -fr A
elif [ ${mode} =  2 ]; then
   rm -fr B
elif [ ${mode} =  3 ]; then
   rm -fr C
else
   exit 0
fi

バッチからSQLを実行し、かつSQLにパラメータも渡す方法

データベース

Windowsのバッチファイルを作って、そのバッチファイルからSQLを呼び出すことは多々あるかと思います。
今回は、バッチファイルからSQLを呼び出す方法と、SQLにパラメータを渡す方法について紹介していきたいと思います。


環境


  • DB:PostgreSQL9.6

バッチファイル


まずはバッチファイルです。
WindowsのBATファイルとして準備します。


SET HOST=localhost
SET USERID=postgres
SET PORT=17102
SET DBNAME=SAMPLE_DB
SET PARAM=100

psql.exe -h %HOST% -U %USERID% -p %PORT% -d %DBNAME% -f sample.sql PARAM=%PARAM%

SQLファイルに渡すパラメータは、DBのホスト名やユーザIDと同じように「PARAM」という名称で、パラメータを準備しています。


SQLファイル


次にSQLファイルです。
テーブル名はすべてサンプルになります。


BATファイルに定義した「PARAM」を使用するSQLを実行することができます。


SELECT
    id,
FROM
    SAMPLE_TABLE
WHERE
    id = :PARAM

SQLに記載するパラメータは、コロン(:)をキーワード前方に付加することで、SQL内で認識することができます。



mapBoxでポリゴン表示。geoJsonの表示内容について変更する。

MapBox

mapBoxでは、地図上に様々なメッシュの表示をおこなうことができます。
今回は、mapBoxを使ってgeoJsonの表示をおこない、かつ、表示内容をパラメータで変更する方法について紹介していきます。


環境情報


  • ブラウザ:Chrome
  • Mapbox:v2.3.1

ポリゴンの表示


以下のHTMLを記載するだけで地図上にポリゴンが表示されます。
とはいっても、mapインスタンスの作成は記載を省略しています。


map.on('load', function () {
    map.addSource('POLYGON_TEST', {
        'type': 'geojson',
        'data': {
            'type': 'FeatureCollection',
            'features': [
                {"type": "Feature", "geometry": {"type": "Polygon","coordinates": [[[139.74609375, 35.70556640625],[139.757080078125, 35.70556640625],[139.757080078125, 35.716552734375],[139.74609375, 35.716552734375],[139.74609375, 35.70556640625]]]}},
            ]
        }
    });
    
    map.addLayer({
        'id': 'PLOLYGON_TEST_fill',
        'type': 'fill',
        'source': 'POLYGON_TEST',
        'paint': {
            'fill-color': '#FFFF00',
            'fill-opacity': 0.1
        },
        'minzoom': 1,
        'maxzoom': 22
    });

    map.addLayer({
        'id': 'PLOLYGON_TEST_LINE',
        'type': 'line',
        'source': 'POLYGON_TEST',
        'paint': {
            'line-color': '#0000FF',
            'line-width': 2
        },
        'minzoom': 1,
        'maxzoom': 22
    });
});

「map.addSource」クラスで、geoJsonで表示する座標情報を定義しています。


ポリゴンの表示内容


ポリゴンの表示内容は、fill(塗りつぶし)とline(線)の定義でおこなうことができます。
パラメータとして準備されているのは、以下となります。


■fill(塗りつぶし)

fill-color

塗りつぶしの色

fill-opacity

不透明度(1が最も透明度が高い)

minzoon

表示する最小のズームレベル

maxzoon

表示する最大のズームレベル


■line(線)

line-color

線の色

line-width

線の太さ

minzoon

表示する最小のズームレベル

maxzoon

表示する最大のズームレベル



Amazonアソシエイトの申請から承認まで。却下時の対処方法も。

amazonアソシエイト

Amazonアソシエイトは、ブログ運営者であれば必須で導入しておきたいアフィリエイトプログラムです。
自分のブログにAmazonへのリンクを設置するだけで、ブログの収益化をおこなうことができます。


しかし、Amazonアソシエイトにはブログの審査があり、その審査を通過する必要があります。

今回は、筆者自身が体験したAmazonアソシエイトの申請方法と、却下時の対処、および、承認までの道のりについて紹介していきます


Amazonアソシエイトとは


Amazonアソシエイトとは、成果報酬型のアフィリエイトプログラムになります。


仕組みとしては、以下になります。


  1. Amazonアソシエイトから、紹介したい商品のURLを発行する。
  2. 商品のURLをブログに設置する。
  3. ブログ訪問者がブログに設置したURLを経由して、Amazonで承認を購入する。
  4. 商品の何%の売り上げが、ブログ運営者に支払われる。

つまり、ブログを経由してAmazonで商品が売れれば、ブログ運営者に売り上げをキックバック、という事ですね。


Amazonアソシエイトが良いのは、”紹介した商品以外が売れても売り上げが入る”という点です。
この部分が、Amazonアソシエイトが人気の点でしょう。


申請方法


Amazonアソシエイトへの申請は、とても簡単です。
Amazonアソシエイト・セントラルホーム、という画面から、Webサイトの情報を入力して申請をおこなうのみです。



Webサイトの情報はとても重要です。
自分のブログの情報を正確に入力して申請しましょう。


Amazonアソシエイトの申請

申請が無事に完了すると、以下のようなメールが登録したメールアドレスに送信されてきます。
メールが受信できたら申請完了です。


Amazonアソシエイトの申請完了

申請が完了すると、アソシエイトIDというIDが発行されます。
このIDは後々必要となるので、大事に保存しておきましょう。


却下時の対処方法


Amazonアソシエイトに合格するためには、2つの関門があります。


・1.180日間に3つの売り上げを発生させる。

・2.ブログのAmazon審査を通過する。


1が理由で却下となった場合は、Amazonから以下のようなメールが届きます。

Amazonアソシエイト・プログラムへお申し込みをいただき、ありがとうございます。

に、お客様よりいただいていたアソシエイト・プログラムへのお申し込みが却下されたことを通知するメールを送信しました。

アソシエイト・プログラムではお申し込みが送信された後、Amazon.co.jp における、3つの適格な売上を発生させるため、180 日の期間を設けております。3つの適格な売上とは、3 つの個別の注文のことであり、複数の商品が含まれている 1 つの注文は資格対象ではありません。

残念ながら、お客様のアソシエイトのリンクから、180日以内に十分な数の適格な売上が発生していなかったため、お客様のアソシエイト・プログラム専用アカウントは閉鎖されました。(注文アカウントは閉鎖されていないため、これまで通り、注文いただけます)

アソシエイト・プログラムの目標は、オリジナル性の高いコンテンツを通じて、Amazonサイトへのアクセス流入を増やす準備ができているサイトを運営するお客様との関係を構築することです。これは、Amazon とアソシエイト・プログラムへ参加をしているお客様の間で、相互に有益な関係を作り出します。

今後についても、お客様はいつでも Amazon アソシエイト・プログラムに再申請できます。しかしながら、前述の通り、期間内に適格な売上がない場合は、申し込みは却下となります。

よって、今後申し込みをされる場合は、お客様のウェブサイトが一貫したアクセスを獲得している場合にのみ再申請することをお勧めします。

再申し込みをされる際は、下記のURLの「無料アカウント作成」ボタンよりご申請ください。

https://affiliate.amazon.co.jp/

なお、これまでご利用をいただいていた元のアソシエイト ID は有効ではありません。ウェブサイトにその ID を含むリンクがある場合は、再申請時に割り当てられる新しいアソシエイト ID が含まれるようにリンクを更新する必要があります。

今後ともよろしくお願いいたします。

Amazon.co.jpアソシエイトチームより

この件については、却下時の対処は明確です。
こればかりは、180日間に3つの売り上げを上げるしか対処方法はありません。


ちなみに、筆者は「10,000PV/月」で、この条件を突破しました。

人気のある記事に、記事と関連するAmazon商品の紹介バナーを付ければ、突破できる条件だとは思います。


2が理由で却下となった場合は、Amazonから以下のようなメールが届きます。


お世話になっております。●●●, Amazonアソシエイト・プログラムへの参加申請の審査が終了しましたが、誠に残念ながら、プログラム要件を満たしておりませんでした。
そのため、一時的に承認されていたアカウントを閉鎖いたしました。 なぜですか? 違反内容は次のとおりです。

お客様がウェブサイト上で作成されたAmazon特別リンクのいずれにも、ストアに関連付けられたタグが使用されていないことが判明しました。
そのため、トラフィックのソースを特定できませんでした。これはプログラムポリシーへの違反行為となります。 
こちらから例を探すことができます。 http://sakusaku-techs.com/

どうすればいいですか? 本通知以前に発生した未払い紹介料はすべて支払われます。プログラム要件が満たされましたら、またいつでも再申請をお待ちしております。
その際は、こちらから別途申請を行ってください。 Amazonアソシエイト・プログラムより 詳細については、こちらの参考資料をご参照ください。 
Amazonアソシエイト・プログラム運営規約、アソシエイトヘルプ ご関心をお寄せいただきありがとうございます。 Amazon.jpより

申請理由によってメールの本文は異なると思います。
筆者の場合は、以下の文書に注目して対策を検討しました。


“お客様がウェブサイト上で作成されたAmazon特別リンクのいずれにも、ストアに関連付けられたタグが使用されていないことが判明しました。”


当然、Amazonリンクは設置しています。
それにも関わらず、タブが使用されていない(Amzonリンクが使用されていない)と指摘をうけています。


そこで、Amazonリンクは記事についてのみ設置していたのですが、トップ画面にも設置するようにしました。
同様の指摘をもらっているブログ運営者は、記事にだけではなくトップ画面にも設置するようにした方がいいかもしれません。


筆者の場合は、トップページ右下にリンクを設置しました。



再申請から承認まで


ブログの修正が完了したら、再度申請をおこないます。
再度申請をおこない、最初から申請をおこなわなければいけません。


再度、以下2つの条件をクリアする必要があります。


・1.180日間に3つの売り上げを発生させる。

・2.ブログのAmazon審査を通過する。


無事に申請が完了した承認されると、以下のメールが届きます。


Amazonアソシエイト・プログラムにお申し込みいただき、誠にありがとうございます。当プログラムへの参加のお申し込みを正式に確認させていただきましたので、お知らせいたします。今すぐAmazon.co.jpへのリンク作成を開始いただけます。

あなたのアソシエイトIDは●●●です。このIDは各アソシエイトメンバーを識別するために重要なものですので、必ず保管をお願いします。アソシエイト・プログラムへお問い合わせされる際にも、このIDを添えてご連絡ください。

【アソシエイト・セントラルについて】
アソシエイトメンバーは、アソシエイト・プログラム専用の管理画面「アソシエイト・セントラル」にいつでもアクセスできます。アソシエイト・セントラルではあなたのアフィリエイト活動をサポートする様々なツールやレポート、役立つ情報を24時間提供しています。早速ログインしてみましょう。
アソシエイト・プログラムへログイン!  => http://associates.amazon.co.jp

ログイン後は、アソシエイト・プログラムの便利ツールをお試しください。

1)Amazon.co.jpのブログパーツや、リンク作成ツールを利用する
=> http://widgets.amazon.co.jp
2)各種レポートで紹介料の確認をする 
=> https://affiliate.amazon.co.jp/gp/associates/network/reports/main.html
3)アカウントサービスで登録情報を変更する
=> https://affiliate.amazon.co.jp/gp/associates/network/your-account/main.html

このメールを受信すると、めでたくAmazonアソシエイトに合格です。

正式に承認されたので、Amazonアソシエイトの様々な機能を利用することができます。


筆者の場合、Amazonリンクをトップページ右下に設置して再度申請することで、承認を得ることができました。

これが理由だったかは正確にはわかりませんが、事実、却下になった時と合格した時のブログのリンク設置状況は、トップページにAmazonリンクが存在したかどうか?違いです。
同じような理由でAmazonアソシエイトに合格できない人は、参考にしてみてください。



ブログをはじめるならレンタルサーバ。ロリポップを2年使ってきた感想

CSS

このブログはロリポップレンタルサーバを使用しています。
筆者は、このブログが初めてのブログなのですが、レンタルサーバを借りたのも初めてです。


これからブログを始めようと思っている人向けに、レンタルサーバの必要性や、ロリポップレンタルサーバを使ってきた感想について書いていきます。


筆者はロリポップレンタルサーバしか使ったことがないのですが、できるだけ他レンタルサーバとの差についても説明します。
結論としては、ロリポップお勧めですよ!っていう内容になっています。


ブログをはじめるならレンタルサーバ


ブログサービスとレンタルサーバ


ブログをはじめる際、”サーバをどうするか?”について、まず決めなければいけないです。
大きく分けて、ブログサービスを使うか?自分でレンタルサーバを借りるか?の2通りあります。


ブログサービス


まず、ブログサービスについて説明していきます。

ブログサービスを使う場合、以下のようなサービスがあります。


  • Amebaブログ
  • FC2ブログ
  • 楽天ブログ
  • Qiitaブログ

各ブログサービスの特色は以下になります。


Amebaブログ


一度は名前はきいた事がある人も多いかと思います。

日本で最もメジャーなブログサービスかと思います。

有名人も多く登録していますね。

メジャー度からするとナンバーワンですね。


FC2ブログ


運営元はアメリカの会社になります。

主な特徴は、他ブログサービスと比べてデザインの変更自由度が高いところですね。

また、ブログサーブスには珍しく、営利目的(アフィリエイト、アドセンス)でのブログ運営が認めらている点についても特色の一つとなります。


楽天ブログ


楽天ブログは、その名のとおり楽天が運営するブログです。

楽天市場との親和性が高いので、楽天一番の商品の紹介によってアフィリエイトをおこない、楽天スーパーポイントを貯めたりすることができます。


ここまで紹介したブログ以外でも同じですが、各ブログサービスでアカウントを作成さえすれば、すぐにブログを始めることができます。
手軽さでいけば、圧倒的にブログサービスを使った方がブログをはじめるスピードは速いです。


レンタルサーバ


ブログを始めるためのもう一つの方法が、自分でレンタルサーバを借りて、そのレンタルサーバ上にブログを構築する方法です。


レンタルサーバはいろいろありますが、代表的なものは以下になります。

  • ロリポップ
  • エックスサーバ
  • さくらのレンタルサーバ

レンタルサーバを借りてブログを始める場合、”借りたらすぐにブログを開始”という訳にはいかないです。
自分で、ブログ環境を構築する必要があります。
ブログ環境を構築するのに有名なソフトウェアがWordPressです。


よく、“WordPressブログでブログを始める”といった表現をする人がいますが、正式にはニュアンスが違います。
正式には、”レンタルサーバを自分で借りて、自分でWordPressをインストールしてブログを始める。”が正解です。


WordPressをインストールというと、何か難しいような印象がありますが、これは極めて簡単です。
インストールウィザードに沿って進めれば、インストールに失敗することはないでしょう。


なぜ、WordPressがこんなに普及しているかと言いますと、“一番有名だから。”という理由だけです。
日本でもメジャーなので、困った時のトラブルシューティングについても、ネット上に豊富に公開されています。
世界のWebサイトの約40%がWordPressで構築されているみたいですね。


WordPressではなくても、ブログサイトは構築することができます。
WordPressは、ジャンルでいくとCMS(Contents Management System)になります。
CMSでいくと、WordPress以外い以下のようなものがあります。

  • Drupal
  • Shopify

筆者は、Drupalは使ったことがあります。
まあ、WordPressと似たような構成ではありますが。。。


WordPress以外にもCMSは世の中にあふれていますので、何が何でもWordPressを使わなければいけないという訳ではありません。
しかし、やっぱりメジャーなものを使っておいた方が無難です。
何か問題が発生した場合に、解決策がみつかるスピードが段違いに違うので。


レンタルサーバを使った方がいい理由


ブログを始める理由によりますが、圧倒的にレンタルサーバを自分で借りてブログを始めたほうがいいです。
一番の理由は、“自由度の違い”です。


レンタルサーバは、その名の通り、世界のどこかに(クラウドに)存在しているサーバ領域を借りているという事です。
自分のスペースを確保している訳ですね。
なので、どういった目的でそのサーバを使っても自由ですし、アドセンスやアフィリエイトを使用してお金を稼ぐことも自由です。


しかし、ブログサービスの場合は、そうはいきません。
ブログサービスは、いわば、ブログ運営会社(AmebaやFC2)にブログ記事を載せるスペースを提供してもらっているだけです。
ブログ運営会社のルールに沿ってブログ記事を書かなればいけません。


ブログサービスによっては、アドセンスやアフィリエイトを使ったマネタイズ行為は禁止しているサービスもありますし、いきなり運営会社からアカウントを凍結させられる場合もあります。


また、ブログデザインの点でもレンタルサーバを借りてWordPressで構築した方がよいです。
WordPressでブログを構築する際、テーマというものを選択します。
このテーマは、ブログの基本デザインとなり、無料で様々なテーマが公開されています。
自分で気に入ったテーマを選択することで、デザインを自由に設定することができます。


ブログサービスの場合は、そのブログサービスの基本デザインに沿ってブログ記事を作ることになります。
自由にデザインを変更できないという点でも、ブログサービスをお勧めしない理由です。


結局は、ブログを始める目的によって変わりますね。
一秒でも早くブログを開始したくて、アドセンスやアフィリエイトといったマネタイズは今後もおこなわないということであれば、ブログサービスを使った方がよいでしょう。

しかし、デザインも自分で自由に変更したいし、ゆくゆくはマネタイズしていきたいのであれば、圧倒的にレンタルサーバを借りてブログを始めることをお勧めします。


ロリポップを2年使ってきた感想


短刀直入に言うと、ロリポップは初めてブログを使う人にとっては最適、です。


とにかく安い、です。


ロリポップは、用途に合わせて以下の5つのプランがあります。
以下、安い順です。

  • エコノミー
  • ライト
  • スタンダード
  • ハイスピード
  • エンタープライス

筆者はスタンダードを使っていますが、性能・容量ともに十分です。
何も不都合ありません。
それなのに月額550円ですからね。


正直なところ、始めてブログを作る人は、最初からアクセスが頻繁に発生する訳ではないので、ライトから始めてアクセスが増えてきたらプランをあげていく方式でもいいかと思います
筆者はいきなりスタンダードから契約したのですが、その理由は、電話サポートの有無です。
電話サポートは、スタンダードプランからしかないので。


でも実際は、2年ロリポップを使っていますが、電話サポートが必要な場面はありませんでした。
なので、今となってはライトから始めてもよかったかなと思っているくらいです。

※エコノミーはWordPressが使えないので、エコノミーから始めるのはやめておいた方がいいですね。


また、ファイルのアップロードやダウンロードをおこなう場合、SSHでの接続が必須だと思いますが、SSHもデフォルトで使えます
SSHでの接続設定をおこなう必要があるのですが、SSH接続をおこなっても別途領域が発生することはありません。


ドメインを取得する


ブログを始めようとした場合は、同時に独自ドメインを取得した方がよいです。
ドメインとは、URLの「http://xyz.com」の「xyz.com」の部分です。


独自ドメインを取得しなかった場合でもブログの公開はおこなうことができますが、ロリポップが提供するデフォルトドメインとなります。
このままでもいいですが、SEO等の観点から、独自ドメインを取得することをお勧めします。


このドメインは、インターネットの世界でユニークなものでなければいけないので、ドメイン提供サービスから使用されていないドメインを検索して取得する必要があります。
お勧めとしてムームドメインです。
ロリポップと同じGMOパペポが運営しているので、ロリポップとの連携がとてもスムーズです。


また、12ヵ月以上契約する場合の限定ですが、ロリポップでレンタルサーバを契約している場合、ムームードメインのドメイン料金は無料です。



ロリポップの料金形態


最後にロリポップの料金形態です。
前述させてもらいましたが、はじめてブログを始める人はスタンダードプランがおすすめです。


ハイスピードは、最初からは不要だと思います。
心配しなくても、そんなにアクセスが集中することはありません。
ブログが育ってきて、契約プランの見直しをおこなう必要があった場合にプランの変更をおこなえばいい、くらいのスタンスでよいかと思います。
個人でブログをおこなう分には、まずエンタープライズは不要です。


エコノミー

110円

ライト

220円~

スタンダード

550円~

ハイスピード

550円~

※2021/9/11現在 キャンペーン中のようです。

エンタープライズ

2,200円~


「~」というのは理由があります。
様々なオプションを付けることができるという感じなんですね。


筆者はバックアップオプションのみ付けています。
月額330円になります。
こういったオプションをつけていくと、上記プランに料金が上乗せされていきます。


筆者は、スタンダードプラン+バックアップオプション付きなので、880円/月になります。
始めてブログを始めるには、お手軽な値段かと思います。