Ubuntu18.04にApache MariaDB PHP7.2 をセットアップ

2019-07-29
amazon%20awsphplinuxubuntuwordpress%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9mysql%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83ec2apacheubuntu18.04mariadb
    

目次

AWS の EC2 の Ubuntu18.04 に Apache MariaDB PHP7.2 をセットアップした時のメモ。

概要

AWS の EC2 の Ubuntu18.04 に Apache MariaDB PHP7.2 をセットアップしました。 この時の一連の手順をまとめました。

環境情報

今回導入したアプリケーション等のバージョンはこちらになります。 Apache

$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2019-07-16T18:14:45

Ubuntu

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"

PHP

$ php -v
PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun  4 2019 14:48:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

MariaDB

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 51
Server version: 10.1.40-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

モジュール類の更新

モジュール類の更新を行います。 以下のコマンドで更新します。

$ sudo apt -y update
$ sudo apt -y upgrade

Apacheのインストール

Apacheのインストールを行います。

$ sudo apt -y install apache2

インストールが完了したら、Apacheを起動します。

$ sudo service apache2 start

起動がうまくいかなければメッセージが出てくると思います。 一応、ステータスを確認します。

$ sudo service apache2 status
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Sun 2019-07-28 22:06:25 JST; 31min ago
 Main PID: 9597 (apache2)
    Tasks: 7 (limit: 547)
   CGroup: /system.slice/apache2.service
           ├─ 9597 /usr/sbin/apache2 -k start
           ├─ 9603 /usr/sbin/apache2 -k start
           ├─ 9604 /usr/sbin/apache2 -k start
           ├─ 9605 /usr/sbin/apache2 -k start
           ├─ 9606 /usr/sbin/apache2 -k start
           ├─ 9607 /usr/sbin/apache2 -k start
           └─12096 /usr/sbin/apache2 -k start

Jul 28 22:06:25 ip-10-0-1-142 systemd[1]: Stopped The Apache HTTP Server.
Jul 28 22:06:25 ip-10-0-1-142 systemd[1]: Starting The Apache HTTP Server...
Jul 28 22:06:25 ip-10-0-1-142 systemd[1]: Started The Apache HTTP Server.

「running」と表示されました。

PHP7.2のインストール

インストール

次にPHPのインストールを行います。 とりあえず、最低限必要そうなものを入れておきます。

sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm php7.2-mysql php7.2-dev php7.2-mbstring php7.2-zip

インストールしたPHPを確認します。

$ which php
/usr/bin/php
$ php -v
PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun  4 2019 14:48:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

動作確認

DocumentRootディレクトリにPHPファイルを置いて動作確認します。 まず、パーミッションを変更します。

$ chown -R www-data:www-data

/var/www/html/index.php

<?php
phpinfo();

ブラウザから動いている確認します。 URLはhttp://${ipアドレス}/index.phpです。 phpinfo の画面が出ていれば正解です。

MariaDBのセットアップ

MariaDBのインストール

MariaDB サーバとクライアントをインストールします。

$ sudo apt install mariadb-server mariadb-client

次に、mysqlsecureinstallation で初期セットアップを行います。

$ sudo mysql_secure_installation

ここでは次のように入力しました。

Enter current password for root (enter for none): ${password}

Change the root password? [Y/n] Y
New password: ${password}
Re-enter new password: ${password}

Remove anonymous users? [Y/n] 

Disallow root login remotely? [Y/n] 

Remove test database and access to it? [Y/n] 

Reload privilege tables now? [Y/n] 

初期セットアップが完了しました。 ログインして確認してみます。

$ sudo mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 49
Server version: 10.1.40-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.01 sec)

MariaDB [(none)]>

データベースと作業用ユーザの作成

Webアプリを動かすのに必要な最低限のデータベースとユーザを作成します。

create user '${user}'@'localhost' identified by '${password}';
create database ${database};
grant SELECT, ALTER, INSERT, UPDATE, DELETE, CREATE, DROP on ${database}.* to '${database}'@'localhost';
FLUSH PRIVILEGES;

作成したらコンソールを一度終了し、再び作成したユーザでログインします。

mysql -u${user} -p${password} -hlocalhost ${database}

ログインできればMariaDBのセットアップの完了です。

参考

https://qiita.com/PallCreaker/items/0b02c5f42be5d1a14adb

https://geraldalinio.com/wordpress/install-wordpress-on-ubuntu-18-04-aws-ec2-beginner-tutorial/

https://qiita.com/cherubim1111/items/265cfbbe91adb44562d5

https://qiita.com/motofumi/items/b24c5c9e54363060a28f

https://qiita.com/seijikohara/items/f34753b2a783e03d7db4

    
s-yoshiki
s-yoshiki
githubtwitterqiita
Web作ってますが、インタラクティブなプログラミングも好きです。
JavaScript / Vue / node.js / PHP / AWS / OpenCV

関連記事

