エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【nginx】インストールから、初期ページを表示させるまで【687日目】

サーバーを用意した。nginxで表示させたい

VPS等でサーバーを用意しましたが、このままではWebサーバーとしてコンテンツを見ることは出来ません。

ということで、index.htmlとかを配置したら、ページが見れるようにするために、
nginxを入れてみましょう。

今回の対象はCentOS7です。

公式のインストール手順

nginx.org

ばっくり手順

1. インストール用ファイルを作る
2. インストールコマンドを打つ
3. 起動する
4. ポート開けてなかったら開ける

1. インストールのためのファイルを作成

最初に本体を入れるためのディレクトリがないので、以下のコマンドでディレクトリを生成します。

rootユーザーか、sudoを適度に使ってコマンドうってくださいφ(・

yum install yum-utils

vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

(スキップ可)インストールするバージョンについて

インストールをするにあたって、安定版(上に書いたnginx-stable)を通常はダウンロードしますが、
メインラインのものがほしい場合は、先にこのコマンドを打ってください

sudo yum-config-manager --enable nginx-mainline

.oO(って言っても、さっき書いたファイルのenabledが変わるってお話ですが)

2. インストール

yum install nginx

これでインストール可能。yキーをいろいろ打っていってインストールすすめる
インストール出来たら、以下のコマンド打ってみて、インストール+動かすことが可能かを確認

systemctl status nginx

3. nginxの起動

systemctl start nginx

これで80番ポートでサーバーのipアドレスにアクセスすれば、nginxの標準のページが出ます。

4. もし出ない時?(ポート開放)

もし出ない場合、ポート開放をしてなくて、一般ユーザーがそのページにアクセス出来ない可能性があります。

サーバー側の設定の問題なので、ポート開けましょう

firewall-cmd --list-all
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

お疲れさまでした。

【CircleCI】導入の最初の一歩_φ(・_・【686日目】

CircleCIを始めてみたい

始めてみたいが、大変だったらやだな。

ってことで触ってみたが、最初の一歩はかなり簡単だったのでまとめ。

手順

1. 会員登録
2. 一回ページスキップ
3. Repository選択
4. GitHubに行って、.circleciディレクトリ用意してpush

5分もかからないやーつ

会員登録

GitHub連携があるので、GitHubのアカウントでsign up。

パスワード入力してサクッと連携。
1分で会員登録。

Getting Started

いろいろチェックボックスが既存のRepositoryに出てますが、

In the next view, you'll be able to set up new projects. If you don't want to follow any of the projects listed below, or haven't set up any projects with CircleCI before, you can skip ahead to set up new projects.

今までCircleCIを動かしたことがない、セッティングしたことがない人は何もチェックせずに
skip ahead to set up new projects.をクリックしましょう。

Add Projects

ここで、今回対象にしたいプロジェクトを選択しましょう。

該当RepositoryのSet Up Projectを選択

  1. .circleciディレクトリ作成、config.ymlをその中に突っ込む
  2. サンプルのymlがあるので、真似してその変更をgit pushしちゃう

PHPを言語に設定すると、composer installしてくれたり、php artisan migrateしてくれたりするサンプルが用意されていますねφ(・

自動化していこ。

ってことで、自動化の第一歩は意外と簡単。

これからお世話になりますφ(・

【無料素材集】デザインに足突っ込んだら?無料素材4選【685日目】

デザインをする必要が出た

だんだん、サイトの開発を一人で任されるようになったのですが、
そうなると、サイトのデプロイだけじゃなく、デザイン部分も担当するようになってきましたφ(・

CSSのテンプレートを使うとかまではいいですが、

『ここの見出し、いい感じの画像にしておいてよ』

って依頼が来るわけで。

となると、画像素材の引き出しも画像作成技術と合わせてスキルになりますφ(・
ってことで、今使っているサイトを4つピックアップ。

いらすとや

www.irasutoya.com

■使い所

1. イラストでいいから画像欲しい
2. ポップな雰囲気でも良い

エンジニアでは有名になってますね。
特徴的なイラストの雰囲気ですが、かなり種類が多く、困ったらここで探せば何かあります。

商用利用の場合、20点までしか無料で使えないので注意。

PAKUTASO

www.pakutaso.com

■使い所

1. イラストではなく写真がほしい
2. 人物が写っている写真がほしい
3. 情報量が多い写真がほしい

よく、広告で使われてる素材はここ発信のことが多い気がしますよ?

イラストではなく、かつ人が必要な場合はここを使っています。結構無難な気がしますφ(・

写真AC

www.photo-ac.com

■使い所

1. イラストではなく写真がほしい
2. 情報量はあまりない写真がほしい

背景とかの写真なら、こちらの方がいいかもですφ(・

わりと素朴な素材が多いので、背景とかに使いやすいです。

Linustock

www.linustock.com

■使い所

1. 透過画像で素材がほしい
2. ポップな雰囲気以外で画像がほしい
3. 情報量はあまりない画像がほしい

線で表現された画像φ(・

背景や、透過で使ったり、シンプルな情報を伝える時に使えますφ(・

引き出しは増やしていきましょ

プログラミングとか、個人の能力は生み出すことに一見フォーカスされそうですが、
こういった、自分で作る必要のないものの引き出しをたくさん用意すると、
それだけ速度につながるので一つのスキルですφ(・

みなさんもおすすめとか他にあれば教えて下さい!お疲れさまでした。

【CentOS】sshのポート番号を変更する【684日目】

rootログインを止めてみたが

www.nyamucoro.com

これで、rootでのログインは出来ないようにしたが、まだアタックは来るので・・・

そもそも通信自体を来ないようにするためにポートを変えてみよう

ポート番号を変える

vi /etc/ssh/sshd_config

今回もこれをいじる

Port 54321

このままだと反映されないので、設定の反映に再起動

service sshd restart

果たして減るのか

ちなみに、半日で1500回くらいアタック来てました。

この対応でどれくらい減ったか、またわかったら記事にしますφ(・

【VPS】rootユーザーのSSHでのログインを防ぐ【683日目】

VPS借りたら最初にやること

VPS借りた!

よし、マイクラサーバー建てた!

満足!

・・・ではなく、攻撃される危険性がほったらかしなので、それの対応をしましょう。

いくつか対応が必要だとは思いますが、まずはrootユーザーログインを対応しましょう。

手順

1. 新しくユーザー作る
2. rootユーザーでログインさせなくする

今回の対象はConoHaのCentOS7です。

新しくユーザー作る

rootでコンソールにログインしている前提で

adduser xxxx
passwd xxxx
usermod -aG wheel xxxx

ユーザー作成とパスワード設定です
passwdは、ユーザー名を指定して実行。このあとに、パスワード入力画面が出ます。

usermodで sudoなどの管理者権限での実行が出来るようにするために、 wheelグループに所属させます。ちなみに、オプションの意味をばっくり翻訳

-G, --groups GROUPS 補助グループのリスト
-a, --append 補助グループにユーザーを追加する もし-Gオプションがあったら、他のグループから外さずに追加する

rootユーザーでログインさせなくする

vi /etc/ssh/sshd_config

ここで設定を変える

PermitRootLogin no

このままだと反映されないので、設定の反映に再起動

service sshd restart

一旦対応φ(・

他にもパスワードログインしないようにして、公開鍵だけにしちゃえとか。

sshのポートを変えるとかありますが、まずはこの対応φ(・

また別な対応もしたら記事にします

【思考メモ】自動テストの目的・意味の違い?【682日目】

思考メモ

ちょっと雑に思ったのをこちらに書き写した感じなので、上手くまとまってないかもですm( )m

外部の関数と引数、どちらに注目する?

(あえてdataProvidor使わず書きました)

function testA()
{
    Mockery::shouldRecieve('aaa')->andReturn('a');
    ....
}

function testB()
{
    Mockery::shouldRecieve('aaa')->andReturn('b');
    ....
}

function testC()
{
    Mockery::shouldRecieve('aaa')->andReturn('c');
    ....
}

これと、

function testA()
{
    $param = 'x'
    Mockery::shouldRecieve('aaa')->with('x')->andReturn('a');
    Mockery::shouldRecieve('aaa')->with('y')->andReturn('b');
    Mockery::shouldRecieve('aaa')->with('z')->andReturn('c');
    ....
}

function testB()
{
    $param = 'y'
    Mockery::shouldRecieve('aaa')->with('x')->andReturn('a');
    Mockery::shouldRecieve('aaa')->with('y')->andReturn('b');
    Mockery::shouldRecieve('aaa')->with('z')->andReturn('c');
    ....
}

function testC()
{
    $param = 'z'
    Mockery::shouldRecieve('aaa')->with('x')->andReturn('a');
    Mockery::shouldRecieve('aaa')->with('y')->andReturn('b');
    Mockery::shouldRecieve('aaa')->with('z')->andReturn('c');
    ....
}

このテストの違い。

関数のテスト?引数依存???

前者は該当関数のreturn値に対するテスト。

後者はこのテストコードの引数に対するテスト。

inputに対して、outputが正しいことを自動テストがしていると考えるなら、
後者のほうが‘aaa’に対しては、より本質に近いのではφ(・

とはいえ、外部に環境が依存している、例えばDBやapiをモックする必要があったら、その時は前者が正しいのかもしれないφ(・

【一週間振り返り】趣味の挑戦少しずつ増えました【681日目】

1.今週一週間の感想(ざっくり)

趣味に関して、少しずつ新しいことを始めれるようになりました

2.良かったこと

  1. イクラのサーバーを、VPSで建てたよ!
  2. 料理も新しい食材とか使い始めたよ!ささみ美味しい。

3.もっとこうしたかったこと

プログラミング、絶対今私良くない、バグ出しまくってるから、ほんと良くない。

慢心なのか、なんなのかわからないけど、良くないφ(・

4.新しく気づいたこと

心の余裕は出てきてる気がする。

のんびーり動画見てご飯食べる生活って、無駄なようで貴重で大切。

5.来週したいこと

イクラおいてるサーバーに、追加でなにか配置するか考え中φ(・

6.その他

休むの大切φ(・

料理久々にしてるせいで、塩加減めっちゃミスっててやばい。

7.体重

99.1kg

ご飯食べる前とかだと、98kg台がたまに見えてきましたφ(・

【Minecraft】CentOSでサーバーを立ててみよう(コマンドのみ)【680日目】

コマンドまとめ記事

いろんな記事があるのですが、解説が多くて見にくい・・・

情報が古いのも多いので、今日私が使ったコマンドを、軽いコメントだけでまとめました。

コマンド集

// 必要なものインストール
yum -y install java-1.8.0-openjdk
yum -y install screen

// ポート開放
firewall-cmd --list-all
firewall-cmd --permanent --add-port=25565/tcp
firewall-cmd --reload

// ユーザーの作成
adduser minecraft
passwd minecraft

// サーバー用ディレクトリ作成・権限移譲
mkdir /opt/minecraft
chown minecraft:minecraft /opt/minecraft

// アカウント切り替え
su - minecraft
cd /opt/minecraft

// サーバーファイルを取得する
wget https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar

// サーバー初期ファイル作成
java -Xmx1024M -Xms1024M -jar server.jar nogui

// falseをtrueにして許可する
vi eula.txt

//サーバー起動
java -Xmx1024M -Xms1024M -jar server.jar nogui

サーバー常に起動するために

以下でもいいけど

screen -AmdS minecraft java -Xmx1024M -Xms1024M -jar server.jar nogui

// 抜け出す時は、ctrl+a ctrl+d

minecraft.server-memo.net

ここ参考にスクリプト設置。

vi mc_script.sh
chmod 744 mc_script.sh
sh -x mc_script.sh

お疲れさまでした(‘ω‘ )