SlideShare a Scribd company logo
1 of 161
Download to read offline
第5回 一撃サーバー構築シェルスクリプト勉強会
USP友の会
@nullpopopo
2015/03/14
[自己紹介]
名前: 濱田康貴 ( @nullpopopo )
Blog
http://nullpopopo.blogcube.info/
Facebook
https://www.facebook.com/nullpopopo
第5回 一撃サーバー構築シェルスクリプト勉強会
[自己紹介]
執筆: シェルスクリプトマガジン (旧USP Magazine)
教えて先輩♡サーバー運用お助けTIPS
隔月(偶数月号)連載中
Vol.22 では石狩DCまで
取材に行ってきました→
第5回 一撃サーバー構築シェルスクリプト勉強会
[自己紹介]
執筆: CodeZine ( http://codezine.jp/ ) で
ツールがなくてもサーバー構築でたじろがない!
一撃シェルスクリプト道場
連載はじめました。
第5回 一撃サーバー構築シェルスクリプト勉強会
[USP友の会とは]
USP(ユニバーサル・シェル・プログラミング)友の会は、日本唯一の、
シェルプログラミングファンのコミュニティです。2009年5月にスタートした本
会は、シェルプログラミングに限らず、簡潔明瞭さ、創意工夫を尊ぶエンジニア
が集まり、技術の話題に花を咲かせています。
公式サイト https://www.usptomo.com/
Twitter https://twitter.com/usptomo
FB https://www.facebook.com/usptomo
FB (グループ) https://www.facebook.com/groups/141271259271220/
第5回 一撃サーバー構築シェルスクリプト勉強会
一撃シェルスクリプトとは
第5回 一撃サーバー構築シェルスクリプト勉強会
「シェルスクリプト(と設定ファイルのひな形)を用意すれば、
コマンドを1回実行するだけで環境構築ができてしまう
というスグレモノ」を目指しています。(「一撃シェルスクリプト」は @nullpopopo の造
語です)
現在のところ、線引きとして以下のように詳細なルールを作っています。
●
OSインストール直後に一撃シェルスクリプトを配置して動かすものとする
●
実行回数は1回のみで、人が張り付く必要のない設計とする
●
対話式の入力は可能な限り回避する
第5回 一撃サーバー構築シェルスクリプト勉強会
一撃シェルスクリプトで重視していないこと
例)
●
何がなんでも1枚のスクリプトファイルのみで完結することを目的としなくて
よい
●
(インターネットに繋がっていることが前提ですが)設定ファイルが複数または多岐にわたる
場合は、GitHubなどから雛形ファイルをダウンロードし、各々のホストで整
形加工することもよしとする
(これはベテラン勢によくありがちなのですが)いわゆる○○準拠というものに対しては、あま
り重視するつもりはありません。最終的に望むものが出来上がるのであれば、人様に迷惑をかけな
い限り何をやってもよいと考えます。同一条件でインストールされたOSで同じ結果が得られるのであれば、どんな言
語やシェルを使っても構いません。
第5回 一撃サーバー構築シェルスクリプト勉強会
なぜシェルスクリプトでやるのか?
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
●
インストール対象のOSに初めからあるコマンドだけで完結できる(基本的に
yumで何かをインストールしたり、config書き換えたり)
●
環境構築のための環境構築が不要
●
エージェントレスですよ奥さん!
●
まさに一撃!
●
シェルスクリプトの文法を知ってしまえば運用ツールを書くのにも応用が
効く
●
case、ヒアドキュメントあたりは使います。
●
原則として綺麗な環境を前提としているのでifは余り使わない
●
一度きりの実行なので、forも余り使わない
一撃でMovable Typeをインストール
今回のテーマは...
第5回 一撃サーバー構築シェルスクリプト勉強会
Movable Typeとは
シックス・アパートが開発するブログソフト/CMS。
ブログだけでなく、ウェブサイト単位でのウェブページや、ファイルの管理、更新履
歴の保存などCMSとしての基盤を進化させたパブリッシングプラットフォーム。
(公式サイト: http://www.sixapart.jp/movabletype/support/fundamental/about-mt.html より)
第5回 一撃サーバー構築シェルスクリプト勉強会
今回の一撃シェルスクリプトでやっていること
●
ドキュメントルートのディレクトリを作成し、ここにMovable Typeのファイル一式
を配置する
●
iptables設定
●
MySQLインストールとdatabase「mt」作成
●
nginx+FCGIインストール
●
nginx設定ファイルはヒアドキュメントで作成
●
fastcgi-wrapper.pl 作成
●
perl-fastcgi initスクリプト作成
●
perl-fastcgi initスクリプト 修正
●
パッケージ、OSのアップデート
●
再起動
第5回 一撃サーバー構築シェルスクリプト勉強会
使用しているコマンド
awk basename cat cd chkconfig chmod cp curl
echo egrep grep ip iptables ls mkdir mv mysql
reboot sed service tee unzip yum
第5回 一撃サーバー構築シェルスクリプト勉強会
パッケージのインストール
●
基本的にはyumでインストール
●
ほとんどのパッケージは標準リポジトリ
●
perlモジュールでMovable Typeが求める一部のパッケー
ジはepelやrpmforgeリポジトリ
●
MySQLは公式のコミュニティリポジトリ
第5回 一撃サーバー構築シェルスクリプト勉強会
設定ファイルの生成
●
nginxのバーチャルホスト設定ファイルは、一撃シェルスクリ
プトの中でヒアドキュメントで生成
●
perl-fastcgiと、perl-fastcgiから呼び出されるfastcgi-
wrapper.plはWEBに公開されているものを流用
第5回 一撃サーバー構築シェルスクリプト勉強会
本日やること
1.Movable Typeダウンロードサイトへの登録
2.githubから一撃シェルスクリプトのダウンロード
3.さくらのクラウド コントロールパネルでスタートアップスクリプト登録
4.一撃サーバー構築
5.Movable Type設定
第5回 一撃サーバー構築シェルスクリプト勉強会
1. Movable Typeダウンロードサイトへの登録
http://www.movabletype.jp/ へアクセス
第5回 一撃サーバー構築シェルスクリプト勉強会
下へスクロール
第5回 一撃サーバー構築シェルスクリプト勉強会
ご自身のメールアドレスを入力し、利用目的に「初めて利用する」を選び、「上
記に同意して申し込む」をクリック
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
この画面が表示されたら、メール受信を確認します。
第5回 一撃サーバー構築シェルスクリプト勉強会
メールで通知されたログインキーを入力し、ログインする
第5回 一撃サーバー構築シェルスクリプト勉強会
MT-6_1.zip へのリンクを右クリックメニュー
からコピーする
※ リンクはメモ帳などに保存しておいてください
第5回 一撃サーバー構築シェルスクリプト勉強会
2. githubから一撃シェルスクリプトのダウンロード
以下のURLから作業用PCへ、一撃シェルスクリプトをダウンロードします。
https://raw.githubusercontent.com/nullpopopo/s
akura-cloud/master/ICHIGEKI-MT-CentOS6
※ 文字コードはUTF-8、改行コードはLFで保存します
※ Windows環境の方は以下のエディタをおすすめします
TeraPad http://www.forest.impress.co.jp/library/software/terapad/
サクラエディタ http://sakura-editor.sourceforge.net/index.html.ja
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
Demo
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
CentOS 6.6を選択
ディスクサイズは20GB
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
複雑な覚えやすい
パスワード
(by横田さん)
を入力する
任意のホスト名を
入力する
先ほど登録したス
タートアップスクリプ
トを選択する
第5回 一撃サーバー構築シェルスクリプト勉強会
任意のパスワードを入力
する
Movable Type ダウンロードサイト
でコピーしたURLを貼り付ける
第5回 一撃サーバー構築シェルスクリプト勉強会
これらの項目は、後でわかりやすいように任意の値を入れてください。
第5回 一撃サーバー構築シェルスクリプト勉強会
「作成後すぐに起動」にチェックを入れ、右下にある「作成」ボタンをクリック
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
サーバーが出来上がると、このように情報を見ることができます
第5回 一撃サーバー構築シェルスクリプト勉強会
コンソールからプロンプトが見えたら
ログイン可能
※ コンソールから作業するとコピペ
しにくいので、ssh接続推奨
第5回 一撃サーバー構築シェルスクリプト勉強会
サーバーのIPアドレスは「NIC」をクリックした後、↑の赤い枠に囲われた箇所に表示され
ます。
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
休憩
第5回 一撃サーバー構築シェルスクリプト勉強会
コードの簡単な解説
第5回 一撃サーバー構築シェルスクリプト勉強会
コードの構成
1.さくらのクラウド スタートアップスクリプトの特殊タグ設定
2.自身のhosts登録
3.Movable Typeダウンロードとドキュメントルート作成
4.iptables設定
5.MySQLインストール+データベース作成
6.nginx+FCGIインストール
7.initスクリプト作成
8.nginx、FCGI起動 〜 yum update+再起動
第5回 一撃サーバー構築シェルスクリプト勉強会
1. さくらのクラウド スタートアップスクリプトの特殊タグ設定
第5回 一撃サーバー構築シェルスクリプト勉強会
# @sacloud-once
スタートアップスクリプトの動作
サーバ作成画面でスタートアップスクリプトを選択すると、起動後のサーバ内で以下の
動作が行われます。
1.起動時、/etc/rc.localが/root/.sacloud-api/startup.shを実行
2.startup.shが、「スタートアップスクリプト」で指定したスクリプト(“/root/.sacloud-
api/notes/スタートアップスクリプトID“に配置)を実行
3.スクリプトが実行され、ログが”/root/.sacloud-api/notes/スタートアップスクリプ
トID.log”に出力される
4.各スクリプトが正しく(終了コードが”0″)終了すると、”/root/.sacloud-
api/notes/スタートアップスクリプトID.done”という名前の空ファイルを作成
(このファイルが存在すると@sacloud-once を指定したスクリプトは実行され
ない)
http://cloud-news.sakura.ad.jp/startup-script/ より
第5回 一撃サーバー構築シェルスクリプト勉強会
# @sacloud-desc サーバ作成後、サーバのIPアドレスをhostsに登録して
ブラウザでアクセスしてください。
# @sacloud-desc (このスクリプトは、CentOS6.XもしくはScientific
Linux6.Xでのみ動作します)
# @sacloud-desc Movable TypeダウンロードURL 入力例:
https://xxxxxxxxxxxxxxxxxx/
第5回 一撃サーバー構築シェルスクリプト勉強会
# @sacloud-text required shellarg maxlen=200 durl "Movable TypeダウンロードURL"
# @sacloud-password required shellarg maxlen=100 rootpw "MySQLのパスワード"
DURL=@@@durl@@@
ROOTPW=@@@rootpw@@@
第5回 一撃サーバー構築シェルスクリプト勉強会
スタートアップスクリプトの特殊タグを理解するには
http://cloud-news.sakura.ad.jp/startup-script/
第5回 一撃サーバー構築シェルスクリプト勉強会
2. 自身のhosts登録
第5回 一撃サーバー構築シェルスクリプト勉強会
eth0のIPアドレスをhostsに登録
●
IPアドレスを抜き出す
# ip a show dev eth0 | egrep '(inet )' | awk '{print $2}' | sed -e 's//[0-9]*//g'
133.242.xxx.xxx
●
IPアドレスとホスト名を2タブ区切りで表示
# echo $(ip a show dev eth0 | egrep '(inet )' | awk '{print $2}' | sed -e 's//[0-
9]*//g') ${HOSTNAME} | awk '{print $1"t""t"$2}'
133.242.xxx.xxx mt001
●
あとはteeコマンドでhostsファイルに追記
# cp -p /etc/hosts{,.orig}
# echo $(ip a show dev eth0 | egrep '(inet )' | awk '{print $2}' | sed -e 's//[0-
9]*//g') ${HOSTNAME} | awk '{print $1"t""t"$2}' | tee -a /etc/hosts
第5回 一撃サーバー構築シェルスクリプト勉強会
3. Movable Typeダウンロードとドキュメントルート作成
第5回 一撃サーバー構築シェルスクリプト勉強会
HOME=/root
export HOME
mkdir -p /var/www
mkdir -p ${HOME}/src
cd ${HOME}/src
FILENAME=$(basename ${DURL} | awk 'BEGIN {FS="?"} {print $1}')
curl -o ${FILENAME} ${DURL}
unzip ${FILENAME}
mv $(ls | grep -v zip$) /var/www/html
cd ${HOME}
これを1つ1つコマンド叩いてみるとどうなるか?
(変数のところは省略します)
第5回 一撃サーバー構築シェルスクリプト勉強会
[root@mt001 ~]# mkdir -p /var/www
[root@mt001 ~]# mkdir src
[root@mt001 ~]# cd src
[root@mt001 src]# DURL="https://〜〜〜/file_download.php/MT-6_1.zip?
id=9&type=MT6"
[root@mt001 src]# FILENAME=$(basename ${DURL} | awk 'BEGIN {FS="?"}
{print $1}')
[root@mt001 src]# echo $FILENAME
MT-6_1.zip
(続きます)
第5回 一撃サーバー構築シェルスクリプト勉強会
[root@mt001 src]# curl -o ${FILENAME} ${DURL}
# ll
合計 17928
-rw-r--r-- 1 root root 18354703 3月 4 13:27 2015 MT-6_1.zip
[root@mt001 src]# unzip ${FILENAME}
[root@mt001 src]# ls
MT-6.1 MT-6_1.zip
[root@mt001 src]# ls | grep -v zip$
MT-6.1
[root@mt001 src]# mv $(ls | grep -v zip$) /var/www/html
第5回 一撃サーバー構築シェルスクリプト勉強会
4. iptables設定
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
コマンド 内容
servi ce i pt abl es st op
i pt abl es -P I NPUT DROP 外部からのパケットはすべて拒否する
i pt abl es -P OUTPUT ACCEPT
i pt abl es -P FORWARD DROP パケット転送はすべて拒否する
i pt abl es -A I NPUT -i l o -j ACCEPT
i pt abl es -A I NPUT -p t cp --dport 22 -j ACCEPT
i pt abl es -A I NPUT -p t cp --dport 80 -j ACCEPT
servi ce i pt abl es save 設定を保存
servi ce i pt abl es st art
chkconf i g i pt abl es on
i pt abl es停止
自ホストから外部へのパケットはすべて
許可する
l ocal host からのアクセスをすべて許可
i pt abl es -A I NPUT -m st at e --st at e ESTABLI SHED, RELATED
-j ACCEPT
内部から行ったアクセスに対する外部か
らの返答アクセスを許可
外部からのTCP22番ポート(SSH)へのア
クセスを許可
外部からのTCP80番ポート(HTTP)へのア
クセスを許可
i pt abl esを起動
i pt abl esをスタートアップ登録する
第5回 一撃サーバー構築シェルスクリプト勉強会
[root@mt001 ~]# iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state
RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-SSH (1 references)
target prot opt source destination
RETURN all -- 0.0.0.0/0 0.0.0.0/0
5. MySQLインストール+データベース作成
第5回 一撃サーバー構築シェルスクリプト勉強会
yum -y install http://dev.mysql.com/get/mysql-community-release-el6-
5.noarch.rpm
yum -y install mysql-community-server
service mysqld start
chkconfig mysqld on
MySQLコミュニティのYUMリポジトリをインストール
MySQLサーバーをインストール
MySQLサーバーを起動および自動起動設定
第5回 一撃サーバー構築シェルスクリプト勉強会
mysql -u root -e "SET PASSWORD FOR
root@localhost=PASSWORD('${ROOTPW}');"
MySQLのrootパスワードを設定。 (localhost)
変数「ROOTPW」はサーバー作成時に指定したもの
-eオプションをつけることでシェルを奪われない!
第5回 一撃サーバー構築シェルスクリプト勉強会
mysql -u root -p${ROOTPW} -e "SET PASSWORD FOR
root@"${HOSTNAME}"=PASSWORD('${ROOTPW}');"
MySQLのrootパスワードを設定。 (ホスト名)
第5回 一撃サーバー構築シェルスクリプト勉強会
mysql -u root -p${ROOTPW} -e "SET PASSWORD FOR
root@127.0.0.1=PASSWORD('${ROOTPW}');"
MySQLのrootパスワードを設定。 (127.0.0.1)
第5回 一撃サーバー構築シェルスクリプト勉強会
mysql -u root -p${ROOTPW} -e "SET PASSWORD FOR
root@"::1"=PASSWORD('${ROOTPW}');"
MySQLのrootパスワードを設定。 (::1)
第5回 一撃サーバー構築シェルスクリプト勉強会
mysql -u root -p${ROOTPW} -e "delete from mysql.user where
password='';"
パスワードのカラムが空のユーザーを削除する(すなわち匿名ユーザーも削
除される)
第5回 一撃サーバー構築シェルスクリプト勉強会
mysql -u root -p${ROOTPW} -e 'FLUSH PRIVILEGES;'
権限テーブルを再読み込みする
第5回 一撃サーバー構築シェルスクリプト勉強会
mysql -u root -p${ROOTPW} -e "create database mt;"
データベース「mt」作成
第5回 一撃サーバー構築シェルスクリプト勉強会
[root@mt001 ~]# grep ^ROOTPW .sacloud-api/notes/〜〜〜
ROOTPW='********'
変数に格納したMySQLのroot
パスワードは後で確認可能
第5回 一撃サーバー構築シェルスクリプト勉強会
[root@mt001 ~]# mysql -u root -p${ROOTPW} -e "select
user,password,host from mysql.user;"
Warning: Using a password on the command line interface can be
insecure.
+------+-------------------------------------------+-----------+
| user | password | host |
+------+-------------------------------------------+-----------+
| root | *C4AAE40CA5DC4AB9F085432AD4EB43955369AB7A | localhost |
| root | *C4AAE40CA5DC4AB9F085432AD4EB43955369AB7A | mt001 |
| root | *C4AAE40CA5DC4AB9F085432AD4EB43955369AB7A | 127.0.0.1 |
| root | *C4AAE40CA5DC4AB9F085432AD4EB43955369AB7A | ::1 |
+------+-------------------------------------------+-----------+
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
6. nginx+FCGIインストール
第5回 一撃サーバー構築シェルスクリプト勉強会
yum -y install
http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-
centos-6-0.el6.ngx.noarch.rpm
cp -p /etc/yum.repos.d/nginx.repo
/etc/yum.repos.d/nginx.repo.orig
sed -i 's/centos/mainline/centos/' /etc/yum.repos.d/nginx.repo
nginxのリポジトリをインストール
nginxのリポジトリを
mainlineに変更
第5回 一撃サーバー構築シェルスクリプト勉強会
yum -y install perl-DBI perl-DBD-MySQL perl-Archive-Zip perl-
XML-SAX perl-XML-LibXML perl-XML-NamespaceSupport perl-Digest-
SHA perl-GD gd libXpm perl-Crypt-SSLeay perl-Archive-Tar perl-
IO-Zlib perl-Package-Constants ImageMagick-perl perl-Time-HiRes
yum -y --enablerepo=epel install perl-FCGI perl-Crypt-DSA
yum -y --enablerepo=rpmforge install perl-XML-SAX-Expat perl-
Imager
yum -y install nginx
perlのモジュールたちを
インストール
nginxインストール
第5回 一撃サーバー構築シェルスクリプト勉強会
cp -p /etc/nginx/nginx.conf{,.orig}
sed -i "s/worker_processes[[:space:]]+[0-9]+/worker_processes
$(cat /proc/cpuinfo | grep processor | wc -l)/g"
/etc/nginx/nginx.conf
デフォルトのnginx設定ファイル
をバックアップ
nginxの
worker_processesをCPU
のコア数に合わせる
第5回 一撃サーバー構築シェルスクリプト勉強会
# cat /proc/cpuinfo | grep ^processor
processor : 0
processor : 1
processor : 2
processor : 3
# diff /etc/nginx/nginx.conf{,.orig}
3c3
< worker_processes 4;
---
> worker_processes 1;
第5回 一撃サーバー構築シェルスクリプト勉強会
mkdir -p /etc/nginx/conf.d/BACKUP
mv /etc/nginx/conf.d/*.conf /etc/nginx/conf.d/BACKUP/
cat << _EOL_ | tee /etc/nginx/conf.d/000_MT.conf
server {
... (略)
}
_EOL_
デフォルトのnginx設定ファイル
をバックアップ
nginx設定ファイルをヒアドキュメント
で生成
第5回 一撃サーバー構築シェルスクリプト勉強会
nginx設定 (抜粋)
server {
listen 80;
server_name ${HOSTNAME};
location / {
root /var/www/html;
index index.html index.htm index.cgi index.pl;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
...
}
ヒアドキュメントの中で
HOSTNAME変数が展開される
indexの順序に注意
※ .cgiと.plを後ろにしないと
mt.cgiが優先されてしまう
第5回 一撃サーバー構築シェルスクリプト勉強会
nginx設定 (抜粋)
location ~ .pl$ {
gzip off;
root /var/www/html;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:8999;
fastcgi_index index.pl;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ .cgi$ {
gzip off;
root /var/www/html;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:8999;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
ヒアドキュメントの中で変数を展開
しないようエスケープしている
第5回 一撃サーバー構築シェルスクリプト勉強会
7. initスクリプト作成
第5回 一撃サーバー構築シェルスクリプト勉強会
nginx+perl-fastcgi 起動の仕組み
●
fastcgi-wrapper.pl と perl-fastcgi は www.linode.com からダウンロード
する
●
perl-fastcgi はダウンロード後、数カ所の修正を行う
参考: https://www.linode.com/docs/websites/nginx/nginx-and-perlfastcgi-on-centos-5
nginx
perl-fastcgi
/etc/rc.d/init.d/nginx から起動
/etc/rc.d/init.d/perl-fastcgi から fastcgi-wrapper.pl を起動
第5回 一撃サーバー構築シェルスクリプト勉強会
fastcgi-wrapper.pl 入手
curl -L -o /usr/bin/fastcgi-wrapper.pl
http://www.linode.com/docs/assets/642-fastcgi-wrapper.sh
chmod 700 /usr/bin/fastcgi-wrapper.pl
第5回 一撃サーバー構築シェルスクリプト勉強会
perl-fastcgi 入手
PERLFCGIDAEMON=/etc/rc.d/init.d/perl-fastcgi
curl -L -o ${PERLFCGIDAEMON}
http://www.linode.com/docs/assets/641-init-rpm.sh
(中略)
chmod 700 ${PERLFCGIDAEMON}
※ 「中略 (sedでinitスクリプトの修正)」の部分は休憩後に解説します
第5回 一撃サーバー構築シェルスクリプト勉強会
き ゅ う け
い
第5回 一撃サーバー構築シェルスクリプト勉強会
サーバーにログインしてtmpディレクトリを作り、実際にsedでどう置換され
るのかを見てみましょう。
# mkdir -p ${HOME}/tmp
# cd $_
# PERLFCGIDAEMON=./perl-fastcgi
# curl -L -o ${PERLFCGIDAEMON}
http://www.linode.com/docs/assets/641-init-rpm.sh
# cp -p ${PERLFCGIDAEMON} $
{PERLFCGIDAEMON}.orig
第5回 一撃サーバー構築シェルスクリプト勉強会
sed -i '/^#[[:space:]][ndpc][gerio]*/d' $
{PERLFCGIDAEMON}
行頭のdescriptionを修正するために一旦削除する
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep '(^#[[:space:]]
[ndpc][gerio]*)'
# nginx – this script starts and stops the nginx daemon
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse 
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /opt/nginx/conf/nginx.conf
# pidfile: /opt/nginx/logs/nginx.pid
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i '/^#[[:space:]][ndpc][gerio]*/d' $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep '(^#[[:space:]]
[ndpc][gerio]*)'
何も表示されない
第5回 一撃サーバー構築シェルスクリプト勉強会
とは言えdescriptionがないのも不都合なので追加する
(たまたま2行目と3行目に空のコメントが残ったのでこれを利用する)
sed -i '2s/^#$/# perl-fastcgi/' $
{PERLFCGIDAEMON}
sed -i '3s/^#$/# description: this script
starts and stops the perl-fastcgi daemon/' $
{PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i '2s/^#$/# perl-fastcgi/' $
{PERLFCGIDAEMON}
# sed -i '3s/^#$/# description: this script
starts and stops the perl-fastcgi daemon/' $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep '(^#[[:space:]]
[ndpc][gerio]*)'
# perl-fastcgi
# description: this script starts and stops the perl-fastcgi daemon
第5回 一撃サーバー構築シェルスクリプト勉強会
3行目 descriptionの直下に「# chkconfig: - 85 15」を追加する
sed -i "3a # chkconfig: - 85 15" $
{PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i "3a # chkconfig: - 85 15" $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep '(^#[[:space:]]
[ndpc][gerio]*)'
# perl-fastcgi
# description: this script starts and stops the perl-fastcgi daemon
# chkconfig: - 85 15
第5回 一撃サーバー構築シェルスクリプト勉強会
「nginx="/opt/nginx/sbin/nginx"」を
「perlfastcgi="/usr/bin/fastcgi-wrapper.pl"」に直す
sed -i s/^nginx=["/
[:alnum:]]*/perlfastcgi='"/usr/bin/fastcgi-
wrapper.pl"'/ ${PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep '^(nginx=|
perlfastcgi)'
nginx="/opt/nginx/sbin/nginx"
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i s/^nginx=["/
[:alnum:]]*/perlfastcgi='"/usr/bin/fastcgi-
wrapper.pl"'/ ${PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep '^(nginx=|
perlfastcgi)'
perlfastcgi="/usr/bin/fastcgi-wrapper.pl"
変数名がnginxからperlfastcgiに、変数の中身も
/opt/nginx/sbin/nginx から /usr/bin/fastcgi-
wrapper.pl に変わった
第5回 一撃サーバー構築シェルスクリプト勉強会
「prog=$(basename $nginx)」を「prog=$(basename perl)」に直す
sed -i 's/prog=$(basename $nginx)/prog=$
(basename perl)/' ${PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep '^(prog=)'
prog=$(basename $nginx)
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i 's/prog=$(basename $nginx)/prog=$
(basename perl)/' ${PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep '^(prog=)'
prog=$(basename perl)
prog変数の中身がnginxからperl
に変わった
第5回 一撃サーバー構築シェルスクリプト勉強会
「NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"」で始まる行を削除する
sed -i s/^NGINX_[[:alnum:]_="./]*// $
{PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep
'(^NGINX_[[:alnum:]_="./]*)'
NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i s/^NGINX_[[:alnum:]_="./]*// $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep
'(^NGINX_[[:alnum:]_="./]*)'
何も表示されない
第5回 一撃サーバー構築シェルスクリプト勉強会
sed -i
's/lockfile=/var/lock/subsys/nginx/lockfile
=/var/lock/subsys/perl-fastcgi/' $
{PERLFCGIDAEMON}
「lockfile=/var/lock/subsys/nginx」を
「lockfile=/var/lock/subsys/perl-fastcgi」に直す
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep '^(lockfile=)'
lockfile=/var/lock/subsys/nginx
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i
's/lockfile=/var/lock/subsys/nginx/lockfile
=/var/lock/subsys/perl-fastcgi/' $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep '^(lockfile=)'
lockfile=/var/lock/subsys/perl-fastcgi
lockfile変数の中身がnginxからperl-
fastcgiに変わった
第5回 一撃サーバー構築シェルスクリプト勉強会
start関数の中の「 [ -x $nginx ] || exit 5 」 を 「 [ -x
$perlfastcgi ] || exit 5 」に直す
sed -i 's/[ -x $nginx ] || exit [0-9]/[ -x
$perlfastcgi ] || exit 5/' ${PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep "^([ -x $
[np][[:alpha:]]* ] || exit [0-9])"
[ -x $nginx ] || exit 5
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i 's/[ -x $nginx ] || exit [0-9]/[ -x
$perlfastcgi ] || exit 5/' ${PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep "^([ -x $
[np][[:alpha:]]* ] || exit [0-9])"
[ -x $perlfastcgi ] || exit 5
testコマンドの条件式が、「もしnginxが実行可でな
ければ」から「もしperl-fcgiが実行可でなければ」に
書き換わった
※ どうでもいいですが、この条件式を日本語にすると不自然ですよね? [ ! -x
$perlfastcgi ] && exit 5 のほうがシックリくる。。。ほんとどうでもいいんですが。
第5回 一撃サーバー構築シェルスクリプト勉強会
start関数の中の 「 [ -f $NGINX_CONF_FILE ] || exit 6 」
を削除する
sed -i 's/[ -f $NGINX_CONF_FILE ] || exit [0-
9]//' ${PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep "^([ -f 
$NGINX_CONF_FILE ] || exit [0-9])"
[ -f $NGINX_CONF_FILE ] || exit 6
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i 's/[ -f $NGINX_CONF_FILE ] || exit
[0-9]//' ${PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep "^([ -f 
$NGINX_CONF_FILE ] || exit [0-9])"
何も表示されない
第5回 一撃サーバー構築シェルスクリプト勉強会
start関数の中の「daemon $nginx -c $NGINX_CONF_FILE」を
「daemon $perlfastcgi」に直す
sed -i 's/daemon $nginx -c
$NGINX_CONF_FILE/daemon $perlfastcgi/' $
{PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep "^(daemon)"
daemon $nginx -c $NGINX_CONF_FILE
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i 's/daemon $nginx -c
$NGINX_CONF_FILE/daemon $perlfastcgi/' $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep "^(daemon)"
daemon $perlfastcgi
fastcgi-wrapper.pl を daemonと
して動かすようにした
第5回 一撃サーバー構築シェルスクリプト勉強会
restart関数とreload関数の中から「configtest || return $?」
を削除する
sed -i 's/configtest || return $?//g' $
{PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep
"(configtest || return $?$)"
configtest || return $?
configtest || return $?
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i 's/configtest || return $?//g' $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep
"(configtest || return $?$)"
何も表示されない
第5回 一撃サーバー構築シェルスクリプト勉強会
reload関数内の「killproc $nginx -HUP」を「killproc $prog
-HUP」に直す -> HUPすると死んでしまうので「stop ; start」に直す
sed -i 's/killproc $nginx -HUP/stop ; start/' $
{PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep "^(killproc 
$nginx -HUP|stop ; start)"
killproc $nginx -HUP
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i 's/killproc $nginx -HUP/stop ; start/'
${PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep "^(killproc 
$nginx -HUP|stop ; start)"
stop ; start
reload関数が実行されたときの動作が
killproc $nginx -HUP から stop ->
start に変わった
第5回 一撃サーバー構築シェルスクリプト勉強会
60〜62行目、「configtest」を関数ごと削除する
sed -i '60,62d' ${PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat -n ${PERLFCGIDAEMON} | grep -A 2
configtest()
60 configtest() {
61 $nginx -t -c $NGINX_CONF_FILE
62 }
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i '60,62d' ${PERLFCGIDAEMON}
# cat -n ${PERLFCGIDAEMON} | grep -A 2
configtest()
何も表示されない
第5回 一撃サーバー構築シェルスクリプト勉強会
case文の中で引数にrestartとconfigtestを与えたときの条件を、
restartのみに変更する
(configtest関数を削除したため)
sed -i 's/restart|configtest/restart/' $
{PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat ${PERLFCGIDAEMON} | egrep -A 2
'(^restart[[:alnum:]|)]*$)' | tail -n 3
restart|configtest)
$1
;; これを削除したい
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i 's/restart|configtest/restart/' $
{PERLFCGIDAEMON}
# cat ${PERLFCGIDAEMON} | egrep -A 2
'(^restart[[:alnum:]|)]*$)' | tail -n 3
restart)
$1
;; case文の引数判定がrestartと
configtestの両方だったのがrestart
のみに変更された
第5回 一撃サーバー構築シェルスクリプト勉強会
95行目、Usageの行からconfigtestを削除する
sed -i "95s/|configtest//" ${PERLFCGIDAEMON}
第5回 一撃サーバー構築シェルスクリプト勉強会
[Before]
# cat -n ${PERLFCGIDAEMON} | grep Usage |
grep |configtest}"
95 echo $"Usage: $0 {start|stop|status|restart|
condrestart|try-restart|reload|force-reload|
configtest}"
第5回 一撃サーバー構築シェルスクリプト勉強会
[After]
# sed -i "95s/|configtest//" ${PERLFCGIDAEMON}
# cat -n ${PERLFCGIDAEMON} | grep Usage |
grep |configtest}"
# cat -n ${PERLFCGIDAEMON} | grep Usage
95 echo $"Usage: $0 {start|stop|status|
restart|condrestart|try-restart|reload|force-
reload}"
何も表示されない
第5回 一撃サーバー構築シェルスクリプト勉強会
8. nginx、FCGI起動 〜 yum update+再起動
第5回 一撃サーバー構築シェルスクリプト勉強会
chmod 700 ${PERLFCGIDAEMON}
chkconfig --add perl-fastcgi
chkconfig perl-fastcgi on
service perl-fastcgi start
service nginx start
chkconfig nginx on
yum -y update
reboot
第5回 一撃サーバー構築シェルスクリプト勉強会
$ echo$ echo 求刑求刑 | | 
sed -e 's/sed -e 's/求求//休休/;s//;s/刑刑//憩憩/'/'
第5回 一撃サーバー構築シェルスクリプト勉強会
Movable Type 設定
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
ウェブサイトパス は
/var/www/html のまま!
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
第5回 一撃サーバー構築シェルスクリプト勉強会
お疲れ様でした
第5回 一撃サーバー構築シェルスクリプト勉強会
質疑応答
第5回 一撃サーバー構築シェルスクリプト勉強会
#!/beer/bash

