広告 Serposcope

SerposcopeをGoogle Cloud Platformで運営する(全部無料)

1.Serposcopeを無料で運営したい。

Google Cloud Platformの無料枠を使って、Serposcopeを無料で運営しようとする試みです。
Google Cloud PlatformにはAlways Freeという無料枠があります。これを使って無料のSEO検索順位チェックツールSerposcopeをインストールして、全部無料で使います。
ただし、一部のサービスが、2020年から有料化するらしいです。(外部IPアドレス)1 時間あたり $0.004 なので、一か月だと0.004×24×30=$2.88 日本円で300円前後です。これでも安いです。

2.GCPの設定&Serposcopeインストール

2-1.プロジェクト作成

上のGoogle Cloud Platformと表示されている右側のプロジェクト名のところ(プロジェクトがない場合は空白)をクリックする。

プロジェクトの選択が表示されるので、新しいプロジェクトをクリック。

新しいプロジェクトが表示される。

プロジェクト名に任意の名前を入力。
プロジェクトIDを変更したいなら、編集をクリックして変更する。(変えなくてもいいと思う)
作成をクリックするとプロジェクトができる。

2-2.インスタンスの作成

ナビゲーションメニューから、Compute Engine>VM インスタンスを選択 作成をクリック。

インスタンスの作成が表示される。
名前:適宜決める。ここではserposcope-serverにする。
リージョン:無料枠がオレゴン: us-west1、アイオワ: us-central1、サウスカロライナ: us-east1 のみ。(参照:Always Freeの使用上限)
この中で、us-west1を使おうと思う。
ゾーン:ここをみると、使っているマシン性能がいろいろあるみたいだけど、わからないので、us-west1-aにしようと思う。
マシンタイプ:これは、f1-microのみ(参照:Always Freeの使用上限)
ブートディスク:30Gまで無料なようなので、30Gにする。OSはデフォルトのDebian GNU/Linux 9 (stretch)のままにする。

ここまで変更したら、作成ボタンを押す。するとインスタンスが表示される。
そこの右のほうに接続SSHと表示されているところをクリックすると、コンソールがブラウザで表示される。

2-3.SSH認証鍵の作成

ここでSSHの認証鍵を作成して登録する。

ssh-keygen -t rsa -f ~/.ssh/(鍵のファイル名) -C (ユーザー名)

このコマンドをコンソールに書いてリターンすると、鍵が作成される。

ssh-keygen -t rsa -f ~/.ssh/sshkey-20191006 -C user

ここでは鍵のファイル名とユーザー名を上記にする。

そのあと、鍵を書き換えできないように、読み取り専用にする。 下のコマンドを実行する。

chmod 400 ~/.ssh/sshkey-20191006 //読み取り専用にする

その次は、鍵を表示させる。
cat ~/.ssh/sshkey-20191006.pub ・・//鍵を表示する。.pubのつけ忘れ注意
上のコマンドを実行したら、コンソールに鍵が表示されるので、コピーする。

ナビゲーションメニュー、 Compute Engine>VMインスタンスをクリック。名前、ここではserposcope-serverをクリック。

すると、VMインスタンスの詳細が表示されるので、編集をクリック。

SSH認証鍵の下に、SSHキーが0個ありますとあって、表示して編集するのところをクリック。(画面ではやり直したので、項目の追加になっている。この時は項目の追加をクリック)認証鍵全体を入力のところに先ほどコピーした鍵をペーストする。ユーザー名が左に表示される。保存をクリック。

2-4.SSHのポート番号変更

serposcophaのポートを22から、ほかの番号に変更する。なぜかというと、22のポートは一般的な数字なので、アタックが世界中からされて、これが課金対象になるらしい。
まず、設定ファイルのバックアップをする。sshd_configをsshd_config.orgという名前でコピーする。次を コンソールに打ち、実行する。
sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org

そのあとは、次のコードを実行する。

sudo nano /etc/ssh/sshd_config 

sshd_config が開く。#Port 22 と書いてある場所を探す。(nanoのところはviでもいいです。)

Port 22というところがあるので、Port 好きなポート番号 にする。#シャープ記号は取る。ここでは40022にする。

#Port 22

Port 40022//変更後

