2

在 Debian 7.3 上,我通过 ansible playbook 安装了 nginx、mysql、php-fpm。

正常情况下,通过安装 PHPMyAdmin 时

aptitiude install phpmyadmin

它需要数据库密码,并进行一些配置。

现在要通过 ansible 创建一个安装和配置 PHPMyAdmin 的游戏,我该怎么办?

更新

我写了一个安装phpmyadmin的剧本。在安装过程中,它需要数据库用户名、密码和自己的帐户。所以搜索后我发现,ansible中有一个名为的模块debconf,它可以处理安装过程中的一些问题。像这样:

tasks:
- name: debconf for pma
 debconf: name=phpmyadmin question='phpmyadmin/dbconfig-install' value='true' vtype='boolean'

- name: debconf for pma
 debconf: name=phpmyadmin question='phpmyadmin/app-password-confirm' value='{{mysql_root_pass}}' vtype='password'

- name: debconf for pma
 debconf: name=phpmyadmin question='phpmyadmin/mysql/admin-pass' value='{{mysql_root_pass}}' vtype='password'

- name: debconf for pma
 debconf: name=phpmyadmin question='phpmyadmin/mysql/app-pass' value='{{mysql_root_pass}}' vtype='password'

- name: debconf for pma
 debconf: name=phpmyadmin question='phpmyadmin/reconfigure-webserver' value='' vtype='multiselect'

- name: install pma
 apt: pkg=phpmyadmin state=present

- name: configure site
 file: path=/var/www/pma src=/usr/share/phpmyadmin state=link

现在我想了解更多?关于安装和配置过程,?

4

1 回答 1

7

谢谢大家。我发现了问题。我的问题的一部分出在 Mysql 安装手册上,而有些问题出在上面。都是这样的:

MySQL

tasks:
- name: installing MySQL server on server
  apt: pkg={{item}} update_cache=yes cache_valid_time=86400 state=present
  with_items:
  - python-mysqldb
  - mysql-server

- name: Start mysql service
  service: name=mysql state=started

- name: configuring root user pass and priveliges
  mysql_user: name=root host={{ item }} password={{ mysql_root_pass }} priv=*.*:ALL,GRANT
  with_items:
  - "{{ inventory_hostname }}"
  - 127.0.0.1
  - ::1
  - localhost

- name: copy root configurations file
  template: src=my.cnf dest=/root/.my.cnf owner=root mode=0600

而对于

PHPMyAdmin

tasks:
- name: debconf for pma
  debconf: name=phpmyadmin question='phpmyadmin/dbconfig-install' value='true' vtype='boolean'

- name: debconf for pma
  debconf: name=phpmyadmin question='phpmyadmin/app-password-confirm' value='{{mysql_root_pass}}' vtype='password'

- name: debconf for pma
  debconf: name=phpmyadmin question='phpmyadmin/mysql/admin-pass' value='{{mysql_root_pass}}' vtype='password'

- name: debconf for pma
  debconf: name=phpmyadmin question='phpmyadmin/mysql/app-pass' value='{{mysql_root_pass}}' vtype='password'

- name: debconf for pma
  debconf: name=phpmyadmin question='phpmyadmin/reconfigure-webserver' value='' vtype='multiselect'

- name: install pma
  apt: pkg=phpmyadmin state=present

- name: configure site
  file: path=/var/www/phpmyadmin src=/usr/share/phpmyadmin state=link
于 2014-05-06T04:24:59.410 回答