0

我正在编写一个脚本来在我的计算机上设置新项目,

我想做的一件事是让它自动为我设置虚拟主机。

文件本身很简单

该文件应该被调用<project>.testfox.dev.conf并且应该包含

<VirtualHost *:80>
DocumentRoot "/var/www/work/<project>"
ServerName <project>.testfox.dev
<Directory "/var/www/work/<project>">
allow from all
Options +Indexes
</Directory>
ErrorLog /var/log/apache2/<project>.error.log
LogLevel error
TransferLog /var/log/apache2/<project>.access.log
</VirtualHost>

我想知道的是,我应该在我的脚本中包含该代码并将其逐行写入文件,还是应该在我复制的站点可用文件夹中有一个虚拟文件,然后搜索替换占位符?

4

2 回答 2

4

最灵活的方法是将其作为模板(作为单独的文件或 HEREDOC),逐行编写会使以后很难修改。

HEREDOC 方法更容易实现,因为您可以使用变量插值:

cat >$PROJECT.testfox.dev.conf <<EOF

<VirtualHost *:80>
DocumentRoot "/var/www/work/$PROJECT"
ServerName $PROJECT.testfox.dev
<Directory "/var/www/work/$PROJECT">
allow from all
Options +Indexes
</Directory>
ErrorLog /var/log/apache2/$PROJECT.error.log
LogLevel error
TransferLog /var/log/apache2/$PROJECT.access.log
</VirtualHost>
EOF
于 2013-02-27T13:04:19.207 回答
1

两者都是可行的方法。

如果您想修改它,使用它作为模板可以使其更容易和更易读。但是将其保存在 bash 脚本中作为此处的文档也可以。

最后,这取决于您的喜好。

于 2013-02-27T12:59:50.700 回答