NOBODY:PLACE on AWS ドキュメント

2019年5月15日 (水) 11:50時点におけるIppei Suzuki (トーク | 投稿記録)による版 (→導入手順)

新サイトのドキュメントをここに記述する。GitHub Wiki上に作成していた ドキュメント(仮) の中から本番環境で採用された部分についてもこちらに移行させる予定。


構成図

   /var/
    └ www/
       └ nobodyplace/
           ├ src/
           └ sites/
               ├ wordpress/        [WordPress]
               │  ├ nplll.com
               │  ├ 1ni.co
               │  ├ suidou.d-archives.info
               │  ├ cooking.is1977.com
               │  └ monologue.is1977.com
               ├ nplll.com/
               │  └ laravel/       [Laravel]
               ├ 1ni.co/
               │  └ laravel/       [Laravel]
               ├ is1977.com/
               │  ├ laravel/       [Laravel]
               │  └ docs/
               │     ├ adminer/    [Adminer]
               │     ├ default/
               │     ├ lab/
               │     ├ rss/        [Tiny Tiny RSS]
               │     └ wiki/       [MediaWiki]
               ├ umbls.com/
               │  └ laravel/       [Laravel]
               ├ d-archives.info/
               ├ 69tracks.com/
               │  └ docs/
               │     ├ css/
               │     ├ image/
               │     ├ js/
               │     └ index.html
               ├ wellersclub.com/
               │  └ docs/
               │     ├ css/
               │     ├ image/
               │     ├ js/
               │     ├ index.html
               │     ├ schedule.html
               │     ├ information.html
               │     ├ access.html
               │     └ index.html
               └ switchover.info/
                  └ docs/
                     ├ css/
                     ├ image/
                     ├ js/
                     └ index.html

ソフトウェア構成

Amazon Linux

AmazonがAWS用にカスタマイズしたOS。ベースはCentOS6なので、systemd などは使えない。

AWS CLIがあらかじめ入っているほか、yum update でメジャーアップデートが行われるなどいくつか違いがある。でも便利だし今のところ運用上特に問題はない。OS自体がフルマネージドといっても差し支えないんじゃなかろうか。

Apache 2.4

PHP 7.2

Laravel 5.8

概要

当初は1つのLaravelプロジェクトで複数のドメイン、サービスを捌こうと思っていて実際出来そうではあるのだけど、実際の運用を考えたらサービスごとにプロジェクトを作った方がわかりやすくなるし、スケールアウトしやすいのでそうしようと思う。問題点は、環境構築においてプロジェクトごとに差が出る可能性があること。そうならないように導入マニュアルを整備して同じ環境を作れるようにする。

とはいえ既に最初のプロジェクトのインストール過程が怪しいけれど……package.json によれば以下が入っているらしい。

  • bootstrap-vue
  • chart.js
  • chartjs-plugin-colorschemes
  • vue-chartjs
  • vue-cli
  • vue-router

全部必要かはわからないけれど、環境は一緒の方がいいし、入れておこう。 実際の導入手順については、あとでまとめる。

導入手順

  1. echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
  2. ログインし直す
  3. laravel new laravel
  4. composer update
  5. npm installl
  6. composer require olssonm/l5-very-basic-auth:5.*
  7. npm i vue bootstrap-vue bootstrap vue-cli vue-router vue-chartjs chartjs-plugin-colorschemes

git

Wordpress 5.2

Tiny Tiny RSS

開発環境

Vagrant + VirtualBox