More Related Content

What's hot

開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~CubedKachi
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleHideki Saito
 
Deep Dive into Modules
Deep Dive into ModulesDeep Dive into Modules
Deep Dive into ModulesHideki Saito
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようmax747
 
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?ogawatti
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかたMasahito Zembutsu
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~HommasSlide
 
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutIntroduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutTaisuke Yamada
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Daisuke Ikeda
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみるairtoxin Ishii
 
Itamae-Serverspec入門
Itamae-Serverspec入門Itamae-Serverspec入門
Itamae-Serverspec入門辰徳 斎藤
 
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsC#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsYoshifumi Kawai
 
Casperjsのインストール
CasperjsのインストールCasperjsのインストール
CasperjsのインストールKohei Misu
 

What's hot (20)

開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
Deep Dive into Modules
Deep Dive into ModulesDeep Dive into Modules
Deep Dive into Modules
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?
 
Openresty
OpenrestyOpenresty
Openresty
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~
 
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutIntroduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる
 
Ilstudy001_20110806
Ilstudy001_20110806Ilstudy001_20110806
Ilstudy001_20110806
 
Itamae-Serverspec入門
Itamae-Serverspec入門Itamae-Serverspec入門
Itamae-Serverspec入門
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsC#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive Extensions
 