変更したら、ctrl+Oで保存、ctrl+Xで終了。
sshを再起動する。

sudo service ssh restart

2-5.ファイアウォールルールの設定

そのあと、ファイアウォールの設定をします。
ナビゲーションメニューから、Compute Engine>VMインスタンスを選択。
インスタンスの一番右端の3つのドット の設定ボタンをクリック。ネットワークの詳細の表示をクリック。


VPCネットワーク>ファイアウォールルールを選択。

ファイアウォールルールの作成で
名前:disallow-22
一致したときのアクション:拒否 
ターゲットタグ:disallow22-server 
ソース IP の範囲:0.0.0.0/0
プロトコルとポート>指定したプロトコルとポート>tcpにチェックして、22と入力する。
あとはデフォルトのまま。作成ボタンを押す。

ファイアウォールルールの作成で
名前:allow- 40022
一致したときのアクション:許可 
ターゲットタグ:allow 40022-server 
ソース IP の範囲:0.0.0.0/0
プロトコルとポート>指定したプロトコルとポート>tcpにチェックして、 40022と入力する。
あとはデフォルトのまま。作成ボタンを押す。

そのあと、Compute Engine>VMインスタンスで、インスタンスの名前をクリック。VMインスタンスの詳細で編集をクリック。

ネットワークタグで、先ほど設定したターゲットタグを入力。保存ボタンをクリック。

Compute Engine>VMインスタンスで、インスタンスの接続のSSHの右の下矢印をクリック。ブラウザウィンドウで開く。をクリックして、失敗するのを確認する。これは22番をふさいでいるのでつながらないのが正解。
そのあと、ブラウザウィンドウでカスタムポートを開く。をクリック。

ポートのところに設定したポートを入力して、開くをクリック。コンソールが表示されたら成功。

2-6.Javaのインストール

sudo apt install default-jdk
でjavaをインストール。

2-7.Serposcopeのインストール

任意の場所で、
wget https://serposcope.serphacker.com/download/2.10.0/serposcope_2.10.0_all.deb(serposcopeのダウンロードパス)

でファイルをダウンロード
そのあと、
sudo dpkg -i serposcope_2.10.0_all.deb
でインストール。

依然やったようにファイアウォールルールで7134を許可する。
VMインスタンスのインスタンスの外部IPが34.56.245.132
とすると、
34.56.245.132:7134
でサイトが表示される。

2-8.IPを静的IPアドレスにする

標準 VM インスタンスで使用されている静的 IP アドレスとエフェメラル IP アドレスが、2020 年 1 月 1 日から、1 時間あたり $0.004 が課金されるらしい。エフェメラルなIPって動的IPのことですね。どっちみち課金されるので、静的IPを使おうと思います。

VPCネットワーク>外部IPアドレスで、外部アドレスが載っていて、タイプがエフェメラルとなっているので、静的をクリック。

名前は適当 ここではserposcopeにする。予約をクリック。
これで静的IPアドレスになった。

2-9.データベースをMYSQLにする。

データ量が増えたら、MYSQLのほうがいいらしい。とりあえずMYSQLに変える。
sudo apt-get -y install mysql-server
今はMYSQLの代わりにMariaDBになってる。MYSQLの上位互換らしい。普通に動くらしいのでMariaDBを使う。
コンソールで
sudo mysql -u root -p //mysqlにルート権限で入る

CREATE USER 'ユーザー名'@'ホスト名' identified by 'パスワード';
GRANT ALL PRIVILEGES ON . TO 'ユーザー名'@'ホスト名' ;
FLUSH PRIVILEGES;
sudo mysql -u ユーザー名 -p パスワード
で入りなおす。

MariaDB [(none)]>CREATE DATABASE serposcope DEFAULT CHARACTER SET utf8;//データベースを作成
Exitでmysqlから出る。
sudo nano /etc/serposcope.confをコンソールに打ち込む。
# alternative database url 
serposcope.db.url=

というところを
# alternative database url
serposcope.db.url=jdbc:mysql://localhost/serposcope?user=ユーザー名&password=パスワード&allowMultiQueries=true

にする。
sudo service serposcope restart で再起動。

3.参考にしたサイト

 

おすすめドメイン

-Serposcope