0
1

More than 1 year has passed since last update.

LightsailにWebシステムを構築する手順

Last updated at Posted at 2022-01-05

Exmentをさくらインターネット上に構築していたんですが、動作がどうも重かったのでAWSに移行することにしました。
その移行手順をメモしておきたいと思います。

全体の流れ

  1. AWSでLightsailコンソールにログイン
  2. 新たにLAMPインスタンスを作成する
  3. StaticIPを設定する
  4. SSHでログインしてphpmyadminのアクセス設定
  5. 旧サーバからDBとファイルを移動
  6. httpd.confを設定
  7. php.iniを設定
  8. DNS設定変更及びSSL証明書の発行

AWSでLightsailコンソールにログイン

新たにAWSにルートアカウントを登録してLightsailコンソールにログインします。

新たにLAMPインスタンスを作成する

新たにLinuxインスタンスを作成するとともにLAMP環境を構築します。
全てLightsailがインスタンス作成と同時に構築してくれます。

StaticIPを設定する

インスタンスを再起動するとIPアドレスが変わってしまうので、固定IPアドレスを取得して設定します。

SSHでログインしてphpmyadminのアクセス設定

自動でインストールされているphpmyadminは、Web経由では基本的にアクセスできません。
Bitnamiのドキュメントによると、sshトンネルをパソコン側に設定しないといけないとのことです。

都度トンネル設定するのは結構面倒なので、Basic認証を設定した上でどこからでもアクセスできるように設定することにします。
いくつか参考になるサイトはあったのですが、どうも最新版のBitnamiではphpmyadmin.confの場所が変わっているようです(インストールされたBitnamiは7.4.25-6)。

/opt/bitnami/apache/conf/bitnami/phpmyadmin.conf
Alias /phpmyadmin "/opt/bitnami/phpmyadmin"
<Directory "/opt/bitnami/phpmyadmin">
  Options -Indexes +FollowSymLinks -MultiViews
  AllowOverride All

  Require all granted
  AuthType Basic
  AuthName phpmyadmin
  AuthUserFile "/opt/bitnami/apache/users"
  Require valid-user
</Directory>

Require all granted以下が編集した部分です。
usersファイルを作成して、Basic認証用のIDとパスワードを設定します。
設定が終わったらapacheを再起動します。

$ sudo /opt/bitnami/ctlscript.sh restart apache 

旧サーバからDBとファイルを移動

phpmyadminとFTPを利用して旧サーバのデータベースとファイル群を移動させます。

httpd.confを設定

httpd.confに新しいファイル群にアクセスできるように設定を追加します。
今回はphpmyadmin.confを参考にexment.confを作成し、httpd.conf内でincludeしました。

/opt/bitnami/apache/conf/bitnami/exment.conf
Alias /phpmyadmin "/opt/bitnami/exment"
<Directory "/opt/bitnami/exment">
  Options -Indexes +FollowSymLinks -MultiViews
  AllowOverride All

  Require all granted
</Directory>

設定が終わったらapacheを再起動します。

$ sudo /opt/bitnami/ctlscript.sh restart apache 

php.iniを設定

exmentを利用するのにメモリやアップロードファイルサイズなどを設定する必要があるので、php.iniを編集しました。
php.iniは/opt/bitnami/php/etc/にあります。
php.iniの修正を反映させるためにはapacheだけでなく、php-fpmの再起動も必要になります。

$ sudo /opt/bitnami/ctlscript.sh restart apache 
$ sudo /opt/bitnami/ctlscript.sh restart php-fpm 

DNS設定とSSL証明書発行

既にさくらインターネットでドメインは取っていたので、DNSサーバに設定を追加してドメイン経由でアクセスできるようにAレコードを設定しました。
SSL証明書はLet's Encryptを使用して生成。

まとめ

ここまでできれば基本的にドメイン&https経由でサーバにアクセス可能になります。
試行錯誤しながらなので結局1日かかりました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1