Casperjsのインストール
CasperjsのインストールCasperjsのインストール
Casperjsのインストール
 

Viewers also liked

2012/03/31 Apacheスタートスクリプト読書会発表資料
2012/03/31 Apacheスタートスクリプト読書会発表資料2012/03/31 Apacheスタートスクリプト読書会発表資料
2012/03/31 Apacheスタートスクリプト読書会発表資料Yasutaka Hamada
 
不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみた
不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみた不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみた
不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみたYasutaka Hamada
 
2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopoYasutaka Hamada
 
20110211 nullpopopo diet
20110211 nullpopopo diet20110211 nullpopopo diet
20110211 nullpopopo dietYasutaka Hamada
 
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料Yasutaka Hamada
 
みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)Yasutaka Hamada
 
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内Yasutaka Hamada
 
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」博文 斉藤
 
dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例Jun Shimizu
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会Yasutaka Hamada
 
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)Yuji Otani
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化greenasparagus
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみたFujishiro Takuya
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話Yoshinori Matsunobu
 

Viewers also liked (18)

2012/03/31 Apacheスタートスクリプト読書会発表資料
2012/03/31 Apacheスタートスクリプト読書会発表資料2012/03/31 Apacheスタートスクリプト読書会発表資料
2012/03/31 Apacheスタートスクリプト読書会発表資料
 
