Vagrant+ansible로 LAMP 환경 구축(4)

14725 단어 ansible-playbookPHP7

여기까지



Vagrant에서 CentOS7을 시작하고 ansible-playbook을 사용하여 LAMP 환경을 설치했습니다.

ansible-playbook을 실행하는 데 성공했지만 다음과 같은 문제가 있습니다.
  • PHP 버전이 오래되었습니다.
    → 이것은 단순히 표준 OS 버전을 설치했기 때문에 PHP7을 설치하도록 절차를 수정하면 해결해야합니다
  • php-mysql을 설치했는데 설치할 수 없습니까? (phpinfo에 pdo_mysql이 표시되지 않음)
    → 어쩌면 php-mysql을 설치 한 후 MariaDB를 삭제했기 때문에 의존성의 영향으로 함께 삭제되었습니다 ...?

  • 이번에는 첫 번째 PHP7에 해당합니다.
    두 가지 모두 해결되었으므로 내용을 정리합니다.

    PHP7 대응



    playbook 수정



    여기 을 참고로 playbook을 수정해 본다

    playbook.yml (발췌)
        - name: epel リポジトリ追加
          yum: name=https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
        - name: remi リポジトリ追加
          yum: name=https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    
        - name: PHP インストール
          yum: name={{item}}
          with_items:
            - php70w
            - php70w-mbstring
            - php70w-mysql
          notify:
            - restart httpd
    
        - name: PHPをタイムゾーンの設定
          replace: >
            dest=/etc/php.ini
            regexp="^;date\.timezone ="
            replace="date.timezone = Asia/Tokyo"
    

    playbook 실행



    MySQL 부분을 주석 처리 한 상태에서 playbook을 다시 실행하십시오.
    하지만 그 전에 vagrant의 이미지를 깨끗한 상태로 되돌리기 때문에,vagrant destroyvagrant up 한다
    PLAY ***************************************************************************
    
    TASK [setup] *******************************************************************
    ok: [10.0.0.5]
    
    TASK [OS 最新化] ******************************************************************
    changed: [10.0.0.5]
    
    TASK [DeveloperTool インストール] ****************************************************
    changed: [10.0.0.5]
    
    TASK [vim インストール] **************************************************************
    changed: [10.0.0.5]
    
    TASK [Apache インストール] ***********************************************************
    changed: [10.0.0.5]
    
    TASK [Apache 起動] ***************************************************************
    changed: [10.0.0.5]
    
    TASK [.htaccessを有効にする] *********************************************************
    changed: [10.0.0.5]
    
    TASK [epel リポジトリ追加] ************************************************************
    changed: [10.0.0.5]
    
    TASK [remi リポジトリ追加] ************************************************************
    changed: [10.0.0.5]
    
    TASK [PHP インストール] **************************************************************
    changed: [10.0.0.5] => (item=[u'php70w', u'php70w-mbstring', u'php70w-mysql'])
    
    TASK [PHPをタイムゾーンの設定] ***********************************************************
    changed: [10.0.0.5]
    
    RUNNING HANDLER [restart httpd] ************************************************
    changed: [10.0.0.5]
    
    PLAY RECAP *********************************************************************
    10.0.0.5                   : ok=12   changed=11   unreachable=0    failed=0   
    

    성공적으로 처리가 완료되었으므로 다시 info.php를 만들어 브라우저에서 확인해보십시오.



    PHP7 설치는 해결! !

    MySQL5.7 대응



    지금까지의 시점에서 phpinfo 의 내용을 확인하면(자) , 올바르게 pdo_mysql 가 들어가 있으므로 , 이 후에 mariadb-libs 를 삭제하고 있는 것이 역시 문제라고 생각된다

    따라서 설치 순서를 바꾸고 다시 실행해 봅니다.

    playbook 수정



    playbook.yml
    - hosts: DevServer1
      become: yes
      tasks:
        #
        # システム
        #
        - name: OS 最新化
          yum: name=* state=latest
    
        - name: DeveloperTool インストール
          yum: name="@Development tools"
    
        - name: vim インストール
          yum: name=vim
    
        #
        # MySQL 5.7
        #
        - name: MariaDB 削除
          yum: name=mariadb-libs state=removed
    
        - name: MySQL5.7 リポジトリ追加
          yum: name=http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm state=present
    
        - name: MySQL5.7 インストール
          yum: name=mysql-community-server
    
        - name: MySQL5.7 起動
          service: name=mysqld state=started enabled=yes
    
        #
        # Apache
        #
        - name: Apache インストール
          yum: name=httpd
    
        - name: Apache 起動
          service: name=httpd state=started enabled=yes
    
        - name: .htaccessを有効にする
          replace:
            dest=/etc/httpd/conf/httpd.conf
            regexp='AllowOverride None'
            replace='AllowOverride All'
          notify:
            - restart httpd
    
        #
        # PHP
        #
        - name: epel リポジトリ追加
          yum: name=https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm state=present
    
        - name: remi リポジトリ追加
          yum: name=https://mirror.webtatic.com/yum/el7/webtatic-release.rpm state=present
    
        - name: PHP インストール
          yum: name={{item}}
          with_items:
            - php70w
            - php70w-mbstring
            - php70w-mysql
          notify:
            - restart httpd
    
        - name: PHPをタイムゾーンの設定
          replace: >
            dest=/etc/php.ini
            regexp="^;date\.timezone ="
            replace="date.timezone = Asia/Tokyo"
    
      handlers:
        - name: restart httpd
          service: name=httpd state=restarted
    

    playbook 실행



    다시 vagrant destroyvagrant up 하고 playbook 실행
    PLAY ***************************************************************************
    
    TASK [setup] *******************************************************************
    ok: [10.0.0.5]
    
    TASK [OS 最新化] ******************************************************************
    changed: [10.0.0.5]
    
    TASK [DeveloperTool インストール] ****************************************************
    changed: [10.0.0.5]
    
    TASK [vim インストール] **************************************************************
    changed: [10.0.0.5]
    
    TASK [MariaDB 削除] **************************************************************
    changed: [10.0.0.5]
    
    TASK [MySQL5.7 リポジトリ追加] ********************************************************
    changed: [10.0.0.5]
    
    TASK [MySQL5.7 インストール] *********************************************************
    changed: [10.0.0.5]
    
    TASK [MySQL5.7 起動] *************************************************************
    changed: [10.0.0.5]
    
    TASK [Apache インストール] ***********************************************************
    changed: [10.0.0.5]
    
    TASK [Apache 起動] ***************************************************************
    changed: [10.0.0.5]
    
    TASK [.htaccessを有効にする] *********************************************************
    changed: [10.0.0.5]
    
    TASK [epel リポジトリ追加] ************************************************************
    changed: [10.0.0.5]
    
    TASK [remi リポジトリ追加] ************************************************************
    changed: [10.0.0.5]
    
    TASK [PHP インストール] **************************************************************
    changed: [10.0.0.5] => (item=[u'php70w', u'php70w-mbstring', u'php70w-mysql'])
    
    TASK [PHPをタイムゾーンの設定] ***********************************************************
    changed: [10.0.0.5]
    
    RUNNING HANDLER [restart httpd] ************************************************
    changed: [10.0.0.5]
    
    PLAY RECAP *********************************************************************
    10.0.0.5                   : ok=16   changed=15   unreachable=0    failed=0   
    

    제대로 작동하고 phpinfo에서도 pro_mysql이 표시되었습니다.
    MySQL에 적당한 DB, 테이블을 작성해, 거기에 대해서 SELECT 하는 샘플 소스를 구현해, 브라우저로부터 실행해 보면 데이터가 표시되었으므로, LAMP 환경의 구축은 일단 이것으로 완료로 한다

    좋은 웹페이지 즐겨찾기