我正在寻找方法,以建立一个基本的网站迅速。
我有一个基本的网站,与数据库,模板,css,js等一起工作。不,我想要能够迅速地建立一个网站。当我开始写剧本时,应该发生的事情是:
H 19根据默认dbH 210H 111将新站点添加到vhost文件H 212H 113重新启动apacheH 214H 115将新站点添加到我的主机文件H 216H 117在浏览器中启动基本站点。>
创建这个脚本的最佳方法是什么?我怎样才能做到这一点?
发布于 2009-06-12 12:51:05
这是一个完整的(未经测试的)黑客,它做的是你说的。如果您对php很满意,那么就使用它。伪脚本:
#!/usr/bin/env php
<?php
echo "Site setup v0.0\n";
if($argc != 2){
echo "Usage:\n script sitename\n";
}
//set vars
$sitename = $argv[1];
$src_folder = "/path/to/some/folder";
$template_db ="template_site";
//copy files
`mkdir $sitename`;
`cp -R $src_folder $sitename`;
//copy template db
$dblink = mysql_connect("localhost");
if(!mysql_query($dblink, "CREATE DATABASE site_$sitename; USE site_$sitename;"))exit(-1);
$r = mysql_query($dblink, "SHOW TABLES FROM $template_db");
while($row = mysql_fetch_array($r)){
$table = $row[0];
mysql_query($dblink, "CREATE TABLE $table AS SELECT $template_db.$table");
}
//conf and restart apache
$f = fopen("httpd.conf","a");//open for append
fwrite("<VirtualHost $sitename> bla bla </VirtualHost>");
fclose($f);
`sudo apachectl -k restart`; //you'll be asked for a password here
//open in browser
`open http://$sitename/`; //on mac anyway...
?>使文件可执行
chmod +x filename记住,要在当前文件夹中运行脚本,需要添加./。喜欢
./scriptname sitename还请注意斜线引号` <-它们启动一个shell命令。第一条线叫做谢邦线(是的,就像那支80年代的旧乐队,或者是什么……)并告诉shell要使用什么来执行文件。(Env是一个实用程序,它可以找到其他程序,在本例中是php。如果您想在php有不同安装位置的系统中运行脚本,那么很好。)
另外,请注意,这个脚本只是伪代码-它不工作!在修改之前不要运行它!
发布于 2009-06-12 12:00:30
这是您必须在服务器上做的事情,这样您就可以使用您喜欢的任何语言。它只是关于复制文件、在文件中附加文本和执行一些shell命令。
发布于 2009-06-12 12:09:36
这取决于您所使用的操作系统,如果您使用Linux,您可以创建一个简单的脚本来完成这个任务,它基本上应该包含一系列的命令来设置它。
#!/bin/sh
mkdir /var/www/sitename
cp -au /var/www/skeleton/* /var/www/newfolder
etcetera.然后,您可以通过使用一些参数从命令行运行脚本来启动它。
./initiatesite.sh newsite.com数据库名添加您想要的任何参数。
有关将参数传递给shell脚本的更多信息:http://osr600doc.sco.com/en/SHL_automate/_Passing_to_shell_script.html
https://stackoverflow.com/questions/986242
复制相似问题