mirror of
https://github.com/10h30/ols-docker-env.git
synced 2026-05-12 15:21:24 +09:00
add a demoscript
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
LITESPEED=1.6.4.lh
|
LITESPEED=1.6.4.lh
|
||||||
|
|
||||||
WEB_ADMIN_PASSWORD=litespeed
|
|
||||||
|
|
||||||
MYSQL_DATABASE=wordpress
|
MYSQL_DATABASE=wordpress
|
||||||
MYSQL_ROOT_PASSWORD=password
|
MYSQL_ROOT_PASSWORD=password
|
||||||
MYSQL_USER=wordpress
|
MYSQL_USER=wordpress
|
||||||
|
|||||||
+2
-2
@@ -9,8 +9,8 @@ notifications:
|
|||||||
slack:
|
slack:
|
||||||
secure: mSj4SYM4weApU3Ct+nqdaHkLw0J/q5+VH1q0LYnviZ06UpRU/N6lricfu9ihgND2VJ+cwfuQpAegdI1cDFzxDRpZpnzU9Db4N7OW5cDkb8eHpy6XhjQYi5KqWfgamh2UwiqYGgoQBc4gXhGDlChjJQopM+qPesHO9y/ucFAjxdlkEHVdZKNYDiVfiOKCGBzDuP+PbOPiZiqQFBgmFs1YLLrrQ7y5dgdoiai2I72MAN0kngoNB9ZsUgtQ63WTdgPKJOiX+oQMMXgYoP0+9iIhS6/cKHs64Z7jPreYYuWWMTnQPdvaIgh4ASIhUE6FVI5SdFxmajVik8SMlRK1rQApQLJ9wOJammUJHCSI4jfEVQ5H2og9R3+BA0qspBQVZXMTCYfX10Up1tmL+Kev1Za335v2z046gzX4aTiWBxi1I9mYmnYKQiGuaIG5crkPodIAeS9HX/DulMUhPRpa0Djwi7ZJlCAzfuEGDgAlWt/oWfIw66unTY/G6cEaxeEbZ3Ho+bPy48dRxhYW5kRHR1OuHqqfNULYeAGm6AIF3ng+2GjvXh6rhqmstBh/myROqM3X7ofUzEJRo9ow+hDroZLE4mfavn4UAnQybN7FfzuJiOoYTmcws7JzYD8b/G+Aynjw04m0ojDDJN0fVgQ+qltMoCfFMhx8FscF/QjGo/T/zc4=
|
secure: mSj4SYM4weApU3Ct+nqdaHkLw0J/q5+VH1q0LYnviZ06UpRU/N6lricfu9ihgND2VJ+cwfuQpAegdI1cDFzxDRpZpnzU9Db4N7OW5cDkb8eHpy6XhjQYi5KqWfgamh2UwiqYGgoQBc4gXhGDlChjJQopM+qPesHO9y/ucFAjxdlkEHVdZKNYDiVfiOKCGBzDuP+PbOPiZiqQFBgmFs1YLLrrQ7y5dgdoiai2I72MAN0kngoNB9ZsUgtQ63WTdgPKJOiX+oQMMXgYoP0+9iIhS6/cKHs64Z7jPreYYuWWMTnQPdvaIgh4ASIhUE6FVI5SdFxmajVik8SMlRK1rQApQLJ9wOJammUJHCSI4jfEVQ5H2og9R3+BA0qspBQVZXMTCYfX10Up1tmL+Kev1Za335v2z046gzX4aTiWBxi1I9mYmnYKQiGuaIG5crkPodIAeS9HX/DulMUhPRpa0Djwi7ZJlCAzfuEGDgAlWt/oWfIw66unTY/G6cEaxeEbZ3Ho+bPy48dRxhYW5kRHR1OuHqqfNULYeAGm6AIF3ng+2GjvXh6rhqmstBh/myROqM3X7ofUzEJRo9ow+hDroZLE4mfavn4UAnQybN7FfzuJiOoYTmcws7JzYD8b/G+Aynjw04m0ojDDJN0fVgQ+qltMoCfFMhx8FscF/QjGo/T/zc4=
|
||||||
template:
|
template:
|
||||||
- "Repo %{repository_slug} *%{result}* build (<%{build_url}|#%{build_number}>) for commit (<%{compare_url}|%{commit}>) on branch %{branch}."
|
- "Repo %{repository_slug} *%{result}* build (<%{build_url}|#%{build_number}>) for commit (<%{compare_url}|%{commit}>)"
|
||||||
- "_%{commit_message}_"
|
- "%{author}: _%{commit_message}_"
|
||||||
- "Execution time: *%{duration}*"
|
- "Execution time: *%{duration}*"
|
||||||
- "Message: *%{message}*"
|
- "Message: *%{message}*"
|
||||||
on_success: always
|
on_success: always
|
||||||
|
|||||||
Executable → Regular
+2
-2
@@ -4,7 +4,7 @@ DOMAIN=''
|
|||||||
|
|
||||||
help_message(){
|
help_message(){
|
||||||
echo 'Command [-app app_name] [-domain domain_name]'
|
echo 'Command [-app app_name] [-domain domain_name]'
|
||||||
echo 'Example: download.sh -app wordpress -d example.com'
|
echo 'Example: appinstall.sh -app wordpress -d example.com'
|
||||||
}
|
}
|
||||||
|
|
||||||
check_input(){
|
check_input(){
|
||||||
@@ -15,7 +15,7 @@ check_input(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
app_download(){
|
app_download(){
|
||||||
docker-compose exec litespeed su -c "downloadctl.sh -app ${1} -domain ${2}"
|
docker-compose exec litespeed su -c "appinstallctl.sh -app ${1} -domain ${2}"
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
Executable → Regular
+41
-36
@@ -1,6 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
DEFAULT_VH_ROOT='/var/www/vhosts'
|
DEFAULT_VH_ROOT='/var/www/vhosts'
|
||||||
VH_DOC_ROOT=''
|
VH_DOC_ROOT=''
|
||||||
|
VHNAME=''
|
||||||
APP_NAME=''
|
APP_NAME=''
|
||||||
DOMAIN=''
|
DOMAIN=''
|
||||||
WWW_UID=''
|
WWW_UID=''
|
||||||
@@ -9,7 +10,7 @@ PUB_IP=$(curl http://checkip.amazonaws.com)
|
|||||||
|
|
||||||
help_message(){
|
help_message(){
|
||||||
echo 'Command [-app app_name] [-domain domain_name]'
|
echo 'Command [-app app_name] [-domain domain_name]'
|
||||||
echo 'Example: download.sh -app wordpress -d example.com'
|
echo 'Example: appinstallctl.sh -app wordpress -d example.com'
|
||||||
}
|
}
|
||||||
|
|
||||||
check_input(){
|
check_input(){
|
||||||
@@ -38,17 +39,19 @@ get_owner(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_db_pass(){
|
get_db_pass(){
|
||||||
if [ -f ${DEFAULT_VH_ROOT}/${1}/.db_pass ]; then
|
if [ -f ${DEFAULT_VH_ROOT}/${1}/.db_pass ]; then
|
||||||
SQL_DB=$(grep -i Database ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
SQL_DB=$(grep -i Database ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
||||||
SQL_USER=$(grep -i Username ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
SQL_USER=$(grep -i Username ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
||||||
SQL_PASS=$(grep -i Password ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
SQL_PASS=$(grep -i Password ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
||||||
else
|
else
|
||||||
echo 'DB_PASS can not locate!'
|
echo 'DB_PASS can not locate!'
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
set_vh_docroot(){
|
set_vh_docroot(){
|
||||||
if [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then
|
if [ "${VHNAME}" != '' ]; then
|
||||||
|
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}/html"
|
||||||
|
elif [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then
|
||||||
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html"
|
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html"
|
||||||
else
|
else
|
||||||
echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!"
|
echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!"
|
||||||
@@ -57,16 +60,15 @@ set_vh_docroot(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_sql_native(){
|
check_sql_native(){
|
||||||
local COUNTER=0
|
local COUNTER=0
|
||||||
local LIMIT_NUM=100
|
local LIMIT_NUM=100
|
||||||
until [ "$(curl -v mysql:3306 2>&1 | grep native)" ];
|
until [ "$(curl -v mysql:3306 2>&1 | grep native)" ]; do
|
||||||
do
|
echo "Counter: ${COUNTER}/${LIMIT_NUM}"
|
||||||
echo "Counter: ${COUNTER}/${LIMIT_NUM}"
|
|
||||||
COUNTER=$((COUNTER+1))
|
COUNTER=$((COUNTER+1))
|
||||||
if [ ${COUNTER} = 10 ]; then
|
if [ ${COUNTER} = 10 ]; then
|
||||||
echo '--- MySQL is starting, please wait... ---'
|
echo '--- MySQL is starting, please wait... ---'
|
||||||
elif [ ${COUNTER} = ${LIMIT_NUM} ]; then
|
elif [ ${COUNTER} = ${LIMIT_NUM} ]; then
|
||||||
echo '--- MySQL is timeout, exit! ---'
|
echo '--- MySQL is timeout, exit! ---'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
@@ -84,12 +86,12 @@ preinstall_wordpress(){
|
|||||||
NEWDBPWD="define('DB_NAME', '${SQL_DB}');"
|
NEWDBPWD="define('DB_NAME', '${SQL_DB}');"
|
||||||
linechange 'DB_NAME' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
linechange 'DB_NAME' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
||||||
elif [ -f ${VH_DOC_ROOT}/wp-config.php ]; then
|
elif [ -f ${VH_DOC_ROOT}/wp-config.php ]; then
|
||||||
echo "${VH_DOC_ROOT}/wp-config.php already exist, exit !"
|
echo "${VH_DOC_ROOT}/wp-config.php already exist, exit !"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo 'Skip!'
|
echo 'Skip!'
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
app_wordpress_dl(){
|
app_wordpress_dl(){
|
||||||
@@ -108,34 +110,37 @@ main(){
|
|||||||
get_owner
|
get_owner
|
||||||
cd ${VH_DOC_ROOT}
|
cd ${VH_DOC_ROOT}
|
||||||
if [ "${APP_NAME}" = 'wordpress' ] || [ "${APP_NAME}" = 'wp' ]; then
|
if [ "${APP_NAME}" = 'wordpress' ] || [ "${APP_NAME}" = 'wp' ]; then
|
||||||
check_sql_native
|
check_sql_native
|
||||||
app_wordpress_dl
|
app_wordpress_dl
|
||||||
preinstall_wordpress
|
preinstall_wordpress
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "APP: ${APP_NAME} not support, exit!"
|
echo "APP: ${APP_NAME} not support, exit!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
while [ ! -z "${1}" ]; do
|
while [ ! -z "${1}" ]; do
|
||||||
case ${1} in
|
case ${1} in
|
||||||
-[hH] | -help | --help)
|
-[hH] | -help | --help)
|
||||||
help_message
|
help_message
|
||||||
;;
|
;;
|
||||||
-app | -a | -A) shift
|
-app | -a | -A) shift
|
||||||
check_input "${1}"
|
check_input "${1}"
|
||||||
APP_NAME="${1}"
|
APP_NAME="${1}"
|
||||||
;;
|
;;
|
||||||
-d | -D | -domain) shift
|
-d | -D | -domain) shift
|
||||||
check_input "${1}"
|
check_input "${1}"
|
||||||
DOMAIN="${1}"
|
DOMAIN="${1}"
|
||||||
set_vh_docroot ${DOMAIN}
|
set_vh_docroot ${DOMAIN}
|
||||||
;;
|
;;
|
||||||
*)
|
-vhname) shift
|
||||||
help_message
|
VHNAME="${1}"
|
||||||
;;
|
;;
|
||||||
esac
|
*)
|
||||||
shift
|
help_message
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
done
|
done
|
||||||
main
|
main
|
||||||
+3
-3
@@ -10,9 +10,9 @@ SET_OK=0
|
|||||||
|
|
||||||
help_message(){
|
help_message(){
|
||||||
echo 'Command [-domain xxx]'
|
echo 'Command [-domain xxx]'
|
||||||
echo 'Command [-user xxx] [-password xxx] [-database xxx]'
|
echo 'Command [-domain xxx] [-user xxx] [-password xxx] [-database xxx]'
|
||||||
echo 'Example 1: database.sh -domain example.com'
|
echo 'Example 1: database.sh -domain example.com'
|
||||||
echo 'Example 2: domain.sh -user USERNAME -password PASSWORD -database DATABASENAME'
|
echo 'Example 2: database.sh -domain example.com -user USERNAME -password PASSWORD -database DATABASENAME'
|
||||||
echo 'Script will auto assign database & username by the domain and random password for example 1'
|
echo 'Script will auto assign database & username by the domain and random password for example 1'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ add_sql_client(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_db_access(){
|
check_db_access(){
|
||||||
add_sql_client
|
#add_sql_client
|
||||||
docker-compose exec mysql su -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e 'status'" >/dev/null 2>&1
|
docker-compose exec mysql su -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e 'status'" >/dev/null 2>&1
|
||||||
if [ ${?} != 0 ]; then
|
if [ ${?} != 0 ]; then
|
||||||
echo "DB access failed, please check!"
|
echo "DB access failed, please check!"
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source .env
|
||||||
|
DEMO_VH='localhost'
|
||||||
|
APP_NAME='wordpress'
|
||||||
|
DEMO_PATH="/var/www/${DEMO_VH}"
|
||||||
|
|
||||||
|
help_message(){
|
||||||
|
echo 'Command [-domain]'
|
||||||
|
echo 'Script will get database password and wordpress password from .env file and install the demo wordpress site for you'
|
||||||
|
}
|
||||||
|
|
||||||
|
check_input(){
|
||||||
|
if [ -z "${1}" ]; then
|
||||||
|
help_message
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
run_database(){
|
||||||
|
bash bin/database.sh -domain ${DEMO_VH} -user ${MYSQL_USER} -password ${MYSQL_PASSWORD} -database ${MYSQL_DATABASE}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
app_download(){
|
||||||
|
docker-compose exec litespeed su -c "appinstallctl.sh -app ${1} -domain ${2} -vhname localhost"
|
||||||
|
}
|
||||||
|
|
||||||
|
main(){
|
||||||
|
run_database
|
||||||
|
app_download ${APP_NAME} ${DOMAIN}
|
||||||
|
}
|
||||||
|
|
||||||
|
while [ ! -z "${1}" ]; do
|
||||||
|
case ${1} in
|
||||||
|
-[hH] | -help | --help)
|
||||||
|
help_message
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
help_message
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
main
|
||||||
@@ -9,9 +9,6 @@ RUN wget https://openlitespeed.org/preuse/openlitespeed-1.6.4.tgz && \
|
|||||||
RUN apt-get install mysql-client lsphp73 lsphp73-common lsphp73-mysql lsphp73-opcache \
|
RUN apt-get install mysql-client lsphp73 lsphp73-common lsphp73-mysql lsphp73-opcache \
|
||||||
lsphp73-curl lsphp73-json lsphp73-imagick lsphp73-redis lsphp73-memcached -y
|
lsphp73-curl lsphp73-json lsphp73-imagick lsphp73-redis lsphp73-memcached -y
|
||||||
|
|
||||||
#RUN echo "admin:$(/usr/local/lsws/admin/fcgi-bin/admin_php* -q /usr/local/lsws/admin/misc/htpasswd.php ${WEB_ADMIN_PASSWORD})" \
|
|
||||||
# > /usr/local/lsws/admin/conf/htpasswd
|
|
||||||
|
|
||||||
EXPOSE 7080
|
EXPOSE 7080
|
||||||
|
|
||||||
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
|
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
|
||||||
|
|||||||
@@ -13,16 +13,12 @@ RUN apt-get install -y software-properties-common && \
|
|||||||
RUN apt-get install mysql-client lsphp73 lsphp73-common lsphp73-mysql lsphp73-opcache \
|
RUN apt-get install mysql-client lsphp73 lsphp73-common lsphp73-mysql lsphp73-opcache \
|
||||||
lsphp73-curl lsphp73-json lsphp73-imagick lsphp73-redis lsphp73-memcached -y
|
lsphp73-curl lsphp73-json lsphp73-imagick lsphp73-redis lsphp73-memcached -y
|
||||||
|
|
||||||
RUN echo "admin:$(/usr/local/lsws/admin/fcgi-bin/admin_php* -q /usr/local/lsws/admin/misc/htpasswd.php ${WEB_ADMIN_PASSWORD})" \
|
|
||||||
> /usr/local/lsws/admin/conf/htpasswd
|
|
||||||
|
|
||||||
EXPOSE 7080
|
EXPOSE 7080
|
||||||
|
|
||||||
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
|
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
|
||||||
chmod +x wp-cli.phar && mv wp-cli.phar /usr/local/bin/wp && \
|
chmod +x wp-cli.phar && mv wp-cli.phar /usr/local/bin/wp && \
|
||||||
ln -s /usr/local/lsws/lsphp73/bin/php7.3 /usr/bin/php
|
ln -s /usr/local/lsws/lsphp73/bin/php7.3 /usr/bin/php
|
||||||
|
|
||||||
|
|
||||||
RUN rm -rf /usr/local/lsws/conf
|
RUN rm -rf /usr/local/lsws/conf
|
||||||
ADD conf /usr/local/lsws/conf
|
ADD conf /usr/local/lsws/conf
|
||||||
RUN chown 999 /usr/local/lsws/conf -R
|
RUN chown 999 /usr/local/lsws/conf -R
|
||||||
|
|||||||
Reference in New Issue
Block a user