fanable / symfony-ansible
这将帮助您配置和维护服务器,以确保运行您的Symfony应用
Requires
- symfony/symfony: >=2.3.1
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应用的服务器的配置尽可能简单快捷。
需求
您应该在服务器上安装
如何使用它
-
在您的composer.json中要求fanable/symfony-ansible:
composer require --dev "fanable/symfony-ansible" -
在您的根目录中添加文件ansible.cfg,内容如下:
[defaults] hostfile = app/config/ansible/hosts roles_path = vendor/fanseble/symfony-ansible/roles
-
添加您的主机配置。对于vagrant,在
app/config/ansible/hosts中创建一个名为vagrant的文件[vagrant] vagrant ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 is_vagrant=true
-
添加您主机的特定变量。对于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 }}"
-
如果您已经安装了Ansible,现在可以运行您的配置
对于vagrant:vagrant provision
对于任何主机:ansible-playbook -i app/config/ansible/hosts/HOSTNAME vendor/fanseble/symfony-ansible/playbook.yml -u root。
针对Vagrant的附加步骤
-
您需要创建以下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
-
更改您的web/app_dev.php以允许远程连接。您可以复制/粘贴
loadClassCache(); $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send(); $kernel->terminate($request, $response);