File manager - Edit - /home/create_subdomain.sh
Back
#!/bin/ksh domain=$1 subdomain=$2 if [ "$domain" == "" ];then print -n "Name of domain? ( e.g.: proedge.hk ): ";read domain; print "" #domain=`echo $domain | sed "s/[^a-z|0-9|\-]//g;"` fi echo "" echo "Domain: $domain" echo "" if [ ! -d "/home/wwwroot/$domain" ];then echo "This seems the first time you create this domain...." sugg_owner=`echo $domain | awk -F "." '{print $1}'` print -n "Please enter username (e.g.: $sugg_owner ): ";read owner; print "" print -n "Please enter group (e.g.: $domain ): ";read group; print "" if [ ! `id -un $owner` ];then CURR_GID=`cat /etc/group | grep -i 200 | awk -F ":" '{print $(NF-1)}' | sort | tail -n 1` GID=`echo "$CURR_GID+1"|bc` /usr/sbin/groupadd -g $GID $domain NO_USERS=`grep -c $GID /etc/passwd` if [ $NO_USERS -gt 0 ];then CURR_UID=`cat /etc/passwd | grep -i $GID | awk -F ":" '{print $3}' | sort | tail -n 1` UID=`echo "$CURR_UID+1"|bc` else UID=`echo $GID*10+1` fi /usr/sbin/useradd -u $UID -g $GID --base-dir /home/wwwwroot $owner else group=`id -gn $owner` fi fi if [ "$subdomain" == "" ];then print -n "Name of subdomain? ( ?.$domain ): ";read subdomain; print "" #subdomain=`echo $subdomain | sed "s/[^a-z|0-9|\-]//g;` fi echo "" echo "Subdomain: $subdomain" echo "" domainalias="" echo -n "Any Alias? ( ?.$domain, separate by space ), press enter for none: ";read domainalias; print "" no_alias=`echo $domainalias | wc -w` if [ $no_alias -gt 1 ];then full_domainalias="" loop_count=0 while [[ $loop_count -lt $no_alias ]]; do (( loop_count +=1 )) full_domainalias="$full_domainalias `echo $domainalias | awk \"{print \\$$loop_count}\"`.$domain" done fi HTTP_CONF="/etc/httpd/conf.d/${subdomain}.$domain.conf" if [ ! -f $HTTP_CONF ];then mkdir -p /home/wwwroot/$domain/${subdomain}.$domain/public_html mkdir -p /home/wwwroot/$domain/${subdomain}.$domain/logs ownership=`ls -alh /home/wwwroot | grep $domain | awk '{print $3, $4}'` owner=`echo $ownership | awk '{print $1}'` group=`echo $ownership | awk '{print $2}'` chown -R $owner:$group /home/wwwroot/$domain/${subdomain}.$domain #echo "chown -R $owner:$group /home/wwwroot/$domain/${subdomain}.$domain" chmod -R 775 /home/wwwroot/$domain/${subdomain}.$domain /sbin/restorecon -RF /home/wwwroot/$domain/${subdomain}.$domain echo "<VirtualHost *:80>" > $HTTP_CONF echo "ServerName ${subdomain}.$domain" >> $HTTP_CONF echo "ServerAlias $full_domainalias" >> $HTTP_CONF echo "DocumentRoot /home/wwwroot/$domain/${subdomain}.$domain/public_html" >> $HTTP_CONF echo "DirectoryIndex index.html index.htm index.php index.php4 index.php5" >> $HTTP_CONF echo "ErrorLog /home/wwwroot/$domain/${subdomain}.$domain/logs/error_log" >> $HTTP_CONF echo "CustomLog /home/wwwroot/$domain/${subdomain}.$domain/logs/access_log combined" >> $HTTP_CONF echo "" >> $HTTP_CONF echo "<Directory /home/wwwroot/$domain/${subdomain}.$domain/public_html>" >> $HTTP_CONF echo "DirectoryIndex index.php index.htm index.html" >> $HTTP_CONF echo "Options -Indexes" >> $HTTP_CONF echo "AllowOverride All" >> $HTTP_CONF echo "Require all granted" >> $HTTP_CONF #echo "RUidGid $owner $group" >> $HTTP_CONF echo "</Directory>" >> $HTTP_CONF echo "</VirtualHost>" >> $HTTP_CONF /sbin/service httpd configtest if [ $? -eq 0 ];then /bin/systemctl restart httpd.service else echo "Error in configuration file!" exit 1 fi echo "" echo "Subdmain created successfully!" echo "" echo "To access it, browse http://${subdomain}.$domain" echo "Document Root is at /home/wwwroot/$domain/${subdomain}.$domain/public_html" else echo "Subdomain already exist!" exit 1 fi
| ver. 1.4 |
Github
|
.
| PHP 7.2.34 | Generation time: 0.72 |
proxy
|
phpinfo
|
Settings