Update setup script

This commit is contained in:
Elie 2014-08-07 23:16:24 -04:00
parent f64b22bd07
commit 85dc51a1bd
3 changed files with 34 additions and 133 deletions

View file

@ -28,6 +28,14 @@
}, },
"example": "/seafile", "example": "/seafile",
"default": "/seafile" "default": "/seafile"
},
{
"name": "server_name",
"ask": {
"en": "Choose a name"
},
"example": "Seafile",
"default": "Seafile"
} }
] ]
} }

View file

@ -1,7 +1,9 @@
# Retrieve arguments # Retrieve arguments
domain=$1 domain=$1
path=$2 path=$2
server_name=$3
final_path=/var/www/seafile final_path=/var/www/seafile
seafile_data=$final_path/seafile-data
seafile_version=3.1.1 seafile_version=3.1.1
# Check domain/path availability # Check domain/path availability
@ -25,10 +27,23 @@ sudo mv ../sources/'seafile-server_'$seafile_version'_x86-64.tar' $final_path/in
# Set permissions to seafile directory # Set permissions to seafile directory
sudo chown -R www-data: $final_path sudo chown -R www-data: $final_path
# Find available ports
ccnet_port=10001
seafile_port=12001
seahub_port=8082
# Modify install script with parameters # Modify install script with parameters
sed -i "s@SERVER_NAME@$server_name@g" ../sources/setup-seafile.sh
sed -i "s@DOMAIN@$domain@g" ../sources/setup-seafile.sh
sed -i "s@CCNET_PORT@$ccnet_port@g" ../sources/setup-seafile.sh
sed -i "s@SEAFILE_DATA@$seafile_data@g" ../sources/setup-seafile.sh
sed -i "s@SEAFILE_PORT@$seafile_port@g" ../sources/setup-seafile.sh
sed -i "s@SEAHUB_PORT@$seahub_port@g" ../sources/setup-seafile.sh
# Run install script # Run install script
sudo cp ../sources/setup-seafile.sh $final_path/seafile-server-$seafile_version
sudo chmod +x $final_path/seafile-server-$seafile_version/setup-seafile.sh
sudo $final_path/seafile-server-$seafile_version/setup-seafile.sh
# Start Seafile Server # Start Seafile Server
@ -36,6 +51,7 @@ sudo chown -R www-data: $final_path
# Add Seafile Server to startup # Add Seafile Server to startup
# TODO # TODO
# Modify Nginx configuration file and copy it to Nginx conf directory # Modify Nginx configuration file and copy it to Nginx conf directory
sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf

View file

