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%B9mysqlamazon%20ec2apachemariadb
    

目次

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

    

関連記事

AWS Amplify で コンテナベースのデプロイを行い REST API を構築
検証した環境 やってみる 初期準備 パイプラインを確認 終了処理 参考 AWS Amplify で コンテナベースのデプロイを行い REST API を構築した際のメモです。 検証した環境 amplify 5.1.…

Pythonでソケット通信を実装しメッセージの送受信を行う
ソース server.py client.py 動かしてみる 参考 Pythonでソケット通信を実現する方法です。 ソース server.py サーバ側のソースです。 client.py…

PostfixでメールリレーしてMailHogで受信する開発用Dockerコンテナの構築
環境 Dockerイメージ作成 コンテナの起動 telnetで送信テスト phpで送信テスト Postfixのリレーを介して送信されたメールをMailHog(開発用SMTPサーバ)でキャッチするDocker開発環境を構築した際のメモです。 環境 Docker…

php-fpmのステータスページを表示 Apache & htaccess
試した環境 php-fpm の pm.status_path について php-fpmのconfの設定 .htaccess の設定 アクセスしてみる 参考にしたサイト Apache環境で php-fpm のステータスページを htaccess…

DBクライアントツールはDBeaverをおすすめしたい
DBeaver について 特徴 対応DB 対応OS 利用環境 アーカイブ インストール windows mac Linux コネクションの作成 SQLを実行する その他 CloudBeaverについて 今までいくつかのDB…

Homebrew で php7.4 + Xdebug をインストール
php7.4のインストール Xdebugのインストール php.ini に追記 参考にさせていただいたサイト phpunitのカバレッジを算出を行うためにMacにHomebrewでphp7.4をインストールしようとした際の記録です。 php7.…

CentOS で スマートにプロキシを設定する
コマンドライン上で通す よりスマートに設定する 設定ファイルに記述 CentOSでプロキシを通す設定のメモです。 プロキシ環境で yum/dnf でリポジトリを更新する場合や、curl/wget…

MySQL8.0 で利用できるパラメータを表示する方法
オプションの表示 mysql8.0でmy.cnfなどで利用できるパラメータ一覧を出す方法。 オプションの表示 オプションの表示は次のコマンドで実施できます mysqld — The MySQL Server 【MySQLパラメーター比較資料】MySQL 5.…

CentOS に MySQL8.0をインストールする
はじめに 環境 起動 MySQLインストール my.cnf の設定 プロセス立ち上げ エラー The designated data directory /var/lib/mysql/ is unusable. You can remove all files…

PHP-FPM(php7.4) Apache2.4 on Ubutnu20.04 Webサーバ構築
環境 パッケージの更新 Apache と PHP のインストール Apache のサービスを開始する PHPファイルを作成 参考にしたサイト Ubuntu20.04 に PHP7.4 + Apache2.4 をインストールしてWeb…

最新の投稿

Node.js で作成した REST API を Docker化
Node.jsでREST APIを作成 コンテナ化 コンテナ化定義 コンテナ化作業 参考 Node.js で作成した REST API を Docker化した際のメモです。 Node.jsでREST APIを作成 まずはNode.js…

JavaScriptで優先度付きキューを実装する
優先度付きキューについて ソース 参考 JavaScriptで優先度付きキュー (プライオリティキュー) を実装する 優先度付きキューについて 具体的には次のような機能があります。 キューに対して要素を優先度付きで追加 (push…

AWS Amplify で コンテナベースのデプロイを行い REST API を構築
検証した環境 やってみる 初期準備 パイプラインを確認 終了処理 参考 AWS Amplify で コンテナベースのデプロイを行い REST API を構築した際のメモです。 検証した環境 amplify 5.1.…

Pythonでソケット通信を実装しメッセージの送受信を行う
ソース server.py client.py 動かしてみる 参考 Pythonでソケット通信を実現する方法です。 ソース server.py サーバ側のソースです。 client.py…

next_permutationをJSで実装する
ソース 使い方 参考 C++で提供されている順列を生成する next_permutation のJS実装です。 ソース 順列が存在する場合はtrueを返し、そうでなければfalse…

応用情報技術者試験の合格体験記
受験時のステータス 受験結果 対策 スケジュール 午前問題 午後問題 参考書等 令和…

[JS]ラジアンから度数に度数からラジアンに変換する
コード 度数からラジアンへ ラジアンから度数へ サンプル ラジアンから度数に度数からラジアンに変換する際のスニペット。 コード 度数からラジアンへ ラジアンから度数へ サンプル

CentOS8 に Python + OpenCV をインストール
インストール テスト CentOS8 で標準で提供されているパッケージで Python + OpenCV 環境を構築する方法です。 検証した環境は CentOS8.3 (Docker) です。 インストール まず opencv…

[Perl] CentOS8 に plenv をインストール
インストール Step1 事前準備 Step2 PATHを通す (README通りにインストール) Step2 PATHを通す ($HOME以外にplenvをインストール) Step3 Perlインストール Step4 cpanmインストール CentOS…

JS/TSのclassでclass名を取得する
コード JS/TSのconstructorを利用して自分自身のクラス名を取得する際のメモ。 コード このコードの結果は次のようになります。

Tags

Dates

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