Installation von Tiny Tiny RSS/Installationsskript
Aus Synology Wiki
Dies ist die aktuellste Version dieser Seite. Sie hat keine bestätigte Version.
Installationsskript für Tiny Tiny RSS. Bezieht sich auf eine ältere Version und wird nicht mehr gepflegt.
This script is deprecated!
#!/bin/sh # #ttrss - post-install # switch to directory read -p "Give the directory of ttrss (enter '.' for current directory): " dir if [ -z "$dir" ]; then echo "no dir given" exit 1 fi cd "$dir" # Safety check if [ ! -e config.php* ]; then echo "This does not look like a ttrss directory" echo "Exiting..." exit 1 fi # check config_version ConVer=26 CONFIG_VERSION=`awk -F ' |)' '/CONFIG_VERSION/{print $2}' config.php-dist` if [ "$ConVer" -ne "$CONFIG_VERSION" ]; then echo "This script is written for a different CONFIG_VERSION of ttrss" exit 1 fi #mysql echo "Configuring mysql" read -p "Enter the database name (will be 'ttrss_db' if you leave it empty): " db read -p "Enter the MySQL user accessing ttRSSes database (will be 'ttrss_user' if you leave it empty): " db_user read -p "Enter this users password (will be the users name if you leave it empty): " db_pass read -p "Enter the full URL to TT RSSes directory (a la http://yourserver/tt-rss/): " ttrss_url # set default names if [ -z "$db" ]; then db=ttrss_db fi if [ -z "$db_user" ]; then db_user=ttrss_user fi if [ -z "$db_pass" ]; then db_pass="$db_user" fi # get MySQLs root passwd (refactored) got_root=0 root_pass="" get_MySQL_root (){ if [ "$got_root" -ne 0 ]; then return 0 fi read -p "Enter MySQL's root password: " root_pass /usr/syno/mysql/bin/mysql -u root -p"$root_pass" -e quit 2> /dev/null if [ $? -ne 0 ]; then echo "mysql's root password is wrong" get_MySQL_root fi got_root=1 return 0 } # create database read -p "Should I create the MySQL database '$db'? (y/n): " input if [ "$input" = "yes" -o "$input" = "y" ]; then echo "Creating database '$db'." get_MySQL_root /usr/syno/mysql/bin/mysql -u root -p"$root_pass" -e "CREATE DATABASE $db;" if [ $? -ne 0 ]; then echo "There were problems with the creation of database '$db'." echo "Exiting" exit 1 else echo "Created database '$db'." fi fi #create user read -p "Should I create the MySQL user '$db_user' and give him priviliges on '$db'? (y/n): " input if [ "$input" = "yes" -o "$input" = "y" ]; then echo "Creating MySQL user '$db_user' and granting him privileges on database '$db'." get_MySQL_root #Creating the user and granting privileges. /usr/syno/mysql/bin/mysql -u root -p"$root_pass" -e "CREATE USER '$db_user'@'localhost' IDENTIFIED BY '$db_pass'; GRANT USAGE ON *.* TO '$db_user'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; GRANT ALL PRIVILEGES ON \`$db\`.* TO '$db_user'@'localhost'; FLUSH PRIVILEGES;" if [ $? -ne 0 ]; then echo "There were problems with the creation of user '$db_user'." echo "Exiting" exit 1 else echo "Created user '$db_user'." fi fi #install schema echo "Installing schema." /usr/syno/mysql/bin/mysql -u "$db_user" -D "$db" -p"$db_pass" < schema/ttrss_schema_mysql.sql if [ $? -ne 0 ]; then echo "There were problems installing the schema." echo "Exiting" exit 1 else echo "Schema installed." fi echo "Finished mysql configuration." #give nobody ownership of some directories. for dir in "lock" "cache" "feed-icons"; do chown -R nobody:nobody "$dir" done #create config file echo "Creating config.php" cp -p config.php-dist config.php sed -i -e "s#[ ]*define('DB_TYPE',[ ]*\".*\");.*# define('DB_TYPE', \"mysql\");#" config.php sed -i -e "s#[ ]*define('DB_USER',[ ]*\".*\");.*# define('DB_USER', \"$db_user\");#" config.php sed -i -e "s#[ ]*define('DB_NAME',[ ]*\".*\");.*# define('DB_NAME', \"$db\");#" config.php sed -i -e "s#[ ]*define('DB_PASS',[ ]*\".*\");.*# define('DB_PASS', \"$db_pass\");#" config.php sed -i -e "s#[ ]*define('SELF_URL_PATH',[ ]*'.*');.*# define('SELF_URL_PATH', '$ttrss_url');#" config.php echo "Finished!"