第1回/AWSハンズオン/2020
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[第1回]]
* 2020年度の内容(古い) [#s150d384]
** AWSハンズオン [#dfdc73e1]
*** 目的 [#kd8c588b]
- AWSのEC2の基本的な操作が出来るようになる
- 今後アプリケーション開発を行う際にデプロイ先となるサー...
*** 内容 [#ac893f6a]
- EC2にWebアプリをデプロイできる環境を構築する
*** 手順 [#u0256e75]
- AWSにログイン
-- https://kspiral.signin.aws.amazon.com/console
--- ユーザ名:ks01~ks06
--- パスワード:wikiと同じ
- EC2でt2.microインスタンスを立ち上げる
-- すべてのサービスからEC2を選択
-- 【重要】 リージョンをアジアパシフィック (東京) ap-nor...
-- インスタンス→インスタンスの生成
-- ステップ 1: Amazon マシンイメージ (AMI)
--- Amazon Linux 2 AMI (HVM), SSD Volume Type (x86)
-- ステップ 2: インスタンスタイプの選択
--- t2.micro
-- ステップ 3: インスタンスの詳細の設定
--- 基本的には全てそのままで問題無い
-- ステップ 4: ストレージの追加
--- 標準(8Gib)でとりあえず
-- ステップ 5: タグの追加
--- タブを追加で キー: Name 値:TAROU(自分の名前)
-- ステップ 6: セキュリティグループの設定
--- 新しいセキュリティグループを作成する
--- セキュリティグループ名に名前を含んだ適当なものを 例...
-- ステップ 7: インスタンス作成の確認
--- 確認したら起動
-- キーペアの作成
--- 新しいキーペの作成→適当な名前
--- 【重要】キーペアは一度作成しダウンロードすると,二度...
-- インスタンスの作成
- リモート管理
-- SSHによる操作
--- 先ほどダウンロードした鍵を使用 or Webコンソールから利...
--- とりあえずログイン画面にも出るように,最新状態にアッ...
$ sudo yum update
-- Amazon Linuxについて
--- CentOS7をベースにAWSを利用する上で必要な様々なコマン...
--- 標準ユーザとして ec2-user が割り当てられている.(パ...
--- ※NICはVPCのアドレスを持っているのみで,グローバルIPは...
--- / 以下に全ての容量を割り当てられている
- Webサーバ構築
-- [[Apache httpd:http://www.apache.org/]]をインストール...
--- パッケージマネージャ yum を利用する
$ sudo yum install httpd
-- 起動
--- systemctlを利用し,登録済みサービス(httpd)を起動....
$ sudo systemctl start httpd
-- 接続確認(つながらない)
--- ブラウザで http://IPアドレス
-- セキュリティグループで80番ポートを開放する
-- 再度接続
--- Test Pageが見えたら成功
-- 公開HTMLの編集
--- /var/www/html 以下にファイルを置く.標準はindex.html
$ sudo vi /var/www/html/index.html
viが大変だったら,もちろんnanoとかでも問題ありません
- Webアプリケーションサーバ構築
-- tomcat(と動かすためのJava)のインストール
--- Amazon Linuxのための便利ツールで導入
$ sudo amazon-linux-extras install tomcat8.5
-- 起動
--- httpdと同様にsystemctlで
$ sudo systemctl start tomcat
-- セキュリティグループで8080番ポートを開放する
-- 接続確認
--- 標準では何もページが無いので404(page not found)が返っ...
http://IPアドレス:8080
-- ※静的ページの配置
--- /usr/share/tomcat/webapps/ 以下に ROOTというディレク...
$ sudo mkdir /usr/share/tomcat/webapps/ROOT
$ sudo vi /usr/share/tomcat/webapps/ROOT/index.html
-- ※JDKについて
--- AmazonはJDK11相当OpenJDKディストリビューションとして...
- DBサーバ構築
-- LAMP環境のインストール (MariaDB, PHP7)
--- amazon-linux-extrasを利用
$sudo amazon-linux-extras install lamp-mariadb10.2-php7.2
--- なぜか クライアント機能だけインストールされるのでサー...
$sudo yum install mariadb-server
-- 起動
--- systemctlを利用
$ sudo systemctl start mariadb
-- 初期設定
--- 初期設定用スクリプトを実行
$ sudo mysql_secure_installation
Enter current password for root (enter for none): (現...
Set root password? [Y/n] Y (rootのパスワードを設定する)
New password: spiral (パスワード)
Re-enter new password: spiral (パスワード再確認)
Remove anonymous users? [Y/n] Y (匿名ユーザを削除する...
Disallow root login remotely? [Y/n] Y (rootのリモート...
Remove test database and access to it? [Y/n] Y (テスト...
Reload privilege tables now? [Y/n] Y (設定を今有効にす...
--- デフォルト文字コード指定
$ sudo vi /etc/my.cnf.d/mariadb-server.cnf
[mysqld]セクション内に
character-set-server = utf8
-- 設定を有効化
--- 再起動
$ sudo systemctl restart mariadb
-- phpMyAdminの導入
--- WebブラウザからDBを操作することが出来るようになるPHP...
--- httpd上に配備することで利用できる
--- 事前準備:必要なライブラリのインストール
$ sudo yum install php-mbstring
--- httpd再起動
$ sudo systemctl restart httpd
--- php-fpm再起動
$ sudo systemctl restart php-fpm
--- phpmyadminのダウンロード
$ wget https://www.phpmyadmin.net/downloads/phpMyAdmin-l...
--- 展開
$ sudo tar xvf phpMyAdmin-latest-all-languages.tar.gz -C...
--- リネーム
$ sudo mv /var/www/html/phpMyAdmin-5.0.2-all-languages /...
--- テンポラリディレクトリの作成
$ sudo mkdir /var/www/html/phpMyAdmin/tmp
$ sudo chown apache:apache /var/www/html/phpMyAdmin/tmp
--- 動作確認
http://IPアドレス/phpMyAdmin/
- Webアプリケーション公開
-- とりあえず試しにサンプルのWebアプリケーションをデプロ...
--- warファイルを/usr/share/tomcat/webapps/ に置くだけ
--- 中村先生作,なんちゃって5ch:Gohchan
--- https://github.com/KobeSpiral2020/AWS_HandsOn/blob/ma...
-- サーバへ転送
--- scp系ツールを利用 とりあえずホームディレクトリなどに...
-- データベース準備
--- Database作成 cs27ch
新規作成 → データベース名:cs27ch
--- Userの作成 spiral/spiral
特権 → ユーザアカウントを追加する
ユーザ名:spiral
パスワード:spiral
--- アクセス権限の設定
-- デプロイ
--- warファイルをwebapps以下に移動
$ sudo mv cs27ch.war /usr/share/tomcat/webapps/
--- 動作確認
http://IPアドレス:8080/cs27ch/
- EC2インスタンスの停止
-- AWSマネジメントコンソール
--- インスタンス→インスタンスの状態→停止(もしくは終了)
--- ※ec2インスタンスは終了すると消えてしまう(再利用不可)
- ※自動起動
systemctl enable サービス名
終了行:
[[第1回]]
* 2020年度の内容(古い) [#s150d384]
** AWSハンズオン [#dfdc73e1]
*** 目的 [#kd8c588b]
- AWSのEC2の基本的な操作が出来るようになる
- 今後アプリケーション開発を行う際にデプロイ先となるサー...
*** 内容 [#ac893f6a]
- EC2にWebアプリをデプロイできる環境を構築する
*** 手順 [#u0256e75]
- AWSにログイン
-- https://kspiral.signin.aws.amazon.com/console
--- ユーザ名:ks01~ks06
--- パスワード:wikiと同じ
- EC2でt2.microインスタンスを立ち上げる
-- すべてのサービスからEC2を選択
-- 【重要】 リージョンをアジアパシフィック (東京) ap-nor...
-- インスタンス→インスタンスの生成
-- ステップ 1: Amazon マシンイメージ (AMI)
--- Amazon Linux 2 AMI (HVM), SSD Volume Type (x86)
-- ステップ 2: インスタンスタイプの選択
--- t2.micro
-- ステップ 3: インスタンスの詳細の設定
--- 基本的には全てそのままで問題無い
-- ステップ 4: ストレージの追加
--- 標準(8Gib)でとりあえず
-- ステップ 5: タグの追加
--- タブを追加で キー: Name 値:TAROU(自分の名前)
-- ステップ 6: セキュリティグループの設定
--- 新しいセキュリティグループを作成する
--- セキュリティグループ名に名前を含んだ適当なものを 例...
-- ステップ 7: インスタンス作成の確認
--- 確認したら起動
-- キーペアの作成
--- 新しいキーペの作成→適当な名前
--- 【重要】キーペアは一度作成しダウンロードすると,二度...
-- インスタンスの作成
- リモート管理
-- SSHによる操作
--- 先ほどダウンロードした鍵を使用 or Webコンソールから利...
--- とりあえずログイン画面にも出るように,最新状態にアッ...
$ sudo yum update
-- Amazon Linuxについて
--- CentOS7をベースにAWSを利用する上で必要な様々なコマン...
--- 標準ユーザとして ec2-user が割り当てられている.(パ...
--- ※NICはVPCのアドレスを持っているのみで,グローバルIPは...
--- / 以下に全ての容量を割り当てられている
- Webサーバ構築
-- [[Apache httpd:http://www.apache.org/]]をインストール...
--- パッケージマネージャ yum を利用する
$ sudo yum install httpd
-- 起動
--- systemctlを利用し,登録済みサービス(httpd)を起動....
$ sudo systemctl start httpd
-- 接続確認(つながらない)
--- ブラウザで http://IPアドレス
-- セキュリティグループで80番ポートを開放する
-- 再度接続
--- Test Pageが見えたら成功
-- 公開HTMLの編集
--- /var/www/html 以下にファイルを置く.標準はindex.html
$ sudo vi /var/www/html/index.html
viが大変だったら,もちろんnanoとかでも問題ありません
- Webアプリケーションサーバ構築
-- tomcat(と動かすためのJava)のインストール
--- Amazon Linuxのための便利ツールで導入
$ sudo amazon-linux-extras install tomcat8.5
-- 起動
--- httpdと同様にsystemctlで
$ sudo systemctl start tomcat
-- セキュリティグループで8080番ポートを開放する
-- 接続確認
--- 標準では何もページが無いので404(page not found)が返っ...
http://IPアドレス:8080
-- ※静的ページの配置
--- /usr/share/tomcat/webapps/ 以下に ROOTというディレク...
$ sudo mkdir /usr/share/tomcat/webapps/ROOT
$ sudo vi /usr/share/tomcat/webapps/ROOT/index.html
-- ※JDKについて
--- AmazonはJDK11相当OpenJDKディストリビューションとして...
- DBサーバ構築
-- LAMP環境のインストール (MariaDB, PHP7)
--- amazon-linux-extrasを利用
$sudo amazon-linux-extras install lamp-mariadb10.2-php7.2
--- なぜか クライアント機能だけインストールされるのでサー...
$sudo yum install mariadb-server
-- 起動
--- systemctlを利用
$ sudo systemctl start mariadb
-- 初期設定
--- 初期設定用スクリプトを実行
$ sudo mysql_secure_installation
Enter current password for root (enter for none): (現...
Set root password? [Y/n] Y (rootのパスワードを設定する)
New password: spiral (パスワード)
Re-enter new password: spiral (パスワード再確認)
Remove anonymous users? [Y/n] Y (匿名ユーザを削除する...
Disallow root login remotely? [Y/n] Y (rootのリモート...
Remove test database and access to it? [Y/n] Y (テスト...
Reload privilege tables now? [Y/n] Y (設定を今有効にす...
--- デフォルト文字コード指定
$ sudo vi /etc/my.cnf.d/mariadb-server.cnf
[mysqld]セクション内に
character-set-server = utf8
-- 設定を有効化
--- 再起動
$ sudo systemctl restart mariadb
-- phpMyAdminの導入
--- WebブラウザからDBを操作することが出来るようになるPHP...
--- httpd上に配備することで利用できる
--- 事前準備:必要なライブラリのインストール
$ sudo yum install php-mbstring
--- httpd再起動
$ sudo systemctl restart httpd
--- php-fpm再起動
$ sudo systemctl restart php-fpm
--- phpmyadminのダウンロード
$ wget https://www.phpmyadmin.net/downloads/phpMyAdmin-l...
--- 展開
$ sudo tar xvf phpMyAdmin-latest-all-languages.tar.gz -C...
--- リネーム
$ sudo mv /var/www/html/phpMyAdmin-5.0.2-all-languages /...
--- テンポラリディレクトリの作成
$ sudo mkdir /var/www/html/phpMyAdmin/tmp
$ sudo chown apache:apache /var/www/html/phpMyAdmin/tmp
--- 動作確認
http://IPアドレス/phpMyAdmin/
- Webアプリケーション公開
-- とりあえず試しにサンプルのWebアプリケーションをデプロ...
--- warファイルを/usr/share/tomcat/webapps/ に置くだけ
--- 中村先生作,なんちゃって5ch:Gohchan
--- https://github.com/KobeSpiral2020/AWS_HandsOn/blob/ma...
-- サーバへ転送
--- scp系ツールを利用 とりあえずホームディレクトリなどに...
-- データベース準備
--- Database作成 cs27ch
新規作成 → データベース名:cs27ch
--- Userの作成 spiral/spiral
特権 → ユーザアカウントを追加する
ユーザ名:spiral
パスワード:spiral
--- アクセス権限の設定
-- デプロイ
--- warファイルをwebapps以下に移動
$ sudo mv cs27ch.war /usr/share/tomcat/webapps/
--- 動作確認
http://IPアドレス:8080/cs27ch/
- EC2インスタンスの停止
-- AWSマネジメントコンソール
--- インスタンス→インスタンスの状態→停止(もしくは終了)
--- ※ec2インスタンスは終了すると消えてしまう(再利用不可)
- ※自動起動
systemctl enable サービス名
ページ名: