を作成するにあたって覚えておきたいことのメモを残します♪
mysql_secure_installation と同等の処理
mysql_secure_installation の代替となる Ansible モジュールは存在しないため、次のページを参考に、行っている内容を再現しました。
確かめるために使ったコマンド
その際、確認のために次のコマンド、SQL 文を使用していました。
mysql -u root -p
show databases; select Host, User, Password from mysql.user;
mysql_secure_installation を Ansible プレイブックで再現した内容
- リモートからの root ログインを禁止するために、自ドメインを知る必要がある。そのために、hostname コマンドの結果を command モジュールを使用して得て、自ドメインからのアクセスを削除した。これによって、’localhost’, ‘127.0.0.1’, ‘::1’ 以外からのアクセスを受け付けないようにした。
- PostgreSQL と異なり、MariaDB はパスワード設定なしのユーザに、パスワードを指定してログインしようとするとエラーとなる。
よって、/root/.my.conf を作成した。これで初回でもそれ以降でも Ansible の mysql モジュールで login_password の指定が不要となり、冪等性も保つことがでた。
--- # mysql_secure_installation # Enter current password for root (enter for none): # Set root password? [Y/n] Y # New password: vagrant # Re-enter new password: vagrant # Remove anonymous users? [Y/n] Y # Disallow root login remotely? [Y/n] Y # Remove test database and access to it? [Y/n] Y # Reload privilege tables now? [Y/n] Y - name: Install python mysqldb module yum: name: MySQL-python state: latest - name: Set root password mysql_user: name: root host_all: yes password: "{{ mariadb_root_password }}" notify: Restart mariadb - name: Create /root/.my.cnf template: src: .my.cnf.j2 dest: /root/.my.cnf owner: root group: root mode: 0600 notify: Restart mariadb - name: Remove anonymous users mysql_user: name: '' host_all: yes state: absent notify: Restart mariadb - name: Get hostname command: hostname register: hostname changed_when: false failed_when: false - name: Disallow root login remotely mysql_user: name: root host: "{{ hostname.stdout }}" state: absent notify: Restart mariadb - name: Remove test database and access to it mysql_db: name: test state: absent notify: Restart mariadb
[client] user=root password={{ mariadb_root_password }}
phpMyAdmin について
- phpMyAdmin のインストールのために、事前に php-devel のインストールは不要だが、php パッケージのインストールは必要だった。
phpMyAdmin の httpd 設定ファイルの修正は、patch モジュールを使って施すようにしました。このとき、差分のパッチを作るコマンドは次を使いました。
cd /etc/httpd/conf.d/ diff -up phpMyAdmin.conf.org phpMyAdmin.conf > phpMyAdmin.conf.patch
設定ファイルの修正内容は、次のページを参考にしました。
おわりに
LEMP 環境のプレイブックを書きたいと考えています。今回は、MariaDB となります。
次は PHP 7 と Nginx に挑戦予定です♪
以上です。