#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH # Check if user is root if [ $(id -u) != "0" ]; then printf "Error: You must be root to run this script!\n" exit 1 fi clear printf "=========================================================================\n" printf "Fix Pureftpd bug under MySQL 5.5 for LNMP V1.0 , Written by Licess \n" printf "=========================================================================\n" printf "LNMP is a tool to auto-compile & install Nginx+MySQL+PHP on Linux \n" printf "This script is a tool to install pureftpd for lnmp \n" printf "\n" printf "For more information please visit http://www.lnmp.org \n" printf "\n" printf "Usage: ./pureftpd.sh \n" printf "=========================================================================\n" cur_dir=$(pwd) #set mysql root password mysqlrootpwd="" read -p "Please input your root password of mysql:" mysqlrootpwd if [ "$mysqlrootpwd" = "" ]; then echo "MySQL root password can't be NULL!" exit 1 else echo "===========================" echo "Your root password of mysql was:$mysqlrootpwd" echo "===========================" fi #set password of User manager ftpmanagerpwd="" read -p "Please input password of User manager:" ftpmanagerpwd if [ "$ftpmanagerpwd" = "" ]; then echo "password of User manager can't be NULL!" exit 1 else echo "===========================" echo "Your password of User manager was:$ftpmanagerpwd" echo "===========================" fi #set password of mysql ftp user mysqlftppwd="" read -p "Please input password of mysql ftp user:" mysqlftppwd if [ "$mysqlftppwd" = "" ]; then echo "password of User manager can't be NULL!" echo "script will randomly generated a password!" mysqlftppwd=`cat /dev/urandom | head -1 | md5sum | head -c 8` echo "===========================" echo "Your password of mysql ftp user was:$mysqlftppwd" echo "===========================" fi get_char() { SAVEDSTTY=`stty -g` stty -echo stty cbreak dd if=/dev/tty bs=1 count=1 2> /dev/null stty -raw stty echo stty $SAVEDSTTY } echo "" echo "Press any key to start fix Pure-FTPd bug under MySQL 5.5..." char=`get_char` echo "Start download files..." wget -c http://soft.vpser.net/lnmp/ext/pureftpd4mysql55.sql echo "Modify parameters of pureftpd configures..." sed -i 's/127.0.0.1/localhost/g' /usr/local/pureftpd/pureftpd-mysql.conf sed -i 's/tmppasswd/'$mysqlftppwd'/g' /usr/local/pureftpd/pureftpd-mysql.conf sed -i 's/mysqlftppwd/'$mysqlftppwd'/g' pureftpd4mysql55.sql sed -i 's/ftpmanagerpwd/'$ftpmanagerpwd'/g' pureftpd4mysql55.sql echo "Import pureftpd database..." /usr/local/mysql/bin/mysql -u root -p$mysqlrootpwd -h localhost < pureftpd4mysql55.sql rm -f pureftpd4mysql55.sql clear printf "=======================================================================\n" printf "Restarting pureftpd...\n" /etc/init.d/pureftpd restart printf "=======================================================================\n" printf "Pureftpd bug under MySQL 5.5 fix completed,enjoy it!\n" printf "Now you enter http://IP/ftp/ in you Web Browser to manager FTP users\n" printf "Your password of User manager was:$ftpmanagerpwd\n" printf "Your password of mysql ftp user was:$mysqlftppwd\n" printf "\n" printf "For more information please visit http://www.lnmp.org \n" printf "=======================================================================\n"