Mitesh Shah
12 years ago
13 changed files with 0 additions and 1416 deletions
@ -1,3 +0,0 @@ |
|||
info.php |
|||
config.php |
|||
latest.zip |
@ -1,640 +0,0 @@ |
|||
# Easy Engine Site Settings |
|||
elif [ "$1" = "site" ] |
|||
then |
|||
|
|||
# Easy Engine Read |
|||
if [ "$2" = "read" ] |
|||
then |
|||
|
|||
if [ "$3" = "available" ] |
|||
then |
|||
|
|||
# Display The List Of Available Sites |
|||
echo -e "\033[34m List Of Available Websites \e[0m" |
|||
ls /etc/nginx/sites-available/ \ |
|||
|| OwnError "Unable To Display The List Of Available Websites" |
|||
|
|||
elif [ "$3" = "enabled" ] |
|||
then |
|||
|
|||
# Display The List Of Enabled Sites |
|||
echo -e "\033[34m List Of Enabled Websites \e[0m" |
|||
ls /etc/nginx/sites-enabled/ \ |
|||
|| OwnError "Unable To Display The List Of Enabled Websites" |
|||
|
|||
elif [ "$3" != "all" ] && [ "$3" != "active" ] && [ -n "$3" ] |
|||
then |
|||
|
|||
# Check The Website Is Exist |
|||
ls /etc/nginx/sites-available/$3 &> /dev/null \ |
|||
|| OwnError "The $3 Is Not Found In Available Websites List" |
|||
if [ $? -eq 0 ] |
|||
then |
|||
|
|||
# Display The Specific Site Configuration |
|||
echo -e "\033[34m Display The $3 Configuration Settings \e[0m" |
|||
cat /etc/nginx/sites-available/$3 \ |
|||
|| OwnError "Unable To Display The $3 Configuration Settings" |
|||
fi |
|||
|
|||
else |
|||
EngineHelp |
|||
|
|||
fi |
|||
|
|||
|
|||
# Easy Engine Create |
|||
elif [ "$2" = "create" ] |
|||
then |
|||
|
|||
if [ -n "$3" ] |
|||
then |
|||
|
|||
# Remove http:// https:// & www. |
|||
DOMAIN=$(echo $3 | tr 'A-Z' 'a-z' | sed "s'http://''" | sed "s'https://''" | sed "s'www.''") |
|||
|
|||
# Creating Site |
|||
echo -e "\033[34m Creating $DOMAIN, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/singlesite/basic.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Create Configuration File For $DOMAIN" |
|||
|
|||
# Creating Symbolic Link |
|||
echo -e "\033[34m Creating Symbolic Link \e[0m" |
|||
ln -s /etc/nginx/sites-available/$DOMAIN /etc/nginx/sites-enabled/ \ |
|||
|| OwnError "Unable To Create Symbolic Link For $DOMAIN" |
|||
|
|||
# Take Nginx Configuration In Git Version Control |
|||
EEGITDIR=/etc/nginx |
|||
EEGITMESSAGE="Created New Website $DOMAIN" |
|||
EEGITCOMMIT |
|||
|
|||
# Creating Htdocs & Logs Directory |
|||
echo -e "\033[34m Creating htdocs & logs Directory \e[0m" |
|||
(mkdir -p /var/www/$DOMAIN/htdocs; mkdir -p /var/www/$DOMAIN/logs) \ |
|||
|| OwnError "Unable To Create htdocs & logs Directory" |
|||
|
|||
# Creating Symbolic Links For Logs |
|||
echo -e "\033[34m Creating Symbolic Link For Logs \e[0m" |
|||
ln -s /var/log/nginx/$DOMAIN.access.log /var/www/$DOMAIN/logs/access.log \ |
|||
&& ln -s /var/log/nginx/$DOMAIN.error.log /var/www/$DOMAIN/logs/error.log \ |
|||
|| OwnError "Unable To Create Symbolic Link For $DOMAIN Logs" |
|||
|
|||
|
|||
if [ "$4" = "--with-wordpress" ] |
|||
then |
|||
|
|||
# Download Latest Wordpress |
|||
echo -e "\033[34m Downloading WordPress \e[0m" |
|||
wget -cO /var/www/$DOMAIN/htdocs/latest.tar.gz \ |
|||
http://wordpress.org/latest.tar.gz |
|||
|
|||
# Extracting Wordpress |
|||
tar --strip-components=1 -zxf /var/www/$DOMAIN/htdocs/latest.tar.gz \ |
|||
-C /var/www/$DOMAIN/htdocs/ |
|||
|
|||
# Removing Wordpress Archive |
|||
rm /var/www/$DOMAIN/htdocs/latest.tar.gz |
|||
|
|||
# Call MYSQLINFO Function For MySQL Values |
|||
MYSQLINFO |
|||
|
|||
# Modify wp-config.php & Move Outside The Webroot |
|||
cp -v /var/www/$DOMAIN/htdocs/wp-config-sample.php \ |
|||
/var/www/$DOMAIN/wp-config.php |
|||
|
|||
sed -i "s/database_name_here/$WPDBNAME/" \ |
|||
/var/www/$DOMAIN/wp-config.php |
|||
|
|||
sed -i "s/username_here/$MYSQLUSER/" \ |
|||
/var/www/$DOMAIN/wp-config.php |
|||
|
|||
sed -i "s/password_here/$MYSQLPASS/" \ |
|||
/var/www/$DOMAIN/wp-config.php |
|||
|
|||
sed -i "s/localhost/$MYSQLHOST/" \ |
|||
/var/www/$DOMAIN/wp-config.php |
|||
|
|||
sed -i "s/wp_/$WPDBPREFIX/" \ |
|||
/var/www/$DOMAIN/wp-config.php |
|||
|
|||
printf '%s\n' "g/put your unique phrase here/d" \ |
|||
a "$(curl -L https://api.wordpress.org/secret-key/1.1/salt/)" . w \ |
|||
| ed -s /var/www/$DOMAIN/wp-config.php |
|||
|
|||
fi |
|||
|
|||
# Call NGINXUSERINFO Function For NGINX User Details |
|||
NGINXUSERINFO |
|||
|
|||
# Change Ownership |
|||
echo -e "\033[34m Changing Ownership \e[0m" |
|||
#echo $NGINXUSER $DOMAIN |
|||
chown -R $NGINXUSER:$NGINXUSER /var/www/$DOMAIN/ |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Start PHP-FPM If Not Running |
|||
PHPSTART |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m http://$DOMAIN Domain Successfully Created \e[0m" |
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
|
|||
# Easy Engine Update |
|||
elif [ "$2" = "update" ] |
|||
then |
|||
|
|||
if [ -n "$3" ] |
|||
then |
|||
|
|||
# Remove http:// https:// & www. |
|||
DOMAIN=$(echo $3 | tr 'A-Z' 'a-z' | sed "s'http://''" | sed "s'https://''" | sed "s'www.''") |
|||
|
|||
# Make Backup Directory For Storing Older Nginx Configurations |
|||
if [ ! -d /etc/nginx/sites-available/backups/ ] |
|||
then |
|||
mkdir -p /etc/nginx/sites-available/backups/ |
|||
fi |
|||
|
|||
if [ "$4" = "singlesite" ] |
|||
then |
|||
|
|||
if [ "$5" = "w3total" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For W3TotalCache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/singlesite/w3-total-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Installing W3 Total Cache |
|||
cd /var/www/$DOMAIN/htdocs/ |
|||
wp plugin install w3-total-cache || OwnError "Unable To Install W3 Total Cache Plugin" |
|||
|
|||
# Activate W3 Total Cache |
|||
wp plugin activate w3-total-cache || OwnError "Unable To Activate W3 Total Cache Plugin" |
|||
|
|||
# Call NGINXUSERINFO Function For NGINX User Details |
|||
NGINXUSERINFO |
|||
|
|||
# Give Ownership To $NGINXUSER |
|||
chown -R $NGINXUSER:$NGINXUSER /var/www/$DOMAIN/ |
|||
|
|||
# Display W3 Total Cache URL For Settings |
|||
echo -e "\033[34m Please Configure W3 Total Cache Settings \e[0m" |
|||
echo -e "\033[34m W3 Total Cache: http://$DOMAIN/wp-admin/admin.php?page=w3tc_general \e[0m" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
elif [ "$5" = "wpsuper" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For WPSuperCache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/singlesite/wp-super-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Installing WP Super Cache |
|||
cd /var/www/$DOMAIN/htdocs/ |
|||
wp plugin install wp-super-cache || OwnError "Unable To Install WP Super Cache Plugin" |
|||
|
|||
# Activate WP Super Cache |
|||
wp plugin activate wp-super-cache || OwnError "Unable To Activate WP Super Cache Plugin" |
|||
|
|||
# Call NGINXUSERINFO Function For NGINX User Details |
|||
NGINXUSERINFO |
|||
|
|||
# Give Ownership To $NGINXUSER |
|||
chown -R $NGINXUSER:$NGINXUSER /var/www/$DOMAIN/ |
|||
|
|||
# Display W3 Total Cache URL For Settings |
|||
echo -e "\033[34m Please Configure WP Super Cache Settings \e[0m" |
|||
echo -ne "\033[34m WP Super Cache:\e[0m" |
|||
echo -e "\033[34m http://$DOMAIN/wp-admin/options-general.php?page=wpsupercache \e[0m" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
elif [ "$5" = "fastcgi" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For Fastcgi Cache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/singlesite/fastcgi-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Installing Nginx Helper |
|||
cd /var/www/$DOMAIN/htdocs/ |
|||
wp plugin install nginx-helper || OwnError "Unable To Install Nginx Helper" |
|||
|
|||
# Activate Nginx Helper |
|||
wp plugin activate nginx-helper || OwnError "Unable To Activate Nginx Helper Plugin" |
|||
|
|||
# Call NGINXUSERINFO Function For NGINX User Details |
|||
NGINXUSERINFO |
|||
|
|||
# Give Ownership To $NGINXUSER |
|||
chown -R $NGINXUSER:$NGINXUSER /var/www/$DOMAIN/ |
|||
|
|||
# Display W3 Total Cache URL For Settings |
|||
echo -e "\033[34m Please Configure Nginx Helper Settings \e[0m" |
|||
echo -e "\033[34m Nginx Helper: http://$DOMAIN/wp-admin/options-general.php?page=nginx \e[0m" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
|
|||
elif [ "$4" = "multisite" ] |
|||
then |
|||
|
|||
# Presetup For WordPress MU |
|||
sed -i "/WP_DEBUG/a \define('WP_ALLOW_MULTISITE', true);" /var/www/$DOMAIN/wp-config.php |
|||
sed -i "/WP_ALLOW_MULTISITE/a \define('WPMU_ACCEL_REDIRECT', true);" /var/www/$DOMAIN/wp-config.php |
|||
|
|||
if [ "$5" = "subdomain" ] |
|||
then |
|||
|
|||
# Configure Network Setup |
|||
echo -e "\033[34m Please Open Following URL & Click On Sub-Domains & Install \e[0m" |
|||
echo -e "\033[34m Configure Network Setup: http://$DOMAIN/wp-admin/network.php \e[0m" |
|||
echo -e "\033[34m Press Enter, Once You Setup Network: \e[0m" |
|||
read |
|||
|
|||
# Add Rules In wp-config.php gile |
|||
sed -i "/WPMU_ACCEL_REDIRECT/a \define('MULTISITE', true);\n\ |
|||
define('SUBDOMAIN_INSTALL', true);\n\ |
|||
\$base = '/';\n\ |
|||
define('DOMAIN_CURRENT_SITE', '$DOMAIN');\n\ |
|||
define('PATH_CURRENT_SITE', '/');\n\ |
|||
define('SITE_ID_CURRENT_SITE', 1);\n\ |
|||
define('BLOG_ID_CURRENT_SITE', 1);\n" /var/www/$DOMAIN/wp-config.php |
|||
|
|||
# Make Blogs.Dir |
|||
mkdir /var/www/$DOMAIN/htdocs/wp-content/blogs.dir |
|||
|
|||
# Call NGINXUSERINFO Function For NGINX User Details |
|||
NGINXUSERINFO |
|||
|
|||
# Give Ownership To NGINXUSER |
|||
chown -R $NGINXUSER:$NGINXUSER /var/www/$DOMAIN/htdocs/wp-content/blogs.dir |
|||
|
|||
if [ "$6" = "basic" ] |
|||
then |
|||
|
|||
# Installing Nginx Helper |
|||
cd /var/www/$DOMAIN/htdocs/ |
|||
wp plugin install nginx-helper || OwnError "Unable To Install Nginx Helper" |
|||
|
|||
# Activate Nginx Helper |
|||
wp plugin activate nginx-helper || OwnError "Unable To Activate Nginx Helper Plugin" |
|||
|
|||
# Call NGINXUSERINFO Function For NGINX User Details |
|||
NGINXUSERINFO |
|||
|
|||
# Give Ownership To $NGINXUSER |
|||
chown -R $NGINXUSER:$NGINXUSER /var/www/$DOMAIN/ |
|||
|
|||
# Display W3 Total Cache URL For Settings |
|||
echo -e "\033[34m Please Configure Nginx Helper Settings \e[0m" |
|||
echo -e "\033[34m Please Open Following URL & Click Enable Map \e[0m" |
|||
echo -ne "\033[34m Nginx Helper:\e[0m" |
|||
echo -e "\033[34m http://$DOMAIN/wp-admin/options-general.php?page=nginx \e[0m" |
|||
echo -e "\033[34m Press Enter, Once You Setup Nginx Helper Plugin: \e[0m" |
|||
read |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For Basic WPMU, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdomain/basic.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
|
|||
elif [ "$6" = "w3total" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For W3TotalCache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdomain/w3-total-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
|
|||
elif [ "$6" = "wpsuper" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For WPSuperCache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdomain/wp-super-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
|
|||
elif [ "$6" = "fastcgi" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For Fastcgi Cache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdomain/fastcgi-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
|
|||
elif [ "$5" = "subdirectory" ] |
|||
then |
|||
# Configure Network Setup |
|||
echo -e "\033[34m Please Open Following URL & Click On Sub-Directories & Install \e[0m" |
|||
echo -e "\033[34m Configure Network Setup: http://$DOMAIN/wp-admin/network.php \e[0m" |
|||
echo -e "\033[34m Press Enter, Once You Setup Network: \e[0m" |
|||
read |
|||
|
|||
# Add Rules In wp-config.php gile |
|||
sed -i "/WPMU_ACCEL_REDIRECT/a \define('MULTISITE', true);\n\ |
|||
define('SUBDOMAIN_INSTALL', false);\n\ |
|||
\$base = '/';\n\ |
|||
define('DOMAIN_CURRENT_SITE', '$DOMAIN');\n\ |
|||
define('PATH_CURRENT_SITE', '/');\n\ |
|||
define('SITE_ID_CURRENT_SITE', 1);\n\ |
|||
define('BLOG_ID_CURRENT_SITE', 1);\n" /var/www/$DOMAIN/wp-config.php |
|||
|
|||
# Make Blogs.Dir |
|||
mkdir /var/www/$DOMAIN/htdocs/wp-content/blogs.dir |
|||
|
|||
# Call NGINXUSERINFO Function For NGINX User Details |
|||
NGINXUSERINFO |
|||
|
|||
# Give Ownership To NGINXUSER |
|||
chown -R $NGINXUSER:$NGINXUSER /var/www/$DOMAIN/htdocs/wp-content/blogs.dir |
|||
|
|||
if [ "$6" = "basic" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For Basic WPMU, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdir/basic.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
|
|||
elif [ "$6" = "w3total" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For W3TotalCache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdir/w3-total-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
|
|||
elif [ "$6" = "wpsuper" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For WPSuperCache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdir/wp-super-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
|
|||
elif [ "$6" = "fastcgi" ] |
|||
then |
|||
|
|||
# Taking Backup |
|||
mv /etc/nginx/sites-available/$DOMAIN \ |
|||
/etc/nginx/sites-available/backups/$DOMAIN.$(date +%d%m%Y.%H%M%S) |
|||
|
|||
# Updating Site |
|||
echo -e "\033[34m Updating $DOMAIN For Fastcgi Cache, Please Wait... \e[0m" |
|||
sed "s/example.com/$DOMAIN/g" \ |
|||
/usr/share/easyengine/nginx/multisite/subdir/fastcgi-cache.conf \ |
|||
> /etc/nginx/sites-available/$DOMAIN \ |
|||
|| OwnError "Unable To Update Configuration File For $DOMAIN" |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m Nginx Configuration For $DOMAIN Is Successfully Updated \e[0m" |
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
|
|||
# Easy Engine Delete |
|||
elif [ "$2" = "delete" ] |
|||
then |
|||
|
|||
if [ -n "$3" ] |
|||
then |
|||
|
|||
# Remove http:// & www. |
|||
DOMAIN=$(echo $3 | sed "s'http://''" | sed "s'www.''") |
|||
|
|||
# Delete Site |
|||
echo -e "\033[34m Deleting $DOMAIN, Please Wait... \e[0m" |
|||
rm /etc/nginx/sites-available/$DOMAIN /etc/nginx/sites-enabled/$DOMAIN |
|||
|
|||
# Remove Symbolic Links For Logs Files |
|||
echo -e "\033[34m Remove Symbolic Link For $DOMAIN Logs... \e[0m" |
|||
rm /var/www/$DOMAIN/logs/{access,error}.log |
|||
|
|||
if [ "$4" = "--database" ] |
|||
then |
|||
|
|||
# Get The Database Details |
|||
MYSQLUSER=$(grep DB_USER /var/www/$DOMAIN/wp-config.php \ |
|||
| cut -d"'" -f4) |
|||
|
|||
MYSQLPASS=$(grep DB_PASSWORD /var/www/$DOMAIN/wp-config.php \ |
|||
| cut -d"'" -f4) |
|||
|
|||
WPDBNAME=$(grep DB_NAME /var/www/$DOMAIN/wp-config.php \ |
|||
| cut -d"'" -f4) |
|||
|
|||
# Remove Database |
|||
echo -e "\033[34m Removing Database $WPDBNAME... \e[0m" |
|||
mysql -u $MYSQLUSER -p$MYSQLPASS -e "drop database \`$WPDBNAME\`" \ |
|||
|| OwnError "Unable To Drop $WPDBNAME Database" |
|||
|
|||
elif [ "$4" = "--webroot" ] |
|||
then |
|||
|
|||
# Remove Webroot For $DOMAIN |
|||
echo -e "\033[34m Removing /var/www/$DOMAIN Directory... \e[0m" |
|||
rm -rf /var/www/$DOMAIN/ |
|||
|
|||
elif [ "$4" = "--all" ] |
|||
then |
|||
|
|||
# Get The Database Details |
|||
MYSQLUSER=$(grep DB_USER /var/www/$DOMAIN/wp-config.php \ |
|||
| cut -d"'" -f4) |
|||
|
|||
MYSQLPASS=$(grep DB_PASSWORD /var/www/$DOMAIN/wp-config.php \ |
|||
| cut -d"'" -f4) |
|||
|
|||
WPDBNAME=$(grep DB_NAME /var/www/$DOMAIN/wp-config.php \ |
|||
| cut -d"'" -f4) |
|||
|
|||
# Remove Database |
|||
echo -e "\033[34m Removing Database $WPDBNAME... \e[0m" |
|||
mysql -u $MYSQLUSER -p$MYSQLPASS -e "drop database \`$WPDBNAME\`" \ |
|||
|| OwnError "Unable To Drop $WPDBNAME Database" |
|||
|
|||
# Remove Webroot For $DOMAIN |
|||
echo -e "\033[34m Removing /var/www/$DOMAIN Directory... \e[0m" |
|||
rm -rf /var/www/$DOMAIN |
|||
|
|||
else |
|||
EngineHelp |
|||
|
|||
fi |
|||
|
|||
# Reload Nginx Configuration |
|||
NGINXRELOAD |
|||
|
|||
# Display Success Message |
|||
echo -e "\033[34m http://$DOMAIN Successfully Deleted \e[0m" |
|||
|
|||
else |
|||
EngineHelp |
|||
fi |
|||
|
|||
|
|||
# Easy Engine Help |
|||
else |
|||
EngineHelp |
|||
fi |
@ -1,39 +0,0 @@ |
|||
<?php |
|||
|
|||
/** |
|||
* local environment values |
|||
*/ |
|||
$local_env['host'] = '191.168.1.199'; #ip of machine, this will be added to nginx config |
|||
$local_env['webroot'] = '/var/www'; #all websites will go hear |
|||
$local_env['htdocs'] = 'htdocs'; #name of directory which will act as document-root for a site |
|||
$local_env['logs'] = 'logs'; #name of directory which will store log files for a site |
|||
|
|||
$local_env['nginx_dir'] = '/etc/nginx'; #nginx conf dir |
|||
$local_env['nginx_user'] = 'www-data'; #nginx user |
|||
$local_env['nginx_group'] = 'www-data'; #nginx group |
|||
|
|||
$local_env['nginx_dir_sites_avilable'] = '/etc/nginx/sites-available'; #sites-avaialble |
|||
$local_env['nginx_dir_sites_enabled'] = '/etc/nginx/sites-enabled'; #sites-enable |
|||
|
|||
$local_env['default_conf'] = 'example.com'; #example configuration for wordpress |
|||
$local_env['default_domain'] = 'example.com'; #default domain in example.com |
|||
|
|||
$local_env['mysql_host'] = 'localhost'; #mysql host |
|||
$local_env['mysql_user'] = 'USER'; #mysql user |
|||
$local_env['mysql_pass'] = 'PASS'; #mysql pass |
|||
|
|||
$local_env['wp_latest'] = 'latest.zip'; #latest WordPress zip file |
|||
|
|||
|
|||
/** |
|||
* remote env - in scenario where you want to use move.php |
|||
* assumes - (1) remote DB allows remote connection |
|||
* (2) nginx & sites directory-structure is same |
|||
*/ |
|||
$remote_env['webroot'] = '/var/www'; //remote webroot - assuming similar directory sturcture |
|||
$remote_env['host'] = 'REMOTE_DBHOST'; //this is |
|||
$remote_env['ssh_user'] = 'REMOTE_DBUSER'; |
|||
$remote_env['ssh_pass'] = 'REMOTE_DBPASS'; |
|||
|
|||
|
|||
?> |
@ -1,158 +0,0 @@ |
|||
<?php |
|||
/* |
|||
CREATE A SITE WITH WORDPRESS |
|||
*/ |
|||
|
|||
include_once('init.php'); |
|||
|
|||
/** |
|||
* prompt user to eneter domain name |
|||
*/ |
|||
|
|||
echo "Enter a domain name which needs to be migrated...\n"; |
|||
$usr_domain = (trim(fgets(STDIN))); |
|||
echo "You have entered :: $usr_domain \n"; |
|||
|
|||
/* |
|||
* Set domain environment values |
|||
*/ |
|||
|
|||
$domain['name'] = $usr_domain; |
|||
$domain['conf'] = $local_env['nginx_dir_sites_avilable'] . '/' . $domain['name'] ; |
|||
$domain['rootdir'] = $local_env['webroot'] . '/' . $domain['name'] ; |
|||
$domain['htdocs'] = $domain['rootdir'] . '/' . $local_env['htdocs'] ; |
|||
$domain['logs'] = $domain['rootdir'] . '/' . $local_env['logs'] ; |
|||
|
|||
|
|||
/** |
|||
* Check if domain config file already exists |
|||
*/ |
|||
if (file_exists($domain['conf'])) { |
|||
echo "\nConfiguration files for domain '" . $domain['name'] . "'already exists :: " . $domain['conf']; |
|||
echo "\nDo you want to overwrite previous configuration? [Y/N] (default=Y)"; |
|||
|
|||
if (in_array(strtolower(fgets(STDIN)), array('n', 'no'))) { |
|||
die("\nYou choose to terminate this script! Bye-Bye!!! \n"); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* At this point - either domain config file doesn't exist or user showed interest in overwriting it |
|||
* In either case... |
|||
* Create nginx conf for $domain in /etc/nginx/sites-available/$domain |
|||
* TODO :: Provide options to add supercache and/or w3total cache rules |
|||
*/ |
|||
/** |
|||
* Create config file |
|||
*/ |
|||
$nginx_conf = file_get_contents($local_env['default_conf']); |
|||
$nginx_conf = str_replace($local_env['default_domain'], $domain['name'], $nginx_conf); |
|||
file_put_contents($domain['conf'], $nginx_conf); |
|||
|
|||
//Error Check - if config file is created successfully or not |
|||
if (!file_exists($domain['conf'])) { |
|||
die("\nError encountered while creating " . $domain['conf']); |
|||
} |
|||
|
|||
/** |
|||
* Linking config file |
|||
*/ |
|||
echo "\nCreating Symbolic Link..\n"; |
|||
$command = "sudo ln -s " . $domain['conf'] . " " . $local_env['nginx_dir_sites_enabled']; |
|||
$result = system($command); |
|||
|
|||
//Error check - if linking config file succeed |
|||
if ($result != '') { |
|||
die("\nError encountered while creating script. Please check if file '" . $domain['conf'] . "'is created or not!\n"); |
|||
} |
|||
|
|||
//Go Ahead. |
|||
echo "Nginx configuration for '" . $domain['name'] . "' is created successfully"; |
|||
|
|||
/** |
|||
* Create webroot dirs for new domain |
|||
*/ |
|||
//create dirs |
|||
$result = system("mkdir " . $domain['rootdir']); |
|||
$result = system("mkdir " . $domain['htdocs']); |
|||
$result = system("mkdir " . $domain['logs']); |
|||
|
|||
//create log files |
|||
//in nginx folder |
|||
$result = system("touch " . "/var/log/nginx/" . $domain['name'] . ".access.log"); |
|||
$result = system("touch " . "/var/log/nginx/" . $domain['name'] . ".error.log"); |
|||
|
|||
//symlink |
|||
$result = system("ln -s " . "/var/log/nginx/" . $domain['name'] . ".access.log " . $domain['logs'] . "/access.log"); |
|||
$result = system("ln -s " . "/var/log/nginx/" . $domain['name'] . ".error.log " . $domain['logs'] . "/error.log"); |
|||
|
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while creating websites directories & files for " . $domain['name'] . "\n"); |
|||
} |
|||
|
|||
/** |
|||
* extract wordpress in new webroot dir |
|||
*/ |
|||
$command = "unzip -q -o " . $local_env['wp_latest'] . " -d " . $domain['htdocs'] . " > /dev/null"; |
|||
$result = system($command); |
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while extracting latest wordpress in directory " . $domain['rootdir'] . "\n"); |
|||
} |
|||
|
|||
$command = "mv " . $domain['htdocs'] . "/wordpress/* " . $domain['htdocs'] . "/"; |
|||
echo "\n COMMAND :: $command \n"; |
|||
$result = system($command); |
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while moving latest wordpress in directory " . $domain['rootdir'] . "\n" . $result); |
|||
} |
|||
|
|||
/** |
|||
* MySQL Creation |
|||
*/ |
|||
|
|||
$command = "mysql -h " . $local_env['mysql_host'] . " -u " . $local_env['mysql_user'] . " -p" . $local_env['mysql_pass'] . " -e 'create database `'" . $domain['name'] . "'` '"; |
|||
$result = system($command); |
|||
|
|||
/* |
|||
* Create wp-config.php |
|||
*/ |
|||
$wp_config_sample = $domain['htdocs'] . "/wp-config-sample.php"; |
|||
|
|||
$command = "sed s/database_name_here/{$domain['name']}/ $wp_config_sample | sed s/username_here/{$local_env['mysql_user']}/ | sed s/password_here/{$local_env['mysql_pass']}/ > {$domain['htdocs']}/wp-config.php"; |
|||
|
|||
$result = system($command); |
|||
|
|||
/** |
|||
* Chown |
|||
*/ |
|||
$command = "chown -R " . $local_env['nginx_user'] . ":" . $local_env['nginx_group'] . " " . $domain['rootdir']; |
|||
echo "\n COMMAND :: $command \n"; |
|||
$result = system($command); |
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while charging owner of " . $domain['rootdir'] . "\n" . $result); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* ALL SEENS WELL - Restart nginx |
|||
*/ |
|||
echo "\n Relaoding nginx configuration...\n\n"; |
|||
system('service nginx reload'); |
|||
|
|||
/** |
|||
* THE END |
|||
*/ |
|||
//just echo URL for new domain like http://$domain |
|||
//user will click it and verify if its working fine! ;-) |
|||
|
|||
echo $domain['name'] . " Successfully created\n\n"; |
|||
|
|||
?> |
@ -1,22 +0,0 @@ |
|||
server{ |
|||
server_name www.example.com example.com; |
|||
|
|||
access_log /var/log/nginx/example.com.access.log ; |
|||
error_log /var/log/nginx/example.com.error.log; |
|||
|
|||
root /var/www/example.com/htdocs; |
|||
index index.php index.html index.htm; |
|||
|
|||
## PHP with FATSCGI |
|||
location ~ \.php$ { |
|||
include /etc/nginx/fastcgi_params; |
|||
fastcgi_pass 127.0.0.1:9000; |
|||
fastcgi_index index.php; |
|||
} |
|||
|
|||
#root dir |
|||
location / { |
|||
autoindex on; |
|||
try_files $uri $uri/ /index.php; |
|||
} |
|||
} |
@ -1,54 +0,0 @@ |
|||
<?php |
|||
chdir(dirname(__FILE__)); |
|||
/* This will have configuration */ |
|||
// Report all PHP errors (see changelog) |
|||
error_reporting(E_ALL); |
|||
|
|||
if (file_exists('config.php')){ |
|||
include 'config.php'; |
|||
}else{ |
|||
die("Create a config.php to start with..."); |
|||
} |
|||
|
|||
/*** YOU CAN IGNORE ANYTHING BELOW THIS LINE **/ |
|||
|
|||
$hello = <<<EOF |
|||
.----------------. .----------------. .----------------. .----------------. .----------------. .----------------. |
|||
| .--------------. || .--------------. || .--------------. || .--------------. || .--------------. || .--------------. | |
|||
| | _______ | || | _________ | || | ______ | || | __ | || | ____ ____ | || | ______ | | |
|||
| | |_ __ \ | || | | _ _ | | || | .' ___ | | || | / \ | || ||_ \ / _|| || | |_ __ \ | | |
|||
| | | |__) | | || | |_/ | | \_| | || | / .' \_| | || | / /\ \ | || | | \/ | | || | | |__) | | | |
|||
| | | __ / | || | | | | || | | | | || | / ____ \ | || | | |\ /| | | || | | ___/ | | |
|||
| | _| | \ \_ | || | _| |_ | || | \ `.___.'\ | || | _/ / \ \_ | || | _| |_\/_| |_ | || | _| |_ | | |
|||
| | |____| |___| | || | |_____| | || | `._____.' | || ||____| |____|| || ||_____||_____|| || | |_____| | | |
|||
| | | || | | || | | || | | || | | || | | | |
|||
| '--------------' || '--------------' || '--------------' || '--------------' || '--------------' || '--------------' | |
|||
'----------------' '----------------' '----------------' '----------------' '----------------' '----------------' |
|||
EOF; |
|||
|
|||
echo $hello . "\n"; |
|||
|
|||
/*** OK enough now. This is second & last time I am reminding YOU CAN IGNORE ANYTHING BELOW THIS LINE **/ |
|||
|
|||
|
|||
/* Useful test to avoid time-wastage */ |
|||
if($local_env['mysql_user'] == 'USER' || $local_env['mysql_pass'] == 'PASS'){ |
|||
die("Please enter mysql username & password before running this script."); |
|||
} |
|||
|
|||
if(!file_exists($local_env['wp_latest'])){ |
|||
echo "Latest WordPress is not present at " . $local_env['wp_latest'] ; |
|||
echo "Let me try downloading it…\n"; |
|||
$command = "wget http://wordpress.org/latest.zip -O " . $local_env['wp_latest'] ; |
|||
$result = system($command); |
|||
if(!file_exists($local_env['wp_latest'])){ |
|||
die ("this is second time I'm checking for WordPress but its missing at path " . $local_env['wp_latest'] . |
|||
"\n Please fix it first and then try running scripts here"); |
|||
}else{ |
|||
|
|||
echo "wordpress found at ". $local_env['wp_latest'] ; |
|||
} |
|||
} |
|||
|
|||
echo "\nconfig is correct.... go ahead my boy! \n"; |
|||
?> |
@ -1,156 +0,0 @@ |
|||
<?php |
|||
/* |
|||
MOVE A WORDPRESS SITE |
|||
THIS SCRIPT IS REALLY BROKEN. |
|||
*/ |
|||
|
|||
include_once('config.pgp'); |
|||
|
|||
|
|||
echo "\nEnter one or more domain names(s) which needs to be migrated...\n"; |
|||
echo "You can separate domain names by comma (,)...\n"; |
|||
echo "Example: google.com, yahoo.com,apple.com\n"; |
|||
|
|||
$usr_domain = (trim(fgets(STDIN))); |
|||
|
|||
$domain_arr = explode(",", $usr_domain); |
|||
|
|||
foreach($domain_arr as $domain){ |
|||
echo "****************************************************************************"; |
|||
echo "\n\nMoving :: $domain \n\n"; |
|||
move_domain(trim($domain)); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* ALL SEENS WELL - Restart nginx |
|||
*/ |
|||
echo "\n Relaoding nginx configuration...\n\n"; |
|||
system('service nginx reload'); |
|||
|
|||
|
|||
|
|||
/** |
|||
* Function to move a single domain |
|||
* @param <type> $domain |
|||
*/ |
|||
function move_domain($usr_domain) { |
|||
global $local_env, $remote_env; |
|||
|
|||
if(trim($usr_domain) == ''){ |
|||
echo "\n CURRENT DOMAIN IS SKIPPED\n"; |
|||
return; |
|||
} |
|||
|
|||
/* |
|||
* Set domain environment values |
|||
*/ |
|||
$domain['name'] = $usr_domain; |
|||
$domain['conf'] = $local_env['nginx_dir_sites_avilable'] . '/' . $domain['name']; |
|||
$domain['rootdir'] = $local_env['webroot'] . '/' . $domain['name']; |
|||
$domain['htdocs'] = $domain['rootdir'] . '/' . $local_env['htdocs'] ; |
|||
$domain['logs'] = $domain['rootdir'] . '/' . $local_env['logs'] ; |
|||
|
|||
/** |
|||
* Check if domain config file already exists |
|||
*/ |
|||
if (file_exists($domain['conf'])) { |
|||
echo "\nConfiguration files for domain '" . $domain['name'] . "'already exists :: " . $domain['conf']; |
|||
echo "\nDo you want to overwrite previous configuration? [Y/N] (default=Y)"; |
|||
|
|||
if (in_array(strtolower(fgets(STDIN)), array('n', 'no'))) { |
|||
die("\nYou choose to terminate this script! Bye-Bye!!! \n"); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* At this point - either domain config file doesn't exist or user showed interest in overwriting it |
|||
* In either case... |
|||
* Create nginx conf for $domain in /etc/nginx/sites-available/$domain |
|||
* TODO :: Provide options to add supercache and/or w3total cache rules |
|||
*/ |
|||
/** |
|||
* Create config file |
|||
*/ |
|||
$nginx_conf = file_get_contents($local_env['default_conf']); |
|||
$nginx_conf = str_replace($local_env['default_domain'], $domain['name'], $nginx_conf); |
|||
file_put_contents($domain['conf'], $nginx_conf); |
|||
|
|||
//Error Check - if config file is created successfully or not |
|||
if (!file_exists($domain['conf'])) { |
|||
die("\nError encounterd while creating " . $domain['conf']); |
|||
} |
|||
|
|||
/** |
|||
* Linking config file |
|||
*/ |
|||
echo "\nCreating Symbolic Link..\n"; |
|||
$command = "sudo ln -s " . $domain['conf'] . " " . $local_env['nginx_dir_sites_enabled']; |
|||
$result = system($command); |
|||
|
|||
//Error check - if linking config file succeed |
|||
if ($result != '') { |
|||
die("\nError encountered while creating script. Please check if file '" . $domain['conf'] . "'is created or not!\n"); |
|||
} |
|||
|
|||
//Go Ahead. |
|||
// echo "Nginx configuration for '" . $domain['name'] . "' is created successfully"; |
|||
|
|||
/** |
|||
* Create webroot dirs for new domain |
|||
*/ |
|||
//create dirs |
|||
$result = system("mkdir " . $domain['rootdir']); |
|||
$result = system("mkdir " . $domain['htdocs']); |
|||
$result = system("mkdir " . $domain['logs']); |
|||
|
|||
//create log files |
|||
$result = system("touch " . $domain['logs'] . "/access.log"); |
|||
$result = system("touch " . $domain['logs'] . "/error.log"); |
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while creating websites directories & files for " . $domain['name'] . "\n"); |
|||
} |
|||
|
|||
/** |
|||
* moving wordpress in new webroot dir |
|||
*/ |
|||
//export remote db |
|||
$command = "rsync --exclude '*.iso' -avz {$remote_env['ssh_user']}@{$remote_env['host']}:{$remote_env['webroot']}/{$domain['name']}/htdocs/* {$domain['htdocs']}/"; |
|||
$result = system($command); |
|||
|
|||
|
|||
/** |
|||
* MySQL Moving |
|||
*/ |
|||
$wp_config = get_defines($domain['htdocs'] . '/wp-config.php'); |
|||
|
|||
$command = "mysqldump -u {$wp_config['DB_USER']} -p{$wp_config['DB_PASSWORD']} -h {$remote_env['host']} --databases '{$wp_config['DB_NAME']}' > {$domain['rootdir']}/{$domain['name']}.sql"; |
|||
// echo "\n" . $command . "\n"; |
|||
$result = system($command); |
|||
|
|||
$command = "mysql -h {$local_env['mysql_host']} -u {$local_env['mysql_user']} -p{$local_env['mysql_pass']} < {$domain['rootdir']}/{$domain['name']}.sql"; |
|||
// echo "\n\n" . $command . "\n"; |
|||
$result = system($command); |
|||
|
|||
/* |
|||
* Create wp-config.php |
|||
*/ |
|||
//this may not be needed as we already have wp-config.php present for remote WordPress |
|||
//@TODO we need to replace DB_HOST though |
|||
|
|||
|
|||
/** |
|||
* Chown |
|||
*/ |
|||
$command = "chown -R " . $local_env['nginx_user'] . ":" . $local_env['nginx_group'] . " " . $domain['rootdir']; |
|||
echo "\n COMMAND :: $command \n"; |
|||
$result = system($command); |
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while chaging owner of " . $domain['rootdir'] . "\n" . $result); |
|||
} |
|||
} |
|||
?> |
@ -1,107 +0,0 @@ |
|||
<?php |
|||
include_once('init.php'); |
|||
|
|||
/* choice */ |
|||
$choice = ""; |
|||
|
|||
/** |
|||
* prompt user to eneter domain name |
|||
*/ |
|||
echo "Enter a domain name which needs to be removed...\n"; |
|||
$usr_domain = (trim(fgets(STDIN))); |
|||
|
|||
$domain_arr = explode(" ", $usr_domain); |
|||
|
|||
foreach($domain_arr as $domain){ |
|||
echo "****************************************************************************"; |
|||
echo "\n\nMoving :: $domain \n\n"; |
|||
remove_domain(trim($domain)); |
|||
} |
|||
|
|||
function remove_domain($usr_domain){ |
|||
global $local_env, $choice; |
|||
|
|||
echo "You have entered :: $usr_domain \n"; |
|||
|
|||
if(strlen($usr_domain) == 0 ){ |
|||
die("input cannot be empty!\n"); |
|||
} |
|||
|
|||
if(strpos($usr_domain,"..") !== false ){ |
|||
die("directory traversal is not allowed\n"); |
|||
} |
|||
|
|||
if(strpos($usr_domain,"\\") !== false ){ |
|||
die("domain cannot contain \\ !"); |
|||
} |
|||
|
|||
|
|||
/* |
|||
* Set domain environment values |
|||
*/ |
|||
|
|||
$domain['name'] = $usr_domain; |
|||
$domain['conf'] = $local_env['nginx_dir_sites_avilable'] . '/' . $domain['name'] ; |
|||
$domain['rootdir'] = $local_env['webroot'] . '/' . $domain['name'] ; |
|||
$domain['htdocs'] = $domain['rootdir'] . '/' . $local_env['htdocs'] ; |
|||
$domain['logs'] = $domain['rootdir'] . '/' . $local_env['logs'] ; |
|||
|
|||
|
|||
/** |
|||
* Check if domain config file already exists |
|||
*/ |
|||
echo "\n Domain Name - " . $domain['name'] . |
|||
"\n Webroot Dir - " . realpath($domain['rootdir']) . |
|||
"\n Database Name - " . $domain['name'] ; |
|||
|
|||
if($choice != "a"){ |
|||
//ask for confirmation |
|||
echo "\nDo you want to remove this domain, related files and databases for sure? [Y(es)/N(o)/A(lways)] (default=N): "; |
|||
|
|||
switch(strtolower(trim(fgets(STDIN)))){ |
|||
case 'y' : |
|||
die("\nYou choose to terminate this script! The domain is NOT removed! \n"); |
|||
|
|||
case 'a' : $choice = "a"; |
|||
} |
|||
} |
|||
|
|||
//remove htdocs |
|||
if(file_exists(realpath($domain['rootdir']))){ |
|||
if(dirname(realpath($domain['rootdir']))=="/var/www"){ |
|||
echo "/nremoving webroot \n"; |
|||
system("rm -rf ". $domain['rootdir']); |
|||
} |
|||
else |
|||
die("Try something else!"); |
|||
}else{ |
|||
echo "\n Directory " . $domain['rootdir'] . " doesn't exists\n"; |
|||
} |
|||
//delete database |
|||
$command = "mysql -h " . $local_env['mysql_host'] . " -u " . $local_env['mysql_user'] . " -p" . $local_env['mysql_pass'] . " -e 'drop database `'" . $domain['name'] . "'` '"; |
|||
$result = system($command); |
|||
|
|||
|
|||
/** |
|||
* Remove config file |
|||
*/ |
|||
if(file_exists($local_env['nginx_dir_sites_enabled']."/".$domain['name']) OR file_exists($local_env['nginx_dir_sites_avilable']."/".$domain['name'])){ |
|||
unlink($local_env['nginx_dir_sites_enabled']."/".$domain['name']); |
|||
unlink($local_env['nginx_dir_sites_avilable']."/".$domain['name']); |
|||
|
|||
}else{ |
|||
echo "\nNginx config files for $usr_domain domain do not exist\n"; |
|||
} |
|||
|
|||
|
|||
|
|||
}//end func |
|||
|
|||
/** |
|||
* ALL SEENS WELL - Restart nginx |
|||
*/ |
|||
echo "\n Issuing nginx reboot command...\n\n"; |
|||
system('service nginx restart'); |
|||
|
|||
|
|||
?> |
@ -1,11 +0,0 @@ |
|||
<?php |
|||
|
|||
/* |
|||
* To change this template, choose Tools | Templates |
|||
* and open the template in the editor. |
|||
*/ |
|||
fwrite(STDOUT, "Enter your name\n"); // Output - prompt user |
|||
$name = fgets(STDIN); // Read the input |
|||
fwrite(STDOUT, "Hello $name"); // Output - Some text |
|||
exit(0); // Script ran OK |
|||
?> |
@ -1,123 +0,0 @@ |
|||
<?php |
|||
/* |
|||
CREATE A SITE WITH WORDPRESS |
|||
*/ |
|||
|
|||
include_once('init.php'); |
|||
|
|||
/** |
|||
* prompt user to eneter domain name |
|||
*/ |
|||
|
|||
echo "Enter a domain name which needs to be migrated...\n"; |
|||
$usr_domain = (trim(fgets(STDIN))); |
|||
echo "You have entered :: $usr_domain \n"; |
|||
|
|||
/* |
|||
* Set domain environment values |
|||
*/ |
|||
|
|||
$domain['name'] = $usr_domain; |
|||
$domain['conf'] = $local_env['nginx_dir_sites_avilable'] . '/' . $domain['name'] ; |
|||
$domain['rootdir'] = $local_env['webroot'] . '/' . $domain['name'] ; |
|||
$domain['htdocs'] = $domain['rootdir'] . '/' . $local_env['htdocs'] ; |
|||
$domain['logs'] = $domain['rootdir'] . '/' . $local_env['logs'] ; |
|||
|
|||
|
|||
/** |
|||
* Check if domain config file already exists |
|||
*/ |
|||
if (file_exists($domain['conf'])) { |
|||
echo "\nConfiguration files for domain '" . $domain['name'] . "'already exists :: " . $domain['conf']; |
|||
echo "\nDo you want to overwrite previous configuration? [Y/N] (default=Y)"; |
|||
|
|||
if (in_array(strtolower(fgets(STDIN)), array('n', 'no'))) { |
|||
die("\nYou choose to terminate this script! Bye-Bye!!! \n"); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* At this point - either domain config file doesn't exist or user showed interest in overwriting it |
|||
* In either case... |
|||
* Create nginx conf for $domain in /etc/nginx/sites-available/$domain |
|||
* TODO :: Provide options to add supercache and/or w3total cache rules |
|||
*/ |
|||
/** |
|||
* Create config file |
|||
*/ |
|||
$nginx_conf = file_get_contents($local_env['default_conf']); |
|||
$nginx_conf = str_replace($local_env['default_domain'], $domain['name'], $nginx_conf); |
|||
file_put_contents($domain['conf'], $nginx_conf); |
|||
|
|||
//Error Check - if config file is created successfully or not |
|||
if (!file_exists($domain['conf'])) { |
|||
die("\nError encountered while creating " . $domain['conf']); |
|||
} |
|||
|
|||
/** |
|||
* Linking config file |
|||
*/ |
|||
echo "\nCreating Symbolic Link..\n"; |
|||
$command = "sudo ln -s " . $domain['conf'] . " " . $local_env['nginx_dir_sites_enabled']; |
|||
$result = system($command); |
|||
|
|||
//Error check - if linking config file succeed |
|||
if ($result != '') { |
|||
die("\nError encountered while creating script. Please check if file '" . $domain['conf'] . "'is created or not!\n"); |
|||
} |
|||
|
|||
//Go Ahead. |
|||
echo "Nginx configuration for '" . $domain['name'] . "' is created successfully"; |
|||
|
|||
/** |
|||
* Create webroot dirs for new domain |
|||
*/ |
|||
//create dirs |
|||
$result = system("mkdir " . $domain['rootdir']); |
|||
$result = system("mkdir " . $domain['htdocs']); |
|||
$result = system("mkdir " . $domain['logs']); |
|||
|
|||
//create log files |
|||
$result = system("touch " . $domain['logs'] . "/access.log"); |
|||
$result = system("touch " . $domain['logs'] . "/error.log"); |
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while creating websites directories & files for " . $domain['name'] . "\n"); |
|||
} |
|||
|
|||
/** |
|||
* MySQL Creation |
|||
*/ |
|||
|
|||
$command = "mysql -h " . $local_env['mysql_host'] . " -u " . $local_env['mysql_user'] . " -p" . $local_env['mysql_pass'] . " -e 'create database `'" . $domain['name'] . "'` '"; |
|||
$result = system($command); |
|||
|
|||
/** |
|||
* Chown |
|||
*/ |
|||
$command = "chown -R " . $local_env['nginx_user'] . ":" . $local_env['nginx_group'] . " " . $domain['rootdir']; |
|||
echo "\n COMMAND :: $command \n"; |
|||
$result = system($command); |
|||
|
|||
//Error check |
|||
if ($result != '') { |
|||
die("\nError encountered while charging owner of " . $domain['rootdir'] . "\n" . $result); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* ALL SEENS WELL - Restart nginx |
|||
*/ |
|||
echo "\n Relaoding nginx configuration...\n\n"; |
|||
system('service nginx reload'); |
|||
|
|||
/** |
|||
* THE END |
|||
*/ |
|||
//just echo URL for new domain like http://$domain |
|||
//user will click it and verify if its working fine! ;-) |
|||
|
|||
echo $domain['name'] . " Successfully created\n\n"; |
|||
|
|||
?> |
@ -1,65 +0,0 @@ |
|||
#!/bin/bash |
|||
#This script makes virtual host, site directories and log files |
|||
#Author : Pragati Sureka |
|||
|
|||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then |
|||
echo "make_vsite:You need to run this script as root(or use sudo)" |
|||
exit |
|||
fi |
|||
|
|||
# Check for proper number of command line args. |
|||
if [ $# -ne 1 ] |
|||
then |
|||
echo "Usage: `basename $0` example.com" |
|||
echo " <example.com should be replaced by actual domain name>" |
|||
exit |
|||
fi |
|||
|
|||
sed s/[[:blank:]]*//g $1 > $1 |
|||
|
|||
#Script Variables |
|||
WEBROOT="/var/www" |
|||
SKELFILE="/etc/nginx/sites-available/example.com" |
|||
VSITEDIR="/etc/nginx/sites-available" |
|||
ESITEDIR="/etc/nginx/sites-enabled" |
|||
USER="www-data" |
|||
GROUP="www-data" |
|||
SERVER_RELOAD="service nginx restart" |
|||
WP_ZIP="/home/rtcamp/wordpress/latest.zip" #wordpress 3.0 |
|||
|
|||
#make directories and touch log files |
|||
mkdir $WEBROOT/$1 |
|||
mkdir $WEBROOT/$1/htdocs |
|||
mkdir $WEBROOT/$1/logs |
|||
touch $WEBROOT/$1/logs/error.log |
|||
touch $WEBROOT/$1/logs/access.log |
|||
|
|||
#download latest wordpress and extract it to proper location |
|||
cd $WEBROOT/$1 |
|||
#wget www.wordpress.org/latest.zip |
|||
unzip -q -o $WP_ZIP |
|||
mv wordpress/* htdocs/ |
|||
rm -rf $WEBROOT/$1/wordpress |
|||
#rm $WEBROOT/$1/latest.zip |
|||
chown -R $USER:$GROUP $WEBROOT/$1 |
|||
#chmod g+rw -R $WEBROOT/$1 |
|||
|
|||
#create database |
|||
mysql -u USER -pPASS -e 'create database `'$1'` ' |
|||
|
|||
#create wp-config.php file |
|||
CONFIGSAMPLE=$WEBROOT/$1/htdocs/wp-config-sample.php |
|||
sed s/database_name_here/$1/ $CONFIGSAMPLE | sed s/username_here/USER/ | sed s/password_here/PASS/ > $WEBROOT/$1/htdocs/wp-config.php |
|||
|
|||
#copy skeleton file and enable site |
|||
sed s/example.com/$1/ $SKELFILE > $VSITEDIR/$1 |
|||
ln -s $VSITEDIR/$1 $ESITEDIR/ |
|||
echo "127.0.0.1 $1" >> /etc/hosts |
|||
$SERVER_RELOAD |
|||
if [ $? -ne 0 ]; then |
|||
#rm -rf $WEBROOT/$1 |
|||
unlink $ESITEDIR/$1 |
|||
$SERVER_RELOAD |
|||
sed -i".bak" '$d' /etc/hosts |
|||
echo "ERROR CREATING PLEASE CONTACT pragati.sureka@rtcamp.com FOR ASSISTANCE!" |
|||
fi |
@ -1,35 +0,0 @@ |
|||
#!/bin/bash |
|||
#This script makes virtual host, site directories and log files |
|||
#Author : Pragati Sureka, rahul286 |
|||
|
|||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then |
|||
echo "make_vsite:You need to this script as root(or use sudo)" |
|||
exit |
|||
fi |
|||
|
|||
#Script Variables |
|||
WEBROOT="/var/www" |
|||
SKELFILE="/etc/apache2/sites-available/skeleton" |
|||
VSITEDIR="/etc/apache2/sites-available" |
|||
USER="www-data" |
|||
GROUP="www-data" |
|||
SERVER_RELOAD="/etc/init.d/apache2 reload" |
|||
|
|||
#make directories and touch log files |
|||
mkdir $WEBROOT/$1 |
|||
mkdir $WEBROOT/$1/htdocs |
|||
mkdir $WEBROOT/$1/logs |
|||
touch $WEBROOT/$1/logs/error.log |
|||
touch $WEBROOT/$1/logs/custom.log |
|||
|
|||
#copy skeleton file and enable site |
|||
sed s/site/$1/ $SKELFILE > $VSITEDIR/$1 |
|||
a2ensite $1 &> /dev/null |
|||
echo "127.0.0.1 $1" >> /etc/hosts |
|||
$SERVER_RELOAD &> /dev/null |
|||
if [ $? -ne 0 ]; then |
|||
rm -rf $WEBROOT/$1 |
|||
a2dissite $1 |
|||
sed -i".bak" '$d' /etc/hosts |
|||
echo "ERROR CREATING PLEASE CONTACT pragati.sureka@rtcamp.com FOR ASSISTANCE!" |
|||
fi |
@ -1,3 +0,0 @@ |
|||
service mysql stop |
|||
service php5-fpm restart |
|||
service mysql start |
Loading…
Reference in new issue