@ -23,10 +23,6 @@ function welcome () {
echo "which may have problems if your disk is on a NFS/CIFS/USB." echo "which may have problems if your disk is on a NFS/CIFS/USB."
echo "In these cases, we sugguest you setup seafile server using MySQL." echo "In these cases, we sugguest you setup seafile server using MySQL."
echo echo
echo "Press [ENTER] to continue"
echo "-----------------------------------------------------------------"
read dummy
echo
} }
function err_and_quit () { function err_and_quit () {
@ -187,122 +183,6 @@ function ask_question () {
fi fi
} }
function get_server_name () {
question="What would you like to use as the name of this seafile server?\nYour seafile users will be able to see the name in their seafile client."
hint="You can use a-z, A-Z, 0-9, _ and -, and the length should be 3 ~ 15"
ask_question "${question}\n${hint}" "nodefault" "server name"
read server_name
if [[ "${server_name}" == "" ]]; then
echo
echo "server name cannot be empty"
get_server_name
elif [[ ! ${server_name} =~ ^[a-zA-Z0-9_-]{3,14}$ ]]; then
printf "\n\033[33m${server_name}\033[m is not a valid name.\n"
get_server_name;
fi
echo
}
function get_server_ip_or_domain () {
question="What is the ip or domain of this server?\nFor example, www.mycompany.com, or, 192.168.1.101"
ask_question "${question}\n" "nodefault" "This server's ip or domain"
read ip_or_domain
if [[ "${ip_or_domain}" == "" ]]; then
echo
echo "ip or domain cannot be empty"
get_server_ip_or_domain
fi
echo
}
function get_ccnet_server_port () {
question="What tcp port do you want to use for ccnet server?"
hint="10001 is the recommended port."
default="10001"
ask_question "${question}\n${hint}" "${default}"
read server_port
if [[ "${server_port}" == "" ]]; then
server_port="${default}"
fi
if [[ ! ${server_port} =~ ^[0-9]+$ ]]; then
echo "\"${server_port}\" is not a valid port number. "
get_ccnet_server_port
fi
echo
}
function get_seafile_server_port () {
question="What tcp port would you like to use for seafile server?"
hint="12001 is the recommended port."
default="12001"
ask_question "${question}\n${hint}" "${default}"
read seafile_server_port
if [[ "${seafile_server_port}" == "" ]]; then
seafile_server_port="${default}"
fi
if [[ ! ${seafile_server_port} =~ ^[0-9]+$ ]]; then
echo "\"${seafile_server_port}\" is not a valid port number. "
get_seafile_server_port
fi
echo
}
function get_fileserver_port () {
question="What tcp port do you want to use for seafile fileserver?"
hint="8082 is the recommended port."
default="8082"
ask_question "${question}\n${hint}" "${default}"
read fileserver_port
if [[ "${fileserver_port}" == "" ]]; then
fileserver_port="${default}"
fi
if [[ ! ${fileserver_port} =~ ^[0-9]+$ ]]; then
echo "\"${fileserver_port}\" is not a valid port number. "
get_fileserver_port
fi
echo
}
function get_seafile_data_dir () {
question="Where would you like to store your seafile data?"
note="Please use a volume with enough free space."
default=${default_seafile_data_dir}
ask_question "${question} \n\033[33mNote: \033[m${note}" "${default}"
read seafile_data_dir
if [[ "${seafile_data_dir}" == "" ]]; then
seafile_data_dir=${default}
fi
if [[ -d ${seafile_data_dir} && -f ${seafile_data_dir}/seafile.conf ]]; then
echo
echo "It seems that you have already existing seafile data in ${seafile_data_dir}."
echo "Would you like to use the existing seafile data?"
if ! read_yes_no; then
echo "You have chosen not to use existing seafile data in ${seafile_data_dir}"
echo "You need to specify a different seafile data directory or remove ${seafile_data_dir} before continuing."
get_seafile_data_dir
else
use_existing_seafile="true"
fi
elif [[ -d ${seafile_data_dir} && $(ls -A ${seafile_data_dir}) != "" ]]; then
echo
echo "${seafile_data_dir} is an existing non-empty directory. Please specify a different directory"
echo
get_seafile_data_dir
elif [[ ! ${seafile_data_dir} =~ ^/ ]]; then
echo
echo "\"${seafile_data_dir}\" is not an absolute path. Please specify an absolute path."
echo
get_seafile_data_dir
elif [[ ! -d $(dirname ${seafile_data_dir}) ]]; then
echo
echo "The path $(dirname ${seafile_data_dir}) does not exist."
echo
get_seafile_data_dir
fi
echo
}
function gen_seafdav_conf () { function gen_seafdav_conf () {
mkdir -p ${default_conf_dir} mkdir -p ${default_conf_dir}
@ -335,21 +215,20 @@ function copy_user_manuals() {
check_sanity; check_sanity;
welcome; welcome;
sleep .5
check_system_dependency; check_system_dependency;
sleep .5
check_existing_ccnet; check_existing_ccnet;
if [[ ${use_existing_ccnet} != "true" ]]; then if [[ ${use_existing_ccnet} != "true" ]]; then
get_server_name; server_name=SERVER_NAME
get_server_ip_or_domain; ip_or_domain=DOMAIN;
get_ccnet_server_port; server_port=CCNET_PORT
fi fi
get_seafile_data_dir; seafile_data_dir=SEAFILE_DATA
if [[ ${use_existing_seafile} != "true" ]]; then if [[ ${use_existing_seafile} != "true" ]]; then
get_seafile_server_port seafile_server_port=SEAFILE_PORT
get_fileserver_port fileserver_port=SEAHUB_PORT
fi fi
sleep .5 sleep .5
@ -372,9 +251,7 @@ else
printf "seafile data dir: use existing data in \033[33m${seafile_data_dir}\033[m\n" printf "seafile data dir: use existing data in \033[33m${seafile_data_dir}\033[m\n"
fi fi
echo
echo "If you are OK with the configuration, press [ENTER] to continue."
read dummy
ccnet_init=${INSTALLPATH}/seafile/bin/ccnet-init ccnet_init=${INSTALLPATH}/seafile/bin/ccnet-init
seaf_server_init=${INSTALLPATH}/seafile/bin/seaf-server-init seaf_server_init=${INSTALLPATH}/seafile/bin/seaf-server-init
@ -442,7 +319,7 @@ echo "Seahub is the web interface for seafile server."
echo "Now let's setup seahub configuration. Press [ENTER] to continue" echo "Now let's setup seahub configuration. Press [ENTER] to continue"
echo "-----------------------------------------------------------------" echo "-----------------------------------------------------------------"
echo echo
read dummy
# echo "Please specify the email address and password for the seahub administrator." # echo "Please specify the email address and password for the seahub administrator."
# echo "You can use them to login as admin on your seahub website." # echo "You can use them to login as admin on your seahub website."