Facilitar a configuração de projetos PHP
| julho 30th, 2009Resolvi criar um simples script para facilitar a configuração de projetos PHP, a cada vez que eu ia começar 1, era necessário eu criar um novo virtual host, adicionar no hosts o alias do ip, restartar apache, etc…
Então fiz um script simples, realmente simples em PHP para executar por linha de comando PHP-CLI, vou deixar a disposição para alguém que queria:
create-project.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | < ?php /* * Template of virtual host */ $template = "<VirtualHost *:80>\n"; $template .= "ServerName {$argv[1]}\n"; $template .= "DocumentRoot {$argv[2]}\n"; $template .= "<directory {$argv[2]}>\n"; $template .= " Options Indexes FollowSymLinks MultiViews\n"; $template .= " AllowOverride All\n"; $tempalte .= " Order allow,deny\n"; $template .= " allow from all\n"; $template .= "</directory>\n"; $template .= "ErrorLog /var/log/apache2/{$argv[1]}_error.log\n"; $template .= " LogLevel warn\n"; $template .= " CustomLog /var/log/apache2/{$argv[1]}_access.log combined\n"; $template .= ""; $template .= "\n"; echo $template; $file = fopen("/etc/apache2/sites-available/{$argv[1]}", 'x'); fwrite($file, $template); fclose($file); exec("ln -s /etc/apache2/sites-available/{$argv[1]} /etc/apache2/sites-enabled/{$argv[1]}"); $file = fopen("/etc/hosts", 'a+'); fwrite($file, "127.0.0.1 {$argv[1]}\n"); fclose($file); exec('/etc/init.d/apache2 restart'); echo 'Created with success the config for: ', $argv[1]; ?> |
Para usar basta executar como root:
sudo php create-project.php nome_projeto /var/diretorio/
E pronto, ele criara o vhost, insere no hosts o alias, aponta o vhost para o diretório indicado e restarta o apache.
Ele funciona no Ubuntu linux, não testei em outras distros, e provavelmente possa não funcionar.