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
0
800
WordPress を Trellis で管理した話
九州インフラ交流勉強会(Kixs) Vol.006
Yusuke Matsuura
December 16, 2017
Tweet
Share
More Decks by Yusuke Matsuura
See All by Yusuke Matsuura
SRE Activities at Nulab
matsuzj
0
90
SRE 本 輪読会 #1
matsuzj
0
900
サーバ構成管理について
matsuzj
0
130
MySQL 5.1 から Aurora への移行
matsuzj
0
130
Other Decks in Technology
See All in Technology
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
140
一休.comレストランにおけるRustの活用
kymmt90
3
570
Shift-from-React-to-Vue
calm1205
1
1.2k
【若手エンジニア応援LT会】AWSで繋がり、共に成長! ~コミュニティ活動と新人教育への挑戦~
kazushi_ohata
0
170
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
320
新R25、乃木坂46 Mobileなどのファンビジネスを支えるマルチテナンシーなプラットフォームの全体像 / cam-multi-cloud
cyberagentdevelopers
PRO
1
130
신뢰할 수 있는 AI 검색 엔진을 만들기 위한 Liner의 여정
huffon
0
230
Automated Promptingを目指すその前に / Before we can aim for Automated Prompting
rkaga
0
100
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
260
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を理解しよう
kitaji0306
0
170
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
420
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
Typedesign – Prime Four
hannesfritz
39
2.4k
Why Our Code Smells
bkeepers
PRO
334
57k
The Language of Interfaces
destraynor
154
24k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
How GitHub (no longer) Works
holman
311
140k
Bash Introduction
62gerente
608
210k
Automating Front-end Workflow
addyosmani
1365
200k
Faster Mobile Websites
deanohume
304
30k
Docker and Python
trallard
40
3.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
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