Browse Source

Added ee site conetents

old-stable
gau1991 11 years ago
parent
commit
129a75c8a6
  1. 19
      src/lib/ee_lib_process_site_name.sh
  2. 9
      src/lib/ee_lib_symbolic_link.sh
  3. 8
      src/lib/ee_lib_variables.sh
  4. 31
      src/modules/site/create/ee_mod_domain_setup.sh
  5. 46
      src/modules/site/create/ee_mode_create_database.sh

19
src/lib/ee_lib_process_site_name.sh

@ -0,0 +1,19 @@
# Removes https://, http://, www from site name
function ee_lib_prcoess_site_name()
{
# Check EE_SITE_NAME is empty or not
if [ -z "$EE_SITE_NAME" ]
then
# Ask users to enter domain name
read -p "Enter domain name: " EE_SITE_NAME
# Remove http:// https:// & www.
EE_DOMAIN=$(echo $EE_SITE_NAME | tr 'A-Z' 'a-z' | sed "s'http://''" | sed "s'https://''" | sed "s'www.''" | sed "s'/''")
else
# Remove http:// https:// & www.
EE_DOMAIN=$(echo $EE_SITE_NAME | tr 'A-Z' 'a-z' | sed "s'http://''" | sed "s'https://''" | sed "s'www.''" | sed "s'/''")
fi
# Remove http:// https:// for WordPress setup (www.example.com)
EE_WWWDOMAIN=$(echo $EE_SITE_NAME | tr 'A-Z' 'a-z' | sed "s'http://''" | sed "s'https://''" | sed "s'/''")
}

9
src/lib/ee_lib_symbolic_link.sh

@ -0,0 +1,9 @@
# Create symbolic link for site name
function ee_lib_symbolic_link()
{
# Creating symbolic link
ee_lib_echo "Creating symbolic link, please wait..."
ln -sf $1 $2 \
|| ee_lib_error "Unable to create symbolic link for $1 -> $2, exit status = " $?
}

8
src/lib/ee_lib_variables.sh

@ -39,6 +39,14 @@ else
readonly EE_PHP_USER=www-data readonly EE_PHP_USER=www-data
fi fi
# Find out MySQL hostname
if [ -z $($EE_CONFIG_GET mysql.host) ]; then
readonly EE_MYSQL_HOST=localhost
else
readonly EE_MYSQL_HOST=$($EE_CONFIG_GET mysql.host)
fi
# Find out MySQL login # Find out MySQL login
if [ -f ~/.my.cnf ];then if [ -f ~/.my.cnf ];then
readonly EE_MYSQL_USER=$(cat ~/.my.cnf | grep user | cut -d'=' -f2) readonly EE_MYSQL_USER=$(cat ~/.my.cnf | grep user | cut -d'=' -f2)

31
src/modules/site/create/ee_mod_domain_setup.sh

@ -0,0 +1,31 @@
#Setup domain
function ee_domain_setup()
{
#Check the NGINX configuration exist for $EE_DOMAIN
ls /etc/nginx/sites-available/$EE_DOMAIN &> $EE_ERROR_LOG
if [ $? -ne 0 ];then
# Creating website $EE_DOMAIN
ee_lib_echo "Creating $EE_DOMAIN, please wait..."
sed "s/example.com/$EE_DOMAIN/g" \
/usr/share/easyengine/nginx/$EE_NGINX_CONF \
> /etc/nginx/sites-available/$EE_DOMAIN \
|| ee_lib_error "Unable to create NGINX configuration file for $EE_DOMAIN, exit status = " $?
# Creating symbolic link
ee_lib_symbolic_link /etc/nginx/sites-available/$EE_DOMAIN /etc/nginx/sites-enabled/
# Creating htdocs & logs directory
ee_lib_echo "Creating htdocs & logs directory"
mkdir -p /var/www/$EE_DOMAIN/htdocs && mkdir -p /var/www/$EE_DOMAIN/logs \
|| ee_lib_error "Unable to create htdocs & logs directory, exit status = " $?
# Creating symbolic links for logs
ee_lib_echo "Creating symbolic link for logs"
ee_lib_symbolic_link /var/log/nginx/$EE_DOMAIN.access.log /var/www/$EE_DOMAIN/logs/access.log
ee_lib_symbolic_link /var/log/nginx/$EE_DOMAIN.error.log /var/www/$EE_DOMAIN/logs/error.log
else
ee_lib_error "$EE_DOMAIN already exist, exit status = " $?
fi
}

46
src/modules/site/create/ee_mode_create_database.sh

@ -0,0 +1,46 @@
# Create Database for WordPress site
function ee_mod_create_database()
{
local ee_replace_dot=$(echo $EE_DOMAIN | tr '.' '_')
# Check use default database user or custom database user
EE_WP_DB_RANDOM_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n1)
# Setup MySQL database
if [ $($EE_CONFIG_GET mysql.db-name) == "true" ];then
read -p "Enter the MySQL database name [$ee_replace_dot]: " ee_database_name
fi
if [ $ee_database_name = "" ]; then
ee_database_name=$ee_replace_dot
fi
mysql -e "create database \`${ee_database_name}\`" \
|| ee_lib_error "Unable to create $ee_database_name database"
# Setup MySQL user
if [ $($EE_CONFIG_GET mysql.db-user) == "true" ];then
read -p "Enter the MySQL database username [$ee_replace_dot]: " ee_database_user
read -sp "Enter The MySQL Database Password [$EE_WP_DB_RANDOM_PASSWORD]: " EE_WP_DB_PASS
fi
elif
ee_database_user=$ee_replace_dot
# Fix MySQL USER ERROR 1470 (HY000)
EE_WP_DB_PASS=$EE_WP_DB_RANDOM_PASSWORD
fi
local ee_mysql_user_16=$(echo -n $ee_database_user | wc -c)
if [[ $ee_mysql_user_16 -gt 16 ]]; then
echo "MySQL database username $ee_database_user = $ee_mysql_user_16" &>> $EE_COMMAND_LOG
ee_lib_echo "Auto fix MySQL username to the 16 characters"
local ee_random_character=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n1)
ee_database_user=$(echo $ee_mysql_user_16 | cut -c1-16 | sed "s/.\{10\}$/$ee_random_character/")
fi
# create separate user & grant permission
echo -e "ee_database_name = $ee_database_name \nWPDBUSER = $ee_database_user \nWPDBPASS = $EE_WP_DB_PASS" &>> $EE_COMMAND_LOG
mysql -e "create user '$ee_database_user'@'$MYSQLHOST' identified by '$EE_WP_DB_PASS'"
mysql -e "grant all privileges on \`$ee_database_name\`.* to '$ee_database_user'@'$MYSQLHOST'"
mysql -e "flush privileges"
}
Loading…
Cancel
Save