2016-04-22 25 views
0

我有一个问题。我终于找到了如何更改apache的根目录。我只需编辑这行代码DocumentRoot /var/www/html,但由于流浪者是惊人的,并有这条规定的脚本,我认为我可以从这里告诉Apache根目录。 因为想一想,如果我每次做一个新网站都可以使用这个规定脚本,这将节省我很多时间。我不会喜欢去的配置文件,每一次改变它我的规定文件中的Apache根目录

新增:

这是我提供的脚本现在的样子:

#!/usr/bin/env bash 

PROJECT="foundation" 
PROJECT_LOG="foundation" 

MYSQL_PASSWORD="wachtwoord" 

set -o nounset -o errexit -o pipefail -o errtrace 

error() { 
    local sourcefile=$1 
    local lineno=$2 
    echo "ERROR at ${sourcefile}:${lineno}; Last logs:" 
    grep "${PROJECT}" /var/log/syslog | tail -n 20 
} 

trap 'error "${BASH_SOURCE}" "${LINENO}"' ERR 

oe() { "[email protected]" 2>&1 | logger -t "${PROJECT}" > /dev/null; } 
ol() { echo "[${PROJECT_LOG}] [email protected]"; } 

export DEBIAN_FRONTEND=noninteractive 

ol 'Updating repository caches' 
oe sudo apt-get -q -y update 

ol 'Adding apt repositories' 
oe sudo apt-get -q -y install python-software-properties 
oe sudo add-apt-repository ppa:ondrej/php5-5.6 

ol 'Updating repository caches (second time)' 
oe sudo apt-get -q -y update 

ol "Installing misc packages" 
oe sudo apt-get -q -y install language-pack-nl 

ol 'Installing Apache 2' 
oe sudo apt-get -q -y install apache2 
oe sudo systemctl restart apache2 
oe sudo systemctl status apache2 

ol "Installing PHP" 
oe sudo apt-get -q -y install php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xcache 


debconf-set-selections <<< 'phpmyadmin phpmyadmin/dbconfig-install boolean true' 
debconf-set-selections <<< 'phpmyadmin phpmyadmin/app-password-confirm password ${MYSQL_PASSWORD}' 
debconf-set-selections <<< 'phpmyadmin phpmyadmin/mysql/admin-pass password ${MYSQL_PASSWORD}' 
debconf-set-selections <<< 'phpmyadmin phpmyadmin/mysql/app-pass password ${MYSQL_PASSWORD}' 
debconf-set-selections <<< 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2' 

ol "Installing PHPmyadmin" 
apt-get install -y phpmyadmin 

# Make Composer available globally 
ln -s /etc/phpmyadmin/apache.conf /etc/apache2/sites-enabled/phpmyadmin.conf 



ol 'Installing Sendmail' 
oe sudo apt-get -q -y install sendmail 

ol 'Restarting Apache 2' 
oe sudo systemctl restart apache2 
oe sudo systemctl status apache2 

ol "Installing MySQL" 
oe sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password ${MYSQL_PASSWORD}" 
oe sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password ${MYSQL_PASSWORD}" 
oe sudo apt-get -q -y install mysql-server mysql-client 
oe sudo systemctl restart mysql 
oe sudo systemctl status mysql 

回答

1

你可以用sed命令打使文件的替代品,像

sed -i "s/DocumentRoot.*/DocumentRoot <your new path>" <path to httpd/apache2.conf> 

PS一句:

  • -i使您的文件
  • 的DocumentRoot的备份*将取代所有开头的行的DocumentRoot(不通过心脏记得如果有开始的DocumentRoot多行。在这种情况下,做出正确的模式,而不是通配符)
  • ,如果你在你的新路径有/,确保使用\/

其他选项(可能多一点简单)是推新在/etc/apache2/conf-enabled/目录与您的特定环境下的conf文件,如果你有其他设置,如VirtualHost或其他会使其更简单

+0

感谢这有助于 – Kevin

+0

SED -i“/DocumentRoot.*/DocumentRoot在/ var/WWW/“对不起,我是初学者,但这就是我所做的。 – Kevin

+0

哦我的不好我忘了sed中的一个重要部分第一个参数必须是** sd -i“s/DocumentRoot。*/RootDocument \/var \/www /”/ etc/apache2/sites-available/000- default.conf' –

相关问题