20101211 #
20101211 #20101211 #
20101211 #
 
不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみた
不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみた不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみた
不健康極まりない現役エンジニア生活を送っていたぼくが余生モードになって健康についていろいろ考えてみた
 
2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo
 
20110211 nullpopopo diet
20110211 nullpopopo diet20110211 nullpopopo diet
20110211 nullpopopo diet
 
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
 
みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)
 
はじめてのgithub
はじめてのgithubはじめてのgithub
はじめてのgithub
 
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
 
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
 
dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例dbts2013:MariaDB Galera Cluster 活用例
dbts2013:MariaDB Galera Cluster 活用例
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
 
超高速WordPress
超高速WordPress超高速WordPress
超高速WordPress
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみた
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 

Similar to ICHIGEKI-MT 2015/03/14

第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介Midori Oge
 
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE辰徳 斎藤
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistranokumachang_LL
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationyukihiro kawada
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたatk1234
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-賢 秋穂
 
serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例Koichi Shimozono
 
おまえらこのライブラリ使ってないの? m9 (2013-07)
おまえらこのライブラリ使ってないの? m9	(2013-07)おまえらこのライブラリ使ってないの? m9	(2013-07)
おまえらこのライブラリ使ってないの? m9 (2013-07)Toru Furukawa
 
