Ubuntu/Ubuntu VirtualHost batch script
From Mana zināšanu grāmata
nano /opt/createVirtualHost.sh
chmod a+x /opt/createVirtualHost.sh
chmod a+x /opt/createVirtualHost.sh
#!/bin/bash
read -p "Please enter sitename: " SITENAME
mkdir /var/www/$SITENAME/ /var/www/$SITENAME/htdocs/ /var/www/$SITENAME/logs/
cat > /var/www/$SITENAME/htdocs/index.html <<- _EOF_
<HTML>
<HEAD>
<TITLE>$SITENAME</TITLE>
</HEAD>
<BODY>
$SITENAME
</BODY>
</HTML>
_EOF_
cat > /etc/apache2/sites-available/$SITENAME.conf <<- _EOF_
<VirtualHost *:80>
ServerAdmin administrator@$SITENAME
ServerName $SITENAME
#ServerAlias www.$SITENAME
DocumentRoot /var/www/$SITENAME/htdocs/
<Directory />
Options +FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/$SITENAME/htdocs>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /var/www/$SITENAME/cgi-bin/
<Directory "/var/www/$SITENAME/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/$SITENAME/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/www/$SITENAME/logs/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options +Indexes +MultiViews +FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
_EOF_
chown -R www-data:www-data /var/www/$SITENAME
chmod -R 775 /var/www/$SITENAME
read -p "Please enter sitename: " SITENAME
mkdir /var/www/$SITENAME/ /var/www/$SITENAME/htdocs/ /var/www/$SITENAME/logs/
cat > /var/www/$SITENAME/htdocs/index.html <<- _EOF_
<HTML>
<HEAD>
<TITLE>$SITENAME</TITLE>
</HEAD>
<BODY>
$SITENAME
</BODY>
</HTML>
_EOF_
cat > /etc/apache2/sites-available/$SITENAME.conf <<- _EOF_
<VirtualHost *:80>
ServerAdmin administrator@$SITENAME
ServerName $SITENAME
#ServerAlias www.$SITENAME
DocumentRoot /var/www/$SITENAME/htdocs/
<Directory />
Options +FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/$SITENAME/htdocs>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /var/www/$SITENAME/cgi-bin/
<Directory "/var/www/$SITENAME/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/$SITENAME/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/www/$SITENAME/logs/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options +Indexes +MultiViews +FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
_EOF_
chown -R www-data:www-data /var/www/$SITENAME
chmod -R 775 /var/www/$SITENAME
a2ensite $SITENAME.conf
service apache2 reload
service apache2 reload
