fanable/symfony-ansible

这将帮助您配置和维护服务器,以确保运行您的Symfony应用

安装: 26

依赖项: 0

建议者: 0

安全: 0

星星: 8

关注者: 2

分支: 1

开放问题: 2

语言:Shell

类型:provisioning

v1.0.2 2015-02-16 12:47 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:14:53 UTC


README

查看https://github.com/fansible/tywin以获取最新版本。

使用composer为Symfony项目提供Ansible配置

本项目旨在使运行一个Symfony应用的服务器的配置尽可能简单快捷。

需求

您应该在服务器上安装

如何使用它

  1. 在您的composer.json中要求fanable/symfony-ansible:composer require --dev "fanable/symfony-ansible"

  2. 在您的根目录中添加文件ansible.cfg,内容如下:

    [defaults] hostfile = app/config/ansible/hosts roles_path = vendor/fanseble/symfony-ansible/roles

  3. 添加您的主机配置。对于vagrant,在app/config/ansible/hosts中创建一个名为vagrant的文件

    [vagrant] vagrant ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 is_vagrant=true

  4. 添加您主机的特定变量。对于vagrant,在app/config/ansible/hosts/group_vars中创建一个名为vagrant的文件

    文件:app/config/ansible/hosts/group_vars/vagrant

    在此处编写特定于您主机的变量

    host_name: "vagrant-{{ name }}" web: server_name: "vagrant.project.com" iptables_allowed_tcp_ports: [22, 80, 443]

    mysql_users

    • name: "{{ name }}" host: "%" pass: "{{ name }}"
  5. 如果您已经安装了Ansible,现在可以运行您的配置

对于vagrant:vagrant provision

对于任何主机:ansible-playbook -i app/config/ansible/hosts/HOSTNAME vendor/fanseble/symfony-ansible/playbook.yml -u root

针对Vagrant的附加步骤

  1. 您需要创建以下Vagrantfile用于您的项目

    -- mode: ruby --

    vi: set ft=ruby

    TODO: 更改名称

    projectname = 'projectname'

    Vagrant.configure("2") do |config| config.vm.hostname = projectname config.vm.box = "ubuntu/trusty64"

    TODO: 更改目录

    config.vm.network :private_network, ip: "10.0.0.7"

    TODO: 更改目录

    config.vm.synced_folder "./", "/var/www/" + projectname + "/current", type: "nfs"

    config.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "--cpuexecutioncap", "100"] v.customize ["modifyvm", :id, "--memory", 2048] v.customize ["modifyvm", :id, "--cpus", 2] end

    config.ssh.forward_agent = true

    # Ansible see https://docs.vagrantup.com/v2/provisioning/ansible.html config.vm.provision "ansible" do |ansible| ansible.sudo = true ansible.playbook = "vendor/fanseble/symfony-ansible/playbook.yml" ansible.limit = 'vagrant' ansible.inventory_path = "app/config/ansible/hosts/vagrant" ansible.verbose = "v" #Use vvvv to get more log end end

  2. 更改您的web/app_dev.php以允许远程连接。您可以复制/粘贴

    loadClassCache(); $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send(); $kernel->terminate($request, $response);