ホーム > カテゴリ > Ruby・Ruby on Rails >

Apache/MariaDB/PHPとphpMyAdminのインストール [WSL/Ubuntu環境]

CentOSで各種サーバー構築(目次)

WSL(Windows Subsystem for Linux)のUbuntuにApache、MariaDB、PHPをインストールしてphpMyAdminを使用できるようにします。

1. Apacheのインストール

// Apacheのインストール
sudo apt-get install apache2

// サービスの開始
sudo service apache2 start

// サービスの停止
sudo service apache2 stop

// サービスのリスタート
sudo service apache2 restart

2. MariaDBをインストール

MariaDBの公式
https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage/#installing-packages-on-debian-and-ubuntu

// MariaDB
sudo apt-get install mariadb-server mariadb-client mariadb-backup

// リスタート
sudo service mysql restart

// 初期設定
sudo mysql_secure_installation

    // ルートの現在のパスワードを入力します
    Enter current password for root (enter for none):
    Enter   
   
    // unix_socket認証に切り替えますか?
    Switch to unix_socket authentication [Y/n]
    y

    // rootのパスワードを設定しますか?
    Set root password? [Y/n]
    y 
   
    // 匿名ユーザーを削除しますか?
    Remove anonymous users? [Y/n]
    y
   
    // リモートでrootログインを許可しないようにしますか? 
    Disallow root login remotely? [Y/n]
    y
   
    // テストデータベースを削除してアクセスしますか?
    Remove test database and access to it? [Y/n]
    y
   
    // 設定をすぐに反映するか? 
    Reload privilege tables now? [Y/n]
    y

WSLのUbuntu16.04だと「mysql -u root -p」でログインできません。ログインを試みると、次のようなエラーが発生します。

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

※WSL2のUbuntu18.04だとエラーはでません。

エラーが出た場合は、MariaDBで次のSQLを実行します。

// sudoを付与するとパスワードなしでログイン可能
sudo mysql -u root

use mysql;
update user set plugin='' where User='root';
flush privileges;

\q

これで「mysql -u root -p」でログインできるようになりますが、根本的な対策ではありませんのでご注意ください。

最新版にアップグレードする

私の環境ではServer version: 10.0.38-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04がインストールされました。

Rials6だと10.2.2以上が欲しいので、次で最新版にするのですが、以下は特に注意が必要です。上手くいかないとWSLをリセットする場合があります。

// 旧バージョンを停止・削除する
sudo service mysql stop
sudo apt-get remove mariadb-server mariadb-client mariadb-backup

// アップデート
sudo apt-get update
sudo apt-get upgrade 

// 実行指示されたコマンド
sudo apt autoremove #不要パッケージの削除

// 最新版にアップグレード
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo apt-get install mariadb-server mariadb-client mariadb-backup

// アップデート
sudo apt-get update
sudo apt-get upgrade 

// MariaDBの開始
sudo service mysql restart

// MariaDBにログイン
mysql -u root -p

Ruby on RailsでMariaDBを使用する場合

bundleを実行するとmysql2でエラーが発生します。

An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.

次のコマンドでlibmysqld-devをインストールすればOK

sudo apt-get install libmysqld-dev 

3. PHPのインストール

sudo apt-get install php php-mysql

sudo apt-get install libapache2-mod-php

sudo service apache2 restart

4. phpMyAdminのインストール

sudo apt-get install phpmyadmin

選択画面が表示されますので、apache2にマウスカーソルを合わせてスペースキーを押してからエンターキーを押します。後はYESで、次はphpMyAdminのパスワードを設定します。

5. phpMyAdminへログインする

http://localhost/phpmyadmin/

参考URL

Window10でLAMP (Fall Creators Update版) (Qiita)

WindowsでRails開発

Windows10でRuby on Railsの開発環境を構築 [WSL/Ubuntu環境]
Apache/MariaDB/PHP/phpMyAdminの構築[WSL/Ubuntu環境]
Apache + PassengerでRailsとPHPを共存する [WSL/Ubuntu環境]
MariaDBでRailsプロジェクトを作成する [WSL/Ubuntu環境]
Apache/MariaDBをOS起動時に自動起動させる [WSL/Ubuntu環境]
WSLが起動しない時の対処方法 [WSL/Ubuntu環境]





関連記事



公開日:2019年09月19日 最終更新日:2021年01月02日
記事NO:02777