運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回Shigeharu Yamaoka
 
20121217 jawsug-yokohama
20121217 jawsug-yokohama20121217 jawsug-yokohama
20121217 jawsug-yokohamaTetsuya Chiba
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstartHideki Saito
 
STNSサーバーを書いてみた
STNSサーバーを書いてみたSTNSサーバーを書いてみた
STNSサーバーを書いてみたYoshinori Teraoka
 
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話Takashi Uemura
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalkBIGLOBE Tech Talk
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 

Similar to ICHIGEKI-MT 2015/03/14 (20)

第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
 
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verification
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
 
serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例
 
Hacking Vox and Plagger
Hacking Vox and PlaggerHacking Vox and Plagger
Hacking Vox and Plagger
 
おまえらこのライブラリ使ってないの? m9 (2013-07)
おまえらこのライブラリ使ってないの? m9	(2013-07)おまえらこのライブラリ使ってないの? m9	(2013-07)
おまえらこのライブラリ使ってないの? m9 (2013-07)
 
運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
20121217 jawsug-yokohama
20121217 jawsug-yokohama20121217 jawsug-yokohama
20121217 jawsug-yokohama
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
 
STNSサーバーを書いてみた
STNSサーバーを書いてみたSTNSサーバーを書いてみた
STNSサーバーを書いてみた
 
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
 
OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 

More from Yasutaka Hamada

試験前に抑えておきたいRTX/vRX VPN接続
試験前に抑えておきたいRTX/vRX VPN接続試験前に抑えておきたいRTX/vRX VPN接続
試験前に抑えておきたいRTX/vRX VPN接続Yasutaka Hamada
 
「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」
「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」
「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」Yasutaka Hamada
 
うっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜ
うっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜうっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜ
うっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜYasutaka Hamada
 
ぬるぽぽ2019年アウトプットの振り返り
ぬるぽぽ2019年アウトプットの振り返りぬるぽぽ2019年アウトプットの振り返り
ぬるぽぽ2019年アウトプットの振り返りYasutaka Hamada
 
ヤマハで作るセキュアで逸般的なサテライトネットワーク
ヤマハで作るセキュアで逸般的なサテライトネットワークヤマハで作るセキュアで逸般的なサテライトネットワーク
ヤマハで作るセキュアで逸般的なサテライトネットワークYasutaka Hamada
 
学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -
学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -
学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -Yasutaka Hamada
 
2019 10-04 cross-party nullpopopo
2019 10-04 cross-party nullpopopo2019 10-04 cross-party nullpopopo
2019 10-04 cross-party nullpopopoYasutaka Hamada
 
ゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPS
ゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPSゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPS
ゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPSYasutaka Hamada
 
