From 00a982da0b911f22a009aba932ba0a20629dd05b Mon Sep 17 00:00:00 2001 From: lian Date: Tue, 6 Jun 2017 17:36:47 +0800 Subject: [PATCH] update read mysql password from `.my.cnf` if the file already exists --- seafile-server-centos-7-amd64-http | 15 +- seafile-server-ubuntu-14-04-amd64-http | 497 ------------------------- seafile-server-ubuntu-16-04-amd64-http | 16 +- 3 files changed, 22 insertions(+), 506 deletions(-) delete mode 100644 seafile-server-ubuntu-14-04-amd64-http diff --git a/seafile-server-centos-7-amd64-http b/seafile-server-centos-7-amd64-http index b3466e2..12d81e4 100644 --- a/seafile-server-centos-7-amd64-http +++ b/seafile-server-centos-7-amd64-http @@ -280,6 +280,7 @@ systemctl restart nginx if [[ -f "/root/.my.cnf" ]] ; then echo "MariaDB installed before, skip this part" + SQLROOTPW=`sed -n 's/password=//p' /root/.my.cnf` else yum install mariadb-server -y systemctl start mariadb @@ -367,15 +368,21 @@ mv ${SEAFILE_SERVER_PACKAGE} installed # ------------------------------------------- # Seafile DB # ------------------------------------------- -SQLSEAFILEPW=$(pwgen) +if [[ -f "/opt/seafile.my.cnf" ]] ; +then + echo "MariaDB installed before, skip this part" + SQLSEAFILEPW=`sed -n 's/password=//p' /opt/seafile.my.cnf` +else + SQLSEAFILEPW=$(pwgen) -cat > /opt/seafile/.my.cnf < /opt/seafile.my.cnf < ${TOPDIR}/aio_seafile-server.log< -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -# - -if [[ $HOME == "" ]]; then - export HOME=/root -fi - -if [[ $SEAFILE_DEBUG != "" ]]; then - set -x -fi -set -e - -if [[ "$#" -ne 1 ]]; then - echo "You must specif Seafile version to install" - echo "Like: $0 4.4.2" - exit 1 -fi - -clear -cat < /etc/nginx/sites-available/seafile.conf <<'EOF' -server { - listen 80; - server_name ""; - - location / { - fastcgi_pass 127.0.0.1:8000; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $fastcgi_script_name; - fastcgi_param SERVER_PROTOCOL $server_protocol; - fastcgi_param QUERY_STRING $query_string; - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param CONTENT_TYPE $content_type; - fastcgi_param CONTENT_LENGTH $content_length; - fastcgi_param SERVER_ADDR $server_addr; - fastcgi_param SERVER_PORT $server_port; - fastcgi_param SERVER_NAME $server_name; - - access_log /var/log/nginx/seahub.access.log; - error_log /var/log/nginx/seahub.error.log; - } - location /seafhttp { - rewrite ^/seafhttp(.*)$ $1 break; - proxy_pass http://127.0.0.1:8082; - client_max_body_size 0; - proxy_connect_timeout 36000s; - proxy_read_timeout 36000s; - } - location /media { - root /opt/seafile/seafile-server-latest/seahub; - } - location /seafdav { - fastcgi_pass 127.0.0.1:8080; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $fastcgi_script_name; - fastcgi_param SERVER_PROTOCOL $server_protocol; - fastcgi_param QUERY_STRING $query_string; - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param CONTENT_TYPE $content_type; - fastcgi_param CONTENT_LENGTH $content_length; - fastcgi_param SERVER_ADDR $server_addr; - fastcgi_param SERVER_PORT $server_port; - fastcgi_param SERVER_NAME $server_name; - - client_max_body_size 0; - - access_log /var/log/nginx/seafdav.access.log; - error_log /var/log/nginx/seafdav.error.log; - } -} -EOF - -ln -sf /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/seafile.conf - -service nginx restart - - -# ------------------------------------------- -# MariaDB -# ------------------------------------------- -if [[ -f "/root/.my.cnf" ]] ; -then - echo "MariaDB installed before, skip this part" -else - DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server - - SQLROOTPW=$(pwgen) - - mysqladmin -u root password $SQLROOTPW - - cat > /root/.my.cnf < /etc/init.d/seafile-server <<'EOF' -#!/bin/bash -### BEGIN INIT INFO -# Provides: seafile-server -# Required-Start: $remote_fs $syslog mysql -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Seafile server -# Description: Start Seafile server -### END INIT INFO - -# Author: Alexander Jackson - -# Change the value of "seafile_dir" to your path of seafile installation -seafile_dir=/opt/seafile -script_path=${seafile_dir}/seafile-server-latest -seafile_init_log=${seafile_dir}/logs/seafile.init.log -seahub_init_log=${seafile_dir}/logs/seahub.init.log - -# Change the value of fastcgi to true if fastcgi is to be used -fastcgi=true -# Set the port of fastcgi, default is 8000. Change it if you need different. -fastcgi_port=8000 - -case "$1" in - start) - ${script_path}/seafile.sh start >> ${seafile_init_log} - if [ $fastcgi = true ]; - then - ${script_path}/seahub.sh start-fastcgi ${fastcgi_port} >> ${seahub_init_log} - else - ${script_path}/seahub.sh start >> ${seahub_init_log} - fi - ;; - restart) - ${script_path}/seafile.sh restart >> ${seafile_init_log} - if [ $fastcgi = true ]; - then - ${script_path}/seahub.sh restart-fastcgi ${fastcgi_port} >> ${seahub_init_log} - else - ${script_path}/seahub.sh restart >> ${seahub_init_log} - fi - ;; - stop) - ${script_path}/seafile.sh $1 >> ${seafile_init_log} - ${script_path}/seahub.sh $1 >> ${seahub_init_log} - ;; - *) - echo "Usage: /etc/init.d/seafile-server {start|stop|restart}" - exit 1 - ;; -esac -EOF - -chmod +x /etc/init.d/seafile-server -update-rc.d seafile-server defaults - - -# ------------------------------------------- -# Seafile -# ------------------------------------------- -mkdir -p /opt/seafile/installed -cd /opt/seafile/ -if ! is_pro && [[ ! -e /opt/${SEAFILE_SERVER_PACKAGE} ]]; then - curl -OL ${SEAFILE_SERVER_PACKAGE_URL} -else - cp /opt/${SEAFILE_SERVER_PACKAGE} . -fi -tar xzf ${SEAFILE_SERVER_PACKAGE} - -mv ${SEAFILE_SERVER_PACKAGE} installed - - -# ------------------------------------------- -# Seafile DB -# ------------------------------------------- -SQLSEAFILEPW=$(pwgen) - -cat > /opt/seafile/.my.cnf <> ${DEST_SETTINGS_PY} < ${TOPDIR}/aio_seafile-server.log< /opt/seafile/.my.cnf < /opt/seafile.my.cnf < ${TOPDIR}/aio_seafile-server.log<