GitHub Actions で Gatsby をビルドし Amazon S3 にデプロイする
GitHub Actions について あらかじめ準備しておくもの AWS IAM ユーザを環境変数にセットする workflowの記述 ビルド バッジを利用する 終わりに 参考にしたところ Gatsbyで作った静的サイトを、GitHub Actions…

WordPressやめます Gatsbyに移行しました
これまでのWordPress運用 なぜWordPressを捨てるのか? なぜGatsbyを利用するのか? gatsbyについて WordPressから記事の救出 移行対象記事の抽出 記事の置換 Gatsbyテーマの作成 Gatsby…

WordPressのDBから記事データを抽出する
WordPressのDB関連図 公開記事一覧の取得 タグ・カテゴリの取得 サムネイルの取得 おまけ: PHPスクリプト化しました 参考にしたところ WordPressにため込んだデータMarkdown化しGatsby…

PHPerkaigi 2020 資料まとめ
資料 もっと気軽にOSSに Pull Requestを出そう!/ Let's make a PR to OSS more easily PHP で JVM を実装して、 HelloWorld を出力してみる Deep Module in PHP 磯野ー、MySQL…

Ansible で Docker に LAMP環境を構築するハンズオンを作った
リポジトリ リポジトリ構成 Docker構成 Ansible role の構成 プロビジョニングの実施 ansibleでdocker上にApache MariaDB PHP…

AWS BlackBeltを写経する EC2編
問われやすいサービス EC2 AWSサービス別資料 https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/ 問われやすいサービス EC2 Amazon EC2 (201…

Macでも利用できるDBクライアント MySQL PostgreSQL Oracle など
デスクトップ系ツール TablePlus DBeaver MySQL Workbench Sequel pro Webアプリケーション phpMyAdmin Adminer 参考 Macで利用できるDB (MySQL PostgreSQL Oracle…

DockerでMySQL5.1.73を利用する。docker-composeから起動
Dockerのインストールから実行まで docker-compose から起動 詳細 Docker から MySQL 5.1.73 を利用する。 Dockerのインストールから実行まで docker imageの pull。 119MB…

phpMyAdminをDockerで起動する設定
docker-compose の設定 phpMyAdminのコンテナイメージ GitHub phpMyAdminはPHPで実装されているMySQLの管理ツールです。サーバに配置しブラウザから操作するのが特徴です。このphpMyAdminをdocker…

Proxy環境下でcurlを実行する
コマンドオプションで設定する 環境変数に設定する curlrc に記述する おまけ: curlのオプション Proxy (プロキシ) 環境下でcurl…

最新の投稿

GitHub Actions で Gatsby をビルドし Amazon S3 にデプロイする
GitHub Actions について あらかじめ準備しておくもの AWS IAM ユーザを環境変数にセットする workflowの記述 ビルド バッジを利用する 終わりに 参考にしたところ Gatsbyで作った静的サイトを、GitHub Actions…

cloudinaryによる画像ファイルの管理 はじめてみる
目的 cloudinary について 他のサービスとの比較 料金プラン アカウントの登録 利用してみる ダッシュボード 画像の編集 APIベースでのアクセス 感想 参考 画像の管理や配信、さらには加工といった事ができるsaas型のcloud…

JavaScriptによる2分探索(バイナリサーチ) のサンプルコード
2分探索について ソース 参考 JavaScriptで2分探索(バイナリサーチ)を実装してみました。…

Vue.jsで作成された、ちょっと面白くて役立ちそうなサービス
UIコンポーネント VueSocial CKEditor 5 Vue.Draggable Vuetable 2 vuejs-datepicker Kalendar Vue Apexcharts Vue.js Google Charts vue-cart WebIDE…

GitHubのリポジトリをGitLabに同期する GitLabのミラーリング機能
GitLabのミラーリングについて GitHubのリポジトリをGitLabに反映する その他 参考 GitLabのミラーリング機能によりGitHubなどの外部のリポジトリとのミラーリングを行うことができます。 これを使ってGitHub…

WordPressやめます Gatsbyに移行しました
これまでのWordPress運用 なぜWordPressを捨てるのか? なぜGatsbyを利用するのか? gatsbyについて WordPressから記事の救出 移行対象記事の抽出 記事の置換 Gatsbyテーマの作成 Gatsby…

WordPressのDBから記事データを抽出する
WordPressのDB関連図 公開記事一覧の取得 タグ・カテゴリの取得 サムネイルの取得 おまけ: PHPスクリプト化しました 参考にしたところ WordPressにため込んだデータMarkdown化しGatsby…

ハイフンとかマイナスとかダッシュとか

Firebase + Nuxt で認証付きページを作るときに参考にしたいところ
Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 Service Worker によるセッション管理 ユーザー セッションの管理 Nuxt.jsとFirebaseでSPA×SSR×PWA×サーバーレスを実現する CookieとセッションとJWT SSR…

GolangをCGIとして実行する
環境 golang パッケージ ソースと実行 ビルドとサーバ実行 標準ライブラリのみ Golang を CGIとして実行する際のメモ 環境 golang パッケージ 以下のモジュールを利用しています。 github.com/gorilla/mux…

Tags

Dates

© 2020   404 motivation not found