- hosts: all user: root tasks: - name: コンポーザのインストール shell: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin creates=/usr/local/bin/composer tags: composer - name: 名前変更 composer.phar → composer command: mv /usr/local/bin/composer.phar /usr/local/bin/composer creates=/usr/local/bin/composer tags: composer - name: 実行権限を付ける file: path=/usr/local/bin/composer mode=a+x state=file tags: composer - name: コンポーザのアップデート command: composer self-update - name: laravel フレームワークインストール command: composer global require "laravel/installer=~1.1"
ansible-playbook laravel.yml -i hosts -k -vvv -c paramiko
laravelについてはここら辺を参照
]]>全パッケージを最新にして SELinux を無効にするプレイブック。後ろのやつで include している。
最初に一回やれば OK なので、直接実行して、後ろのプレイブックでコメントアウトしても OK。
subUpdateAndSelinuxOff.yml
--- - name: 全パッケージをアップデート yum: name=* state=latest - name: SELinux を無効にする command: setenforce 0 - replace: dest=/etc/sysconfig/selinux regexp="SELINUX *= *enforcing" replace="SELINUX=disabled"
lamp.yml
# Centos7での lamp の設定 # 常に最新の状態にする # mysqlエンジンは maria-db - hosts: all user: root tasks: - include: subUpdateAndSelinuxOff.yml - name: EPELをインストールして、無効にしておく yum: name=epel-release state=latest - copy: src=/etc/yum.repos.d/epel.repo dest=/etc/yum.repos.d/epel.repo.org follow=no - replace: dest=/etc/yum.repos.d/epel.repo regexp="enabled *= *1" replace="enabled=0" - name: apache, php インストール yum: name={{item}} state=latest with_items: - httpd - mariadb-server - php - php-mbstring - php-mysql - name: phpmyadmin インストール yum: name=phpmyadmin state=latest enablerepo=epel - name: httpポートを空ける command: firewall-cmd --add-service=http --zone=public --permanent - command: firewall-cmd --reload - name: httpd.confの修正 shell: >- c='/etc/httpd/conf/httpd.conf' && k='' && t='AllowOverride None' && s='/None$/' && r='All' && mv $c $c.backup && awk "/$k/{f=1} f==1&&/$t/{sub($s,\"$r\"); f=0} 1" $c.backup > $c - name: php config action: ini_file dest=/etc/php.ini section=Date option=date.timezone value=Asia/Tokyo mode=0644 - name: 有効化+実行 service: name={{item}} state=running enabled=yes with_items: - mariadb - httpd # # vi /etc/httpd/conf.d/phpMyAdmin.conf # Require ip 接続するIPアドレス(例:172.16.0) を追加しないと外部から接続できない。 # # /usr/bin/mysql_secure_installation を実行して mariadb の設定をする(対話型) # 最初に聞かれる root パスワードは root ログインのパスワードではなくそのままリターンするのが正解 # DBに接続するために設定した root のパスワードは忘れない事 # # それが終わったら httpd をリスタート # systemctl restart mariadb # systemctl restart httpd
以下の様に実行する。
ansible-playbook lamp.yml -i hosts -k -vvv -c paramiko
後は (yes/no)? の部分でリターンを押すだけ。
処理が終わったら、最後のコメントの部分を手動で実行する。
でも、これだと標準で入る PHP のバージョンが5.4.16。laravel4.2 は使えるけれど
laravel5 の動作要件は PHP 5.5.9 以上なので使えないね。
OSが Ubuntu で Webサーバが nginx で良いなら Homestead を使うという手もあるらしい。
Homestead