リダイレクト
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
<参考記事>
初心者向け!Linux操作技術~標準入出力とリダイレクト~ | KENスクールブログ
本日のやりたいこと
本日は、昨日、「シェルスクリプト内にログをリダイレクトさせて」と言われた際に、
「????」となったので、リダイレクト関連をこちらにまとめようと思います。
リダイレクト
リダイレクト記号(リダイレクション演算子)を使用することで入出力先を変更することができます。
基本的な書式
コマンド > /etc/file /etc/fileに上書きして書き込む
コマンド >> /etc/file /etc/fileに書き足す
コマンド < /etc/file コマンドが/etc/fileの内容を受け取る
コマンド 2> /etc/file エラーを/etc/fileに上書きして書き込む
コマンド > /etc/file 2>&1 エラーの出力先を標準出力と同じにする
使用例:シェルが実行されたら、test.logにechoコマンドがリダイレクトされる
# vi /home/user/test.sh
------------------------------------------
#!bin/bash
echo "シェルは実行されました!" >> /home/user/test.log
------------------------------------------
# sh /home/user/test.sh
# cat /home/user/test.log
シェルは実行されました!
やりたかったことはできた!
リダイレクトをするには">"の記号を使う!!
これはもう忘れない!!
またリダイレクト関連でまとめることはこちらに書き込みます!
以上!!!!!!!
AWS ~VPC内でのインスタンス作成~
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
<参考>
[初心者向け]VPC作成からEC2インスタンス起動までを構成図見ながらやってみる(その1) | DevelopersIO
リージョンとは | クラウド・データセンター用語集/IDCフロンティア
パブリックサブネットとプライベートサブネットの違いとは? | Tech Dive
本日のやりたいこと
<構成図>
リージョンを選択
自分のインスタンスをどこに作るかを考えた際に、まず始めのグループ分けはリージョンです。リージョンとは、地理的に近い「ゾーン」をグループ化したものであり、リージョンごとに完全に独立しています。そのため、違うリージョン内でVPCを作成したり、サブネットを構成することはできません。
VPCを作成
次にVPCを作成します。VPCを使用することで仮想ネットワーク内でAWSリソース同士を通信することができます。仮想ネットワーク内は他のアカウントとは切り離されたプライベートな空間なためプライベートIPアドレスを使用します。
サブネットを作成
続いてVPC内にサブネットを作成します。サブネットにより、アベイラビリティゾーンの区別を行うことができます。これにより、1つのアベイラビリティゾーンが災害で停止してもシステム全体としては止まらないようにできます。
パブリックサブネット
インターネットゲートウェイと繋がっているサブネット領域
プライベートサブネット
インターネットゲートウェイと繋がっていないサブネット領域
インターネットゲートウェイ
プライベートな空間からグローバルな空間に繋がる道のことです。これがないとグローバルIPアドレスが付加できません。
clamAVの構築
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
<参考記事>
Clam AntiVirus を AWS EC2 にインストールする - Qiita
Amazon Linux 2にClamAVをインストールする - Qiita
オープンソースのアンチウイルスソフトウェア、ClamAVをCentOS 7にインストールする - Qiita
本日のやりたいこと
本日はウイルス攻撃を受けないようにするために対策をしたいということでウイルス対策用の無料ソフトである”clamAV”をインストールして実際に使ってみよー!
と思っております!
clamAVについて
clamAVはオープンソースのアンチウイルスソフトウェア。会員登録等も必要なく、少し設定をいじれば利用することができる。ただ、使用するメモリがかなり大きく、EC2のインスタンスタイプはt2.microではメモリ不足とのエラーが発生するがt2.mediumの使用により、利用可能になった。
clamAVのインストール
rootユーザになる
sudo su -
amazon-linux-extras install -y epel
yum install -y clamav clamav-update clamd
コピーを作成しfreshclam.confを編集
cp /etc/freshclam.conf /etc/freshclam.conf.org
vi /etc/freshclam.conf
以下を追記
-----------------------------------------
#UpdateLogFile /var/log/freshclam.log
UpdateLogFile /var/log/freshclam.log
LogFileMaxSize 2M
LogTime yes
LogSyslog yes
LogRotate yes
-----------------------------------------
freshclamを実行(ウイルス定義の更新)
freshclam
以下のような表示が出ればOK
Fri Aug 20 09:23:36 2021 -> ClamAV update process started at Fri Aug 20 09:23:36 2021
Fri Aug 20 09:23:36 2021 -> daily database available for download (remote version: 26268)
コピーを作成しclamdの設定ファイルを編集
cp /etc/clamd.d/scan.conf /etc/clamd.d/scan.conf.org
vi /etc/clamd.d/scan.conf
1.以下のコメントアウト(#)を外す
-----------------------------------------
#LogFile /var/log/clamd.scan
↓
LogFile /var/log/clamd.scan
#LocalSocket /run/clamd.scan/clamd.sock
↓
LocalSocket /run/clamd.scan/clamd.sock
#LocalSocketMode 660
↓
LocalSocketMode 660
#ExcludePath ^/proc/
#ExcludePath ^/sys/
↓
ExcludePath ^/proc/
ExcludePath ^/sys/
-----------------------------------------
2.以下にコメントアウト(#)を付ける
-----------------------------------------
User clamscan
↓
#User clamscan
-----------------------------------------
自動起動を有効にしてclamdの起動
systemctl enable clamd@scan
systemctl start clamd@scan
※うまく起動できない場合
ログからエラーを確認
journalctl -u clamd@scan
ウイルススキャンのテスト
テスト用のウイルス(無害なウイルス)をダウンロード
cd /tmp
wget http://www.eicar.org/download/eicar.com
ls eicar.com
手動でウイルススキャンを実施
clamscan --infected --remove --recursive /tmp
eicar.comが削除されていることを確認
ls /tmp/eicar.com
以上!!!!!!!
Linux ソフトウェアインストール
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
<参考>
【 rpm 】コマンド(基礎編)――RPMパッケージをインストールする/アンインストールする:Linux基本コマンドTips(47) - @IT
Linuxにソフトウェアをインストールするには? | クロの思考ノート
【Linuxコマンド】tarでアーカイブを作成・展開する方法 | 侍エンジニアブログ
本日のやりたいこと
本日は、ソフトウェアをインストールする際ってどうしたらいいんだ!?!?とパッと方法が思い浮かばなかったのでインストールの方法をまとめたいと思います!!
ソフトウェアインストール
yumリポジトリからインストール
必要なソフトウェアは公式リポジトリにそろっているがリポジトリは世界中にたくさんありそれぞれ配っているパッケージが違うそのため、リポジトリを追加することによってパッケージのバリエーションを増やすことができる。yumコマンドで追加できる。
yum install <パッケージ名>
・オプション
-y 全ての問い合わせに「yes」で応答したものとする
EPELリポジトリを追加する際
amazon-linux-extras install -y epel
上記コマンドを実行することでEPELを有効にすることができる。
RPMファイルをダウンロード
リポジトリと違いパッケージマネージャは自動更新されない。
rpmコマンドを使用してインストールを行う。
インストール(追加)
rpm -ivh <rpmファイル>
・オプション
-i パッケージをインストール
-v パッケージを検査
-h 経過を表示
アンインストール(削除)
rpm -e <パッケージ名>
・オプション
-e パッケージをアンインストール(削除)
アップグレード(更新)
・既にインストール済のものをアップグレード
rpm -Fvh <rpmファイル>
・まだインストールしていないものをアップグレード
rpm -Uvh <rpmファイル>
・オプション
-F パッケージをアップグレード
-U 以前のバージョンがインストールされているときのみアップグレード
ステータス(状態)
rpm -qa
・既に存在するかの確認
rpm -qa | grep <確認したいパッケージ名>
・オプション
-q 問い合わせ
-a 一覧表示する
バイナリファイルをダウンロード
wgetコマンドでファイルのダウンロードを行う。ファイルの末尾にtar.gzがあるのでtarコマンドで解凍する。
wget https://xxxxxxx.xxx/latest.tar.gz
tar -xzvf latest.tar.gz
・オプション
-x アーカイブを展開
-z gzipの圧縮処理を行う
-v 圧縮・展開時に詳細を表示
-f アーカイブファイルを指定
以上!!!!!!
シェルスクリプトの基礎の基礎の基礎
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
<参考>
シェルの基礎知識
変数
変数は値を入れる箱。この変数には任意の名前をつけることができる。
# NO=suuji
変数に対しては代入という操作をすることでその値を変更できる。
※=の端にスペースを入れない(変数ではなく文字列として表示される)
# echo $NO
suuji
変数に格納されている「値」を参照する場合は”$変数名”と指定する。
この”$”(ダラー)が変数と認識させる魔法のマーク
変数名について
変数名には後でどのような変数名にしたかわからなくならないように、その内容がわかるような名前をつけると分かりやすい。
環境変数
変数にはシェル変数と環境変数の2種類がある。
シェル変数 → 実行したシェル内でのみ有効
環境変数 → シェルから呼び出したプロセスにも有効
通常はシェル変数として保存されるため環境変数として設定するためにはexportコマンドを実行する。
# export HENSU
環境変数はprintenvコマンドで確認できる
# printenv
zabbixの構築
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
<参考>
Mr. Park 痕跡: Amazon Linux2 Zabbix 5.0 インストール
Amazon Linux2で、Zabbix5.0を構築してみた - Qiita
本日のやりたいこと
今回はオープンソフトウェアであるzabbixをつかってシステムの監視を行う環境の構築を行いたいと思います。
使用する環境
- サーバー
- Amazon EC2
- インスタンスタイプ: t2.micro (1台)
- オペレーティングシステム: Amazon Linux 2
- Amazon EC2
- ソフトウェア
zabbix5.0インストールの手順書
タイムゾーンの修正
timedatectl set-timezone Asia/Tokyo
Zabbix5.0のリポジトリをインストール
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yumのキャッシュクリア
yum clean all
Zabbixをインストールする上で必要なパッケージをインストール
rpm -Uvh http://mirror.centos.org/altarch/7/extras/aarch64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm
Zabbix5.0をインストール
yum install -y zabbix-server-mysql zabbix-agent
yum install -y mariadb mariadb-server
zabbix.repo 手動修正
vi /etc/yum.repos.d/zabbix.repo
#下記を編集
------------------ここから-----------------------
[zabbix-fronted]
enable=1
------------------ここまで----------------------
MariaDBを起動
mysql -u root -p
※mysql_sequre_installationにて設定したパスワードを入力。
Webインターフェースをインストール
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
ユーザ・データベース等の作成
・zabbixというDBを作成
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
・DB[zabbix]にアクセスするユーザzabbixを作成(by'DBパスワード')
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
ここでのパスワードを後に使用。
MariaDB [(none)]> quit;
データベースにZabbix用のデータを流し込む
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
実行すると以下が表示される
Enter password:
ここでのパスワードは[DBパスワード]
よって、 zabbix と入力しEnter。
amazon linux2の時刻を修正
timedatectl set-timezone Asia/Tokyo
Zabbix側のタイムゾーンを変更
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
#下記を末尾に追記
---------------------------------------------
php_value[date.timezone] = Asia/Tokyo
---------------------------------------------
データベースの接続情報を記載
cd /etc/zabbix/
vi zabbix_server.conf
#下記を編集
---------------------------------------------
DBPassword=zabbix
---------------------------------------------
起動、自動起動有効
systemctl start zabbix-server
systemctl start zabbix-agent
systemctl start rh-php72-php-fpm
systemctl start httpd
systemctl enable zabbix-server
systemctl enable zabbix-agent
systemctl enable mariadb
systemctl enable httpd
systemctl enable rh-php72-php-fpm
ブラウザよりアクセス
<URL>
http://[パブリックDNS]/zabbix
でアクセスし、以下画面が出れば成功!!
<補足>
・zabbix完了画面が出なくて 404Not Found と表示される場合。
参考:
以下を試してみてください。自分は解消されました!!
1.パーミッション変更
chmod 777 /etc/zabbix
2.Apacheの再起動
systemctl restart httpd
以上
通信の暗号化
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
<参考>
ApacheでSSL(TLS)を有効化する方法 - Qiita
通信の暗号化
今まではhttpプロトコルを使って通信を行っていました。この「http」通信は通常の平文で通信を行っているため、プライバシーも何もない通信となっています。http通信において個人情報を入力するのは流出につながるため絶対に行ってはいけません。そこでhttp通信を暗号化する「https」という通信を基本的にweb上では見かけると思います。「https」通信はSSL/TLSプロトコルを利用した暗号化通信が行われています。
使用環境
- サーバー
- Amazon EC2
- インスタンスタイプ: t2.micro (1台)
- オペレーティングシステム: Amazon Linux 2
- Amazon EC2
- ソフトウェア
暗号化の手順
今回のブログではhttp通信をhttps化する手順を備忘録として残します。
rootユーザになる
sudo su -
SSL(TLS)化を有効にするためのモジュールをインストール
yum install openssl
yum install mod_ssl
作業用フォルダに移動
cd /etc/pki/tls/certs/
秘密鍵の作成
openssl genrsa > server.key
...Generating RSA private key, 2048 bit long modulus....+++
と表示されれば成功
公開鍵の作成
openssl req -new -key server.key > server.csr
Country Name (2 letter code) [XX]: JP
↑国名を入力
State or Province Name (full name) []:Tokyo
↑都道府県名を入力
Locality Name (eg, city) [Default City]:Tama
↑市区町村名を入力
Organization Name (eg, company) [Default Company Ltd]:XXX
↑組織名(会社名)を入力
Organizational Unit Name (eg, section) []:Sales
↑部署名を入力
Common Name (eg, your name or your server's hostname) []:11.1.1.1
↑IPアドレスを入力
Email Address []:popopo@email.com
↑メールアドレスを入力
A challenge password []:
An optional company name []:
↑今回はオレオレ証明書なので何も入力せずEnter
サーバ証明書の作成
openssl x509 -req -signkey server.key < server.csr > server.crt
↑を実行して先ほど入力した情報が出てくればOK!
秘密鍵のコピー
cp -a server.key ../private/
ssl.confの修正
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.org
vi /etc/httpd/conf.d/ssl.conf
-----------------------------------------------
1.サーバ名の変更
2.証明書のパス
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
↓↓
SSLCertificateFile /etc/pki/tls/certs/server.crt
3.秘密鍵のパス
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
↓↓
SSLCertificateKeyFile /etc/pki/tls/private/server.key
Apache再起動
systemctl restart httpd
以上の作業でhttpsプロトコルが使用できるようになっております。
<URL>
上記のURLでアクセスすると、接続がプライベートではありません。⚠セキュリティ保護なしという画面が出てくると思います。これは、証明書が自分で発行したオレオレ証明書だからです。しっかりとした機関が発行したものでしたら他のwebサイト同様にアクセスできます。証明書の発行機関は簡単に確認することができます。
URLの鍵マークをクリックし、証明書をクリックすることで
・発行先
・発行者
・有効期間 等
が確認できるので是非確認してみてください~~!!
以上