mirror of
https://github.com/friendica/friendica
synced 2025-04-26 13:50:11 +00:00
Move dev executables from util/ to bin/dev/
This commit is contained in:
parent
59d42e9681
commit
2d9f32c3df
6 changed files with 1 additions and 1 deletions
177
bin/dev/vagrant_vhost.sh
Executable file
177
bin/dev/vagrant_vhost.sh
Executable file
|
@ -0,0 +1,177 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Run this as sudo!
|
||||
# I move this file to /usr/local/bin/vhost and run command 'vhost' from anywhere, using sudo.
|
||||
|
||||
#
|
||||
# Show Usage, Output to STDERR
|
||||
#
|
||||
function show_usage {
|
||||
cat <<- _EOF_
|
||||
|
||||
Create a new vHost in Ubuntu Server
|
||||
Assumes /etc/apache2/sites-available and /etc/apache2/sites-enabled setup used
|
||||
|
||||
-d DocumentRoot - i.e. /var/www/yoursite
|
||||
-h Help - Show this menu.
|
||||
-s ServerName - i.e. example.com or sub.example.com
|
||||
-a ServerAlias - i.e. *.example.com or another domain altogether
|
||||
-p File path to the SSL certificate. Directories only, no file name.
|
||||
If using an SSL Certificate, also creates a port :443 vhost as well.
|
||||
This *ASSUMES* a .crt and a .key file exists
|
||||
at file path /provided-file-path/your-server-or-cert-name.[crt|key].
|
||||
Otherwise you can except Apache errors when you reload Apache.
|
||||
Ensure Apache's mod_ssl is enabled via "sudo a2enmod ssl".
|
||||
-c Certificate filename. "xip.io" becomes "xip.io.key" and "xip.io.crt".
|
||||
|
||||
Example Usage. Serve files from /var/www/xip.io at http(s)://192.168.33.10.xip.io
|
||||
using ssl files from /etc/ssl/xip.io/xip.io.[key|crt]
|
||||
sudo vhost -d /var/www/xip.io -s 192.168.33.10.xip.io -p /etc/ssl/xip.io -c xip.io
|
||||
|
||||
_EOF_
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Output vHost skeleton, fill with userinput
|
||||
# To be outputted into new file
|
||||
#
|
||||
function create_vhost {
|
||||
cat <<- _EOF_
|
||||
<VirtualHost *:80>
|
||||
ServerAdmin webmaster@localhost
|
||||
ServerName $ServerName
|
||||
$ServerAlias
|
||||
|
||||
DocumentRoot $DocumentRoot
|
||||
|
||||
|
||||
<Directory $DocumentRoot>
|
||||
Options Indexes FollowSymLinks MultiViews
|
||||
AllowOverride All
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
|
||||
ErrorLog \${APACHE_LOG_DIR}/$ServerName-error.log
|
||||
|
||||
# Possible values include: debug, info, notice, warn, error, crit,
|
||||
# alert, emerg.
|
||||
LogLevel warn
|
||||
|
||||
CustomLog \${APACHE_LOG_DIR}/$ServerName-access.log combined
|
||||
|
||||
|
||||
</VirtualHost>
|
||||
_EOF_
|
||||
}
|
||||
|
||||
function create_ssl_vhost {
|
||||
cat <<- _EOF_
|
||||
<VirtualHost *:443>
|
||||
ServerAdmin webmaster@localhost
|
||||
ServerName $ServerName
|
||||
$ServerAlias
|
||||
|
||||
DocumentRoot $DocumentRoot
|
||||
|
||||
<Directory $DocumentRoot>
|
||||
Options Indexes FollowSymLinks MultiViews
|
||||
AllowOverride All
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
|
||||
ErrorLog \${APACHE_LOG_DIR}/$ServerName-error.log
|
||||
|
||||
# Possible values include: debug, info, notice, warn, error, crit,
|
||||
# alert, emerg.
|
||||
LogLevel warn
|
||||
|
||||
CustomLog \${APACHE_LOG_DIR}/$ServerName-access.log combined
|
||||
|
||||
SSLEngine on
|
||||
|
||||
SSLCertificateFile $CertPath/$CertName.crt
|
||||
SSLCertificateKeyFile $CertPath/$CertName.key
|
||||
|
||||
<FilesMatch "\.(cgi|shtml|phtml|php)$">
|
||||
SSLOptions +StdEnvVars
|
||||
</FilesMatch>
|
||||
|
||||
BrowserMatch "MSIE [2-6]" \\
|
||||
nokeepalive ssl-unclean-shutdown \\
|
||||
downgrade-1.0 force-response-1.0
|
||||
# MSIE 7 and newer should be able to use keepalive
|
||||
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
|
||||
</VirtualHost>
|
||||
_EOF_
|
||||
}
|
||||
|
||||
#Sanity Check - are there two arguments with 2 values?
|
||||
if [ "$#" -lt 4 ]; then
|
||||
show_usage
|
||||
fi
|
||||
|
||||
CertPath=""
|
||||
|
||||
#Parse flags
|
||||
while getopts "d:s:a:p:c:h" OPTION; do
|
||||
case $OPTION in
|
||||
h)
|
||||
show_usage
|
||||
;;
|
||||
d)
|
||||
DocumentRoot=$OPTARG
|
||||
;;
|
||||
s)
|
||||
ServerName=$OPTARG
|
||||
;;
|
||||
a)
|
||||
Alias=$OPTARG
|
||||
;;
|
||||
p)
|
||||
CertPath=$OPTARG
|
||||
;;
|
||||
c)
|
||||
CertName=$OPTARG
|
||||
;;
|
||||
*)
|
||||
show_usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# If alias is set:
|
||||
if [ "$Alias" != "" ]; then
|
||||
ServerAlias="ServerAlias "$Alias
|
||||
else
|
||||
ServerAlias=""
|
||||
fi
|
||||
|
||||
# If CertName doesn't get set, set it to ServerName
|
||||
if [ "$CertName" == "" ]; then
|
||||
CertName=$ServerName
|
||||
fi
|
||||
|
||||
if [ ! -d $DocumentRoot ]; then
|
||||
mkdir -p $DocumentRoot
|
||||
#chown USER:USER $DocumentRoot #POSSIBLE IMPLEMENTATION, new flag -u ?
|
||||
fi
|
||||
|
||||
if [ -f "$DocumentRoot/$ServerName.conf" ]; then
|
||||
echo 'vHost already exists. Aborting'
|
||||
show_usage
|
||||
else
|
||||
create_vhost > /etc/apache2/sites-available/${ServerName}.conf
|
||||
|
||||
# Add :443 handling
|
||||
if [ "$CertPath" != "" ]; then
|
||||
create_ssl_vhost >> /etc/apache2/sites-available/${ServerName}.conf
|
||||
fi
|
||||
|
||||
# Enable Site
|
||||
cd /etc/apache2/sites-available/ && a2ensite ${ServerName}.conf
|
||||
service apache2 reload
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue