Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WordPress を Trellis で管理した話
Search
Yusuke Matsuura
December 16, 2017
Technology
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WordPress を Trellis で管理した話
九州インフラ交流勉強会(Kixs) Vol.006
Yusuke Matsuura
December 16, 2017
More Decks by Yusuke Matsuura
See All by Yusuke Matsuura
SRE Activities at Nulab
matsuzj
0
190
SRE 本 輪読会 #1
matsuzj
0
1k
サーバ構成管理について
matsuzj
0
170
MySQL 5.1 から Aurora への移行
matsuzj
0
150
Other Decks in Technology
See All in Technology
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
170
デジタル・デザイン構想 by Sayaka Ishizuka
y150saya
0
180
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
170
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
180
初めてのDatabricks勉強会
taka_aki
2
230
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
230
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
260
背中から、背中へ /paying forward to community
naitosatoshi
0
210
5分でわかるDuckDB Quack
chanyou0311
4
300
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
840
ゼロをイチにする仕事が終わったあと
smasato
0
170
Featured
See All Featured
It's Worth the Effort
3n
188
29k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Music & Morning Musume
bryan
47
7.3k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
230
Producing Creativity
orderedlist
PRO
348
40k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to make the Groovebox
asonas
2
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
WENDY [Excerpt]
tessaabrams
11
38k
Transcript
WordPress を Trellis で管理した話 Yusuke Matsuura ‒ Nulab Inc. Dec
16, 2017 14:00 ∼ 17:30 九州インフラ交流勉強会(Kixs) Vol.006
自己紹介 ‒ Yusuke Matsuura @matsuzj ‒ Nulab Inc. ‒ Site
Reliability Engineer @Backlog ‒ 趣味は登山・キャンプ ‒ Job ‒ Web サービスの開発/運用を始めて11年ぐらい経ちます ‒ アプリケーションエンジニアからインフラ方面へ ‒ 現在は運用・改善・トラブルシュート等 ‒ Team ‒ 2015年7月から Nulab のインフラ担当としてジョイン ‒ 2016年9月から SRE チームを2名になる ‒ 2017年8月から SREメンバーが追加されて3名体制へ
話すること ‒ Trellis 導入の経緯 ‒ Trellis ついて ‒ Web サイトのインフラ構成など
Trellis 導入の経緯 日本向けのドメイン backlog.jp と 海外向けの backlogtool.com を backlog.com へ統合するプロジェクトが動いています。
Webサイトも backlog.com へ統合することになったの で、コンテンツ管理、インフラ管理を楽になるよう検討 することになりました
None
None
Trellisって何? WordPress をよしなに構成管理してくれるツール Modern LEMP stack ‒ Linux ( Ubuntu
) ‒ Nginx ‒ MySQL ( MariaDB ) ‒ PHP
具体的には何を使っているか ‒ Nginx ‒ MariaDB (MySQL drop‒in replacement) ‒ PHP
7.1 (+ extensions) ‒ Composer ‒ WP‒CLI ‒ sSMTP ‒ Memcached ‒ Fail2ban ‒ ferm (firewall) ‒ Mailhog
ディレクトリ構成は? ̀̀̀shell current/ # Root directory (You can change this
directory name) ├── trellis/ # For Ansible │ ├── nginx‒includes # Include nginx conf https://roots.io/trellis/docs/nginx‒includes/ │ └── templates # Define User template, Require trellis/group̲vars/all/main.yml └── site/ # Directory for website (Bedrock‒based) └── web/ ├── app/ # WordPress content directory (themes, plugins, etc.) └── wp/ # WordPress core (don't touch!) ̀̀̀
開発 ‒ 開発は vagrant up を実行してローカルで動作確認で きます ‒ Ansible の
group̲vars には development, staging, production が定義されている ansible‒playbook server.yml ‒e env=staging ‒u ubuntu ‒ デプロイも簡単です ./bin/deploy.sh staging backlog.com
PHP の extensions 拡張したいんだけど? できます! trellis/group̲vars/all/main.yml に以下を追加するだけ php̲extensions̲custom: php7.1‒yaml: "{{
apt̲package̲state }}"
Nginxで他のサーバにプロキシしたいんだけど? できます! 以下に配置するだけで location の追加ができる trellis/nginx‒includes/domain/*.conf.j2
RDS 使いたいんだけど? できます! trellis/group̲vars/production/wordpress̲sites.yml wordpress̲sites: backlog.com: env: db̲host: rds.us‒east‒1.rds.amazonaws.com
SES 使いたいんだけど? できます! trellis/group̲vars/all/mail.yml # Documentation: https://roots.io/trellis/docs/mail/ mail̲smtp̲server: email‒smtp.us‒east‒1.amazonaws.com:465 mail̲admin:
[email protected]
mail̲hostname: localhost mail̲user: mail̲user mail̲password: "{{ vault̲mail̲password }}" # Disable STARTSSL for Amazon SES ssmtp̲start̲tls: 'No'
ALB 使いたいんだけどヘルスチェックどうすんの? できます! trellis/group̲vars/all/main.yml に以下を追加する https://github.com/roots/trellis/issues/786 nginx̲sites̲confs: ‒ src: no‒default.conf.j2
enabled: false ‒ src: "{{ playbook̲dir }}/templates/default‒elb‒health‒check.conf.site.j2"
所感 ‒ サーバ管理が Ansible なのはいい ‒ 細かい設定・拡張もできる ‒ デプロイもすごく楽
Backlog 歴史的経緯 ‒ 10年の歴史で作られたコンテンツがいっぱいある ‒ すべてWordPress で管理されているわけでなくStatic なファイルがある
Backlog のコンテンツは?
インフラ構成 useast1 public private Target Group backlogcomwebsite Target Group backlogcomwebsitestaging
https://backlog.com/ backlogwebsiteblog backlogwebsite Target Group backlogcomwebsiteworld Target Group backlogcomwebsitedl backlogwebsiteworld