ニフクラとヤマハルーターで作るセキュアなオフィス環境
ニフクラとヤマハルーターで作るセキュアなオフィス環境ニフクラとヤマハルーターで作るセキュアなオフィス環境
ニフクラとヤマハルーターで作るセキュアなオフィス環境Yasutaka Hamada
 
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しようヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しようYasutaka Hamada
 
君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコ
君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコ君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコ
君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコYasutaka Hamada
 
@nullpopopo が考える、未来のプレゼン | 明日に向かって
@nullpopopo が考える、未来のプレゼン | 明日に向かって@nullpopopo が考える、未来のプレゼン | 明日に向かって
@nullpopopo が考える、未来のプレゼン | 明日に向かってYasutaka Hamada
 
ゆで太郎エヴァンジェリスト 濱田康貴
ゆで太郎エヴァンジェリスト 濱田康貴ゆで太郎エヴァンジェリスト 濱田康貴
ゆで太郎エヴァンジェリスト 濱田康貴Yasutaka Hamada
 
平成生まれにこそススメたい!さくらとヤマハのハイブリッド!
平成生まれにこそススメたい!さくらとヤマハのハイブリッド!平成生まれにこそススメたい!さくらとヤマハのハイブリッド!
平成生まれにこそススメたい!さくらとヤマハのハイブリッド!Yasutaka Hamada
 
concrete5もシェルスクリプトで一撃ダウンロードしようず
concrete5もシェルスクリプトで一撃ダウンロードしようずconcrete5もシェルスクリプトで一撃ダウンロードしようず
concrete5もシェルスクリプトで一撃ダウンロードしようずYasutaka Hamada
 
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果Yasutaka Hamada
 
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018Yasutaka Hamada
 
NVRシリーズで始める はじめてのヤマハルーター Interop2018
NVRシリーズで始める はじめてのヤマハルーター Interop2018NVRシリーズで始める はじめてのヤマハルーター Interop2018
NVRシリーズで始める はじめてのヤマハルーター Interop2018Yasutaka Hamada
 
スタートアップこそOffice365で業務効率化
スタートアップこそOffice365で業務効率化スタートアップこそOffice365で業務効率化
スタートアップこそOffice365で業務効率化Yasutaka Hamada
 
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LTYasutaka Hamada
 

More from Yasutaka Hamada (20)

試験前に抑えておきたいRTX/vRX VPN接続
試験前に抑えておきたいRTX/vRX VPN接続試験前に抑えておきたいRTX/vRX VPN接続
試験前に抑えておきたいRTX/vRX VPN接続
 
「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」
「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」
「いきなり{非機能要求グレード,PCIDSS}担当にさせられた!どうする!?」
 
うっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜ
うっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜうっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜ
うっかりyum updateでコケちゃってもさくらのVPSならレスキューモードでデータ吸い出せるぜ
 
ぬるぽぽ2019年アウトプットの振り返り
ぬるぽぽ2019年アウトプットの振り返りぬるぽぽ2019年アウトプットの振り返り
ぬるぽぽ2019年アウトプットの振り返り
 
ヤマハで作るセキュアで逸般的なサテライトネットワーク
ヤマハで作るセキュアで逸般的なサテライトネットワークヤマハで作るセキュアで逸般的なサテライトネットワーク
ヤマハで作るセキュアで逸般的なサテライトネットワーク
 
学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -
学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -
学びの掛け算 コアスキルになにかを掛けろ この先生きのこるための生存戦略 - Strategy -
 
2019 10-04 cross-party nullpopopo
2019 10-04 cross-party nullpopopo2019 10-04 cross-party nullpopopo
2019 10-04 cross-party nullpopopo
 
ゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPS
ゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPSゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPS
ゆで太郎はいいぞ - コミュニケーションツールとしてのゆで太郎活用TIPS
 
ニフクラとヤマハルーターで作るセキュアなオフィス環境
ニフクラとヤマハルーターで作るセキュアなオフィス環境ニフクラとヤマハルーターで作るセキュアなオフィス環境
ニフクラとヤマハルーターで作るセキュアなオフィス環境
 
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しようヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
 
君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコ
君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコ君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコ
君はxDSLを体感したか? Yahoo! BB ADSL終了記念カキコ
 
@nullpopopo が考える、未来のプレゼン | 明日に向かって
@nullpopopo が考える、未来のプレゼン | 明日に向かって@nullpopopo が考える、未来のプレゼン | 明日に向かって
@nullpopopo が考える、未来のプレゼン | 明日に向かって
 
ゆで太郎エヴァンジェリスト 濱田康貴
ゆで太郎エヴァンジェリスト 濱田康貴ゆで太郎エヴァンジェリスト 濱田康貴
ゆで太郎エヴァンジェリスト 濱田康貴
 
平成生まれにこそススメたい!さくらとヤマハのハイブリッド!
平成生まれにこそススメたい!さくらとヤマハのハイブリッド!平成生まれにこそススメたい!さくらとヤマハのハイブリッド!
平成生まれにこそススメたい!さくらとヤマハのハイブリッド!
 
concrete5もシェルスクリプトで一撃ダウンロードしようず
concrete5もシェルスクリプトで一撃ダウンロードしようずconcrete5もシェルスクリプトで一撃ダウンロードしようず
concrete5もシェルスクリプトで一撃ダウンロードしようず
 
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018 アンケート結果
 
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018
「なりたい自分」になろう - 自分探しエンジニアの生存戦略 - インフラエンジニアのためのキャリアセミナー2018
 
NVRシリーズで始める はじめてのヤマハルーター Interop2018
NVRシリーズで始める はじめてのヤマハルーター Interop2018NVRシリーズで始める はじめてのヤマハルーター Interop2018
NVRシリーズで始める はじめてのヤマハルーター Interop2018
 
スタートアップこそOffice365で業務効率化
スタートアップこそOffice365で業務効率化スタートアップこそOffice365で業務効率化
スタートアップこそOffice365で業務効率化
 
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
 

Recently uploaded

Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元ivanwang53
 
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]Taka Narita
 
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxivanwang53
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンivanwang53
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Componentsokitamasashi
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ivanwang53
 

Recently uploaded (6)

Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
 
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
 
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
 

ICHIGEKI-MT 2015/03/14