- 浏览: 27625 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
#!/bin/bash
#作者:duanyunxi
#版本:v2.0
touch /var/installserver.tmp
##开始准备工作##
echo "##开始准备工作!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`grep 'ready' /var/installserver.tmp`
if [ "$RETVAL" == "" ]; then
echo "##确认server_2.0的路径!##"
echo "请输入server_2.0所在的位置,例如:/home/server_2.0.tar.gz"
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
read SERVERPATH
echo "您输入server_2.0所在的位置是:$SERVERPATH,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认server_2.0所在的位置后,重新输入:"
else
echo "server_2.0所在的位置为:$SERVERPATH"
fi
done
echo "##解压server_2.0!##"
cd /home
cp $SERVERPATH /home/server_2.0.tar.gz
tar xzf server_2.0.tar.gz
chmod 755 -R server_2.0
echo "ready ok!" >> /var/installserver.tmp
echo "准备工作已经完成!"
sleep 10
else
echo "准备工作已经做过!"
fi
fi
##开始安装JDK##
echo "##开始安装JDK!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'jdk'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
cd /home/server_2.0
chmod u+x ./jdk-6u19-linux-i586.bin
./jdk-6u19-linux-i586.bin
mv jdk1.6.0_19 /usr/local/jdk
ln -s /usr/local/jdk/bin/java /usr/bin/java
ln -s /usr/local/jdk/bin/javac /usr/bin/javac
ln -s /usr/local/jdk/jre /usr/local/jre
echo "jdk has installed successfully!" >> /var/installserver.tmp
echo "JDK安装完成!"
sleep 10
else
echo "JDK已经安装过了!"
fi
fi
##开始配置JDK环境变量##
echo "##开始配置JDK环境变量!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /etc/profile|grep 'JAVA_HOME'`
if [ "$RETVAL" == "" ]; then
echo "" >> /etc/profile
echo 'JAVA_HOME=/usr/local/jdk' >> /etc/profile
echo 'JRE_HOME=/usr/local/jre' >> /etc/profile
echo 'PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin' >> /etc/profile
echo 'CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:' >> /etc/profile
echo 'export JAVA_HOME JRE_HOME PATH CLASSPATH' >> /etc/profile
source /etc/profile
echo "JDK环境变量配置完成!"
else
echo "JDK环境变量已经配置过了!"
fi
java -version
fi
##开始安装resin##
echo "##开始安装resin!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'resin'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
#####duanyunxi-2010-10-28
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PORT=""
echo "请输入resin的端口号?(8000-8999)"
read PORT
if [ ${PORT} -lt 8000 ] || [ ${PORT} -gt 8999 ]; then
echo "您输入的端口号超出范围,重新输入:"
read PORT
fi
echo "您输入端口号是:$PORT,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认端口后,重新输入:"
else
echo "RESIN_PORT=$PORT" >> /var/installserver.tmp
echo "端口为:$PORT"
fi
done
cd /home/server_2.0
tar -zxvf resin-pro-3.1.10.tar.gz
cd resin-pro-3.1.10
./configure --prefix=/usr/local/resin --enable-jni
sleep 10
make
sleep 10
make install
sleep 10
RETVAL=`cat /etc/profile|grep 'RESIN_HOME'`
if [ "$RETVAL" == "" ]; then
echo "" >> /etc/profile
echo 'RESIN_HOME=/usr/local/resin' >> /etc/profile
echo 'export RESIN_HOME ' >> /etc/profile
source /etc/profile
echo "resin环境变量配置完成!"
fi
##duanyunxi
sed -i -e "s@8080@$PORT@" /usr/local/resin/conf/resin.conf
cp /home/server_2.0/resin.init /etc/init.d/resin
chmod +x /etc/init.d/resin
chkconfig --del resin && chkconfig --add resin
chkconfig resin on
echo "resin has installed successfully!" >> /var/installserver.tmp
echo "resin安装完成!"
sleep 10
else
echo "resin已经安装过了!"
fi
fi
##开始安装nginx##
echo "##开始安装nginx!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'nginx'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
cd /home/server_2.0
tar -zxvf pcre-7.8.tar.gz
tar -zxvf zlib-1.2.2.tar.gz
tar zxvf openssl-0.9.8k.tar.gz
tar zxvf nginx-0.8.38.tar.gz
cd nginx-0.8.38/
./configure --prefix=/usr/local/nginx --with-pcre=/home/server_2.0/pcre-7.8 --with-zlib=/home/server_2.0/zlib-1.2.2 --with-openssl=/home/server_2.0/openssl-0.9.8k \
--with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module
sleep 10
make
sleep 10
make install
sleep 10
cp /home/server_2.0/nginx.init /etc/init.d/nginx
chmod +x /etc/init.d/nginx
chkconfig --del nginx && chkconfig --add nginx
chkconfig nginx on
echo "nginx has installed successfully!" >> /var/installserver.tmp
echo "nginx安装完成!"
else
echo "nginx已经安装过了!"
sleep 10
fi
fi
##开始安装mysql##
echo "##开始安装mysql!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'mysql'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
ENCODE=""
echo "请选择mysql的编码(g:gbk|u:utf8)?"
read ENCODE
if [ "$ENCODE" == "G" ] || [ "$ENCODE" == "g" ]; then
echo "您选择的编码是gbk,请确认(y|n)?"
ENCODE="gbk"
elif [ "$ENCODE" == "U" ] || [ "$ENCODE" == "u" ]; then
echo "您选择的编码是utf8,请确认(y|n)?"
ENCODE="utf8"
fi
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认后,重新输入:"
else
echo "MYSQL_ENCODE=$ENCODE" >> /var/installserver.tmp
echo "mysql的编码为:$ENCODE"
fi
done
#####duanyunxi-2010-10-28
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PORT=""
echo "请输入mysql的端口号?(8000-8999)"
read PORT
if [ ${PORT} -lt 8000 ] || [ ${PORT} -gt 8999 ]; then
echo "您输入的端口号超出范围,重新输入:"
read PORT
fi
echo "您输入端口号是:$PORT,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认端口后,重新输入:"
else
echo "MYSQL_PORT=$PORT" >> /var/installserver.tmp
echo "端口为:$PORT"
fi
done
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
DATAPATH=""
echo "请输入数据存放位置,例如:/var/data"
read DATAPATH
echo "您输入数据存放位置是:$DATAPATH,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认数据存放位置后,重新输入:"
else
echo "DATA_PATH=$DATAPATH" >> /var/installserver.tmp
echo "数据存放位置为:$DATAPATH"
fi
done
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PASSWORD=""
echo "请输入mysql管理员用户root的密码?"
read PASSWORD
echo "您输入密码是:$PASSWORD,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认密码后,重新输入:"
else
echo "密码为:$PASSWORD"
fi
done
rm -rf /etc/my.cnf
groupadd mysql
useradd -g mysql mysql
cd /home/server_2.0
tar -zxvf mysql-5.1.45.tar.gz
cd mysql-5.1.45
./configure --prefix=/usr/local/mysql --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --enable-assembler --with-extra-charsets=gb2312,big5,utf8,binary,ascii --enable-thread-safe-client --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
sleep 10
make
sleep 10
make install
sleep 10
cp support-files/my-medium.cnf /etc/my.cnf
RETVAL=`cat /etc/my.cnf|grep 'default-character-set'`
if [ "$RETVAL" == "" ]; then
sed -i -e "s@\[client\]@\[client\]\ndefault-character-set = $ENCODE@" /etc/my.cnf
sed -i -e "s@\[mysqld\]@\[mysqld\]\ndefault-character-set = $ENCODE@" /etc/my.cnf
fi
##duanyunxi
sed -i -e "s@3306@$PORT@" /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
###duanyunxi
sed -i -e "40,50s@basedir=@basedir=/usr/local/mysql@" /etc/init.d/mysql
sed -i -e "40,50s@datadir=@datadir=$DATAPATH@" /etc/init.d/mysql
chkconfig --del mysql && chkconfig --add mysql
chkconfig mysql on
cd /usr/local/mysql
bin/mysql_install_db --user=mysql --datadir=$DATAPATH
chown -R root .
chown -R mysql var
chgrp -R mysql .
service mysql start
rm -rf /usr/bin/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
####duanyunxi
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
mysqladmin -u root password "$PASSWORD"
mysqladmin -h localhost -u root password "$PASSWORD"
mysqladmin -uroot -p$PASSWORD version 1> /dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "mysql has installed successfully!" >> /var/installserver.tmp
echo "mysql安装完成!"
fi
touch /var/mysql.sql
echo "SET NAMES utf8;" >> /var/mysql.sql
echo "USE \`mysql\`;" >> /var/mysql.sql
echo "INSERT INTO \`user\` VALUES ('%','root',PASSWORD('$PASSWORD'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','N','N','N','N','','','','',0,0,0,0);" >> /var/mysql.sql
mysql -uroot -p$PASSWORD mysql</var/mysql.sql
rm -rf /var/mysql.sql
service mysql stop
sleep 10
else
echo "mysql已经安装过了!"
fi
fi
# ##设置防火墙##
# echo "##设置防火墙!##"
# if [ -f /var/installserver.tmp ]; then
# RETVAL=`cat /etc/sysconfig/SuSEfirewall2|grep 'FW_SERVICES_EXT_TCP'|grep '80 8080 443 3306'`
# if [ "$RETVAL" == "" ]; then
# sed -i -e "s@FW_SERVICES_EXT_TCP=\"\"@FW_SERVICES_EXT_TCP=\"80 8080 443 3306\"@" /etc/sysconfig/SuSEfirewall2
# fi
#
# RETVAL=`cat /etc/sysconfig/SuSEfirewall2|grep 'FW_SERVICES_EXT_UDP'|grep '177'`
# if [ "$RETVAL" == "" ]; then
# sed -i -e "s@FW_SERVICES_EXT_UDP=\"\"@FW_SERVICES_EXT_UDP=\"177\"@" /etc/sysconfig/SuSEfirewall2
# fi
# rcSuSEfirewall2 restart
# echo "防火墙设置完成!"
# fi
######duanyunxi
##设置防火墙##
echo "##设置防火墙!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'SuSEfirewall2'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PORTS=""
echo "请输入开放resin,mysql的端口号?(*空格隔开)"
read PORTS
echo "您输入端口号是:$PORTS,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认开放端口后,重新输入:"
else
echo "SuSEfirewall2_PORTS=$PORTS" >> /var/installserver.tmp
echo "SuSEfirewall2 has set successfully!" >> /var/installserver.tmp
echo "开放resin,mysql的端口有:$PORTS"
fi
sed -i -e "s@FW_SERVICES_EXT_TCP=\"@FW_SERVICES_EXT_TCP=\"$PORTS 80 22 443 @" /etc/sysconfig/SuSEfirewall2
sed -i -e "s@FW_SERVICES_EXT_UDP=\"\"@FW_SERVICES_EXT_UDP=\"177\"@" /etc/sysconfig/SuSEfirewall2
done
rcSuSEfirewall2 restart
echo "防火墙设置完成!"
fi
fi
echo "service resin (start|stop|restart)"
echo "service nginx (start|stop|restart)"
echo "service mysql (start|stop|restart|status)"
#作者:duanyunxi
#版本:v2.0
touch /var/installserver.tmp
##开始准备工作##
echo "##开始准备工作!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`grep 'ready' /var/installserver.tmp`
if [ "$RETVAL" == "" ]; then
echo "##确认server_2.0的路径!##"
echo "请输入server_2.0所在的位置,例如:/home/server_2.0.tar.gz"
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
read SERVERPATH
echo "您输入server_2.0所在的位置是:$SERVERPATH,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认server_2.0所在的位置后,重新输入:"
else
echo "server_2.0所在的位置为:$SERVERPATH"
fi
done
echo "##解压server_2.0!##"
cd /home
cp $SERVERPATH /home/server_2.0.tar.gz
tar xzf server_2.0.tar.gz
chmod 755 -R server_2.0
echo "ready ok!" >> /var/installserver.tmp
echo "准备工作已经完成!"
sleep 10
else
echo "准备工作已经做过!"
fi
fi
##开始安装JDK##
echo "##开始安装JDK!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'jdk'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
cd /home/server_2.0
chmod u+x ./jdk-6u19-linux-i586.bin
./jdk-6u19-linux-i586.bin
mv jdk1.6.0_19 /usr/local/jdk
ln -s /usr/local/jdk/bin/java /usr/bin/java
ln -s /usr/local/jdk/bin/javac /usr/bin/javac
ln -s /usr/local/jdk/jre /usr/local/jre
echo "jdk has installed successfully!" >> /var/installserver.tmp
echo "JDK安装完成!"
sleep 10
else
echo "JDK已经安装过了!"
fi
fi
##开始配置JDK环境变量##
echo "##开始配置JDK环境变量!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /etc/profile|grep 'JAVA_HOME'`
if [ "$RETVAL" == "" ]; then
echo "" >> /etc/profile
echo 'JAVA_HOME=/usr/local/jdk' >> /etc/profile
echo 'JRE_HOME=/usr/local/jre' >> /etc/profile
echo 'PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin' >> /etc/profile
echo 'CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:' >> /etc/profile
echo 'export JAVA_HOME JRE_HOME PATH CLASSPATH' >> /etc/profile
source /etc/profile
echo "JDK环境变量配置完成!"
else
echo "JDK环境变量已经配置过了!"
fi
java -version
fi
##开始安装resin##
echo "##开始安装resin!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'resin'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
#####duanyunxi-2010-10-28
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PORT=""
echo "请输入resin的端口号?(8000-8999)"
read PORT
if [ ${PORT} -lt 8000 ] || [ ${PORT} -gt 8999 ]; then
echo "您输入的端口号超出范围,重新输入:"
read PORT
fi
echo "您输入端口号是:$PORT,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认端口后,重新输入:"
else
echo "RESIN_PORT=$PORT" >> /var/installserver.tmp
echo "端口为:$PORT"
fi
done
cd /home/server_2.0
tar -zxvf resin-pro-3.1.10.tar.gz
cd resin-pro-3.1.10
./configure --prefix=/usr/local/resin --enable-jni
sleep 10
make
sleep 10
make install
sleep 10
RETVAL=`cat /etc/profile|grep 'RESIN_HOME'`
if [ "$RETVAL" == "" ]; then
echo "" >> /etc/profile
echo 'RESIN_HOME=/usr/local/resin' >> /etc/profile
echo 'export RESIN_HOME ' >> /etc/profile
source /etc/profile
echo "resin环境变量配置完成!"
fi
##duanyunxi
sed -i -e "s@8080@$PORT@" /usr/local/resin/conf/resin.conf
cp /home/server_2.0/resin.init /etc/init.d/resin
chmod +x /etc/init.d/resin
chkconfig --del resin && chkconfig --add resin
chkconfig resin on
echo "resin has installed successfully!" >> /var/installserver.tmp
echo "resin安装完成!"
sleep 10
else
echo "resin已经安装过了!"
fi
fi
##开始安装nginx##
echo "##开始安装nginx!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'nginx'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
cd /home/server_2.0
tar -zxvf pcre-7.8.tar.gz
tar -zxvf zlib-1.2.2.tar.gz
tar zxvf openssl-0.9.8k.tar.gz
tar zxvf nginx-0.8.38.tar.gz
cd nginx-0.8.38/
./configure --prefix=/usr/local/nginx --with-pcre=/home/server_2.0/pcre-7.8 --with-zlib=/home/server_2.0/zlib-1.2.2 --with-openssl=/home/server_2.0/openssl-0.9.8k \
--with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module
sleep 10
make
sleep 10
make install
sleep 10
cp /home/server_2.0/nginx.init /etc/init.d/nginx
chmod +x /etc/init.d/nginx
chkconfig --del nginx && chkconfig --add nginx
chkconfig nginx on
echo "nginx has installed successfully!" >> /var/installserver.tmp
echo "nginx安装完成!"
else
echo "nginx已经安装过了!"
sleep 10
fi
fi
##开始安装mysql##
echo "##开始安装mysql!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'mysql'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
ENCODE=""
echo "请选择mysql的编码(g:gbk|u:utf8)?"
read ENCODE
if [ "$ENCODE" == "G" ] || [ "$ENCODE" == "g" ]; then
echo "您选择的编码是gbk,请确认(y|n)?"
ENCODE="gbk"
elif [ "$ENCODE" == "U" ] || [ "$ENCODE" == "u" ]; then
echo "您选择的编码是utf8,请确认(y|n)?"
ENCODE="utf8"
fi
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认后,重新输入:"
else
echo "MYSQL_ENCODE=$ENCODE" >> /var/installserver.tmp
echo "mysql的编码为:$ENCODE"
fi
done
#####duanyunxi-2010-10-28
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PORT=""
echo "请输入mysql的端口号?(8000-8999)"
read PORT
if [ ${PORT} -lt 8000 ] || [ ${PORT} -gt 8999 ]; then
echo "您输入的端口号超出范围,重新输入:"
read PORT
fi
echo "您输入端口号是:$PORT,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认端口后,重新输入:"
else
echo "MYSQL_PORT=$PORT" >> /var/installserver.tmp
echo "端口为:$PORT"
fi
done
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
DATAPATH=""
echo "请输入数据存放位置,例如:/var/data"
read DATAPATH
echo "您输入数据存放位置是:$DATAPATH,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认数据存放位置后,重新输入:"
else
echo "DATA_PATH=$DATAPATH" >> /var/installserver.tmp
echo "数据存放位置为:$DATAPATH"
fi
done
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PASSWORD=""
echo "请输入mysql管理员用户root的密码?"
read PASSWORD
echo "您输入密码是:$PASSWORD,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认密码后,重新输入:"
else
echo "密码为:$PASSWORD"
fi
done
rm -rf /etc/my.cnf
groupadd mysql
useradd -g mysql mysql
cd /home/server_2.0
tar -zxvf mysql-5.1.45.tar.gz
cd mysql-5.1.45
./configure --prefix=/usr/local/mysql --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --enable-assembler --with-extra-charsets=gb2312,big5,utf8,binary,ascii --enable-thread-safe-client --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
sleep 10
make
sleep 10
make install
sleep 10
cp support-files/my-medium.cnf /etc/my.cnf
RETVAL=`cat /etc/my.cnf|grep 'default-character-set'`
if [ "$RETVAL" == "" ]; then
sed -i -e "s@\[client\]@\[client\]\ndefault-character-set = $ENCODE@" /etc/my.cnf
sed -i -e "s@\[mysqld\]@\[mysqld\]\ndefault-character-set = $ENCODE@" /etc/my.cnf
fi
##duanyunxi
sed -i -e "s@3306@$PORT@" /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
###duanyunxi
sed -i -e "40,50s@basedir=@basedir=/usr/local/mysql@" /etc/init.d/mysql
sed -i -e "40,50s@datadir=@datadir=$DATAPATH@" /etc/init.d/mysql
chkconfig --del mysql && chkconfig --add mysql
chkconfig mysql on
cd /usr/local/mysql
bin/mysql_install_db --user=mysql --datadir=$DATAPATH
chown -R root .
chown -R mysql var
chgrp -R mysql .
service mysql start
rm -rf /usr/bin/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
####duanyunxi
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
mysqladmin -u root password "$PASSWORD"
mysqladmin -h localhost -u root password "$PASSWORD"
mysqladmin -uroot -p$PASSWORD version 1> /dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "mysql has installed successfully!" >> /var/installserver.tmp
echo "mysql安装完成!"
fi
touch /var/mysql.sql
echo "SET NAMES utf8;" >> /var/mysql.sql
echo "USE \`mysql\`;" >> /var/mysql.sql
echo "INSERT INTO \`user\` VALUES ('%','root',PASSWORD('$PASSWORD'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','N','N','N','N','','','','',0,0,0,0);" >> /var/mysql.sql
mysql -uroot -p$PASSWORD mysql</var/mysql.sql
rm -rf /var/mysql.sql
service mysql stop
sleep 10
else
echo "mysql已经安装过了!"
fi
fi
# ##设置防火墙##
# echo "##设置防火墙!##"
# if [ -f /var/installserver.tmp ]; then
# RETVAL=`cat /etc/sysconfig/SuSEfirewall2|grep 'FW_SERVICES_EXT_TCP'|grep '80 8080 443 3306'`
# if [ "$RETVAL" == "" ]; then
# sed -i -e "s@FW_SERVICES_EXT_TCP=\"\"@FW_SERVICES_EXT_TCP=\"80 8080 443 3306\"@" /etc/sysconfig/SuSEfirewall2
# fi
#
# RETVAL=`cat /etc/sysconfig/SuSEfirewall2|grep 'FW_SERVICES_EXT_UDP'|grep '177'`
# if [ "$RETVAL" == "" ]; then
# sed -i -e "s@FW_SERVICES_EXT_UDP=\"\"@FW_SERVICES_EXT_UDP=\"177\"@" /etc/sysconfig/SuSEfirewall2
# fi
# rcSuSEfirewall2 restart
# echo "防火墙设置完成!"
# fi
######duanyunxi
##设置防火墙##
echo "##设置防火墙!##"
if [ -f /var/installserver.tmp ]; then
RETVAL=`cat /var/installserver.tmp|grep 'SuSEfirewall2'|grep 'successfully'`
if [ "$RETVAL" == "" ]; then
INPUT="n"
until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
do
PORTS=""
echo "请输入开放resin,mysql的端口号?(*空格隔开)"
read PORTS
echo "您输入端口号是:$PORTS,请确认(y|n)?"
read INPUT
if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
echo "请确认开放端口后,重新输入:"
else
echo "SuSEfirewall2_PORTS=$PORTS" >> /var/installserver.tmp
echo "SuSEfirewall2 has set successfully!" >> /var/installserver.tmp
echo "开放resin,mysql的端口有:$PORTS"
fi
sed -i -e "s@FW_SERVICES_EXT_TCP=\"@FW_SERVICES_EXT_TCP=\"$PORTS 80 22 443 @" /etc/sysconfig/SuSEfirewall2
sed -i -e "s@FW_SERVICES_EXT_UDP=\"\"@FW_SERVICES_EXT_UDP=\"177\"@" /etc/sysconfig/SuSEfirewall2
done
rcSuSEfirewall2 restart
echo "防火墙设置完成!"
fi
fi
echo "service resin (start|stop|restart)"
echo "service nginx (start|stop|restart)"
echo "service mysql (start|stop|restart|status)"
发表评论
-
linux密码破解
2011-02-14 10:39 1238opsensuse-linux密码破解(� ... -
名人博客
2011-01-05 15:28 660http://www.ha97.com/ http://don ... -
linux单网卡绑定多ip
2010-12-13 15:09 1472Linux给一个网卡绑定多个IP方法 1.Redhat系列( ... -
suse-linux定时备份数据库和文件shell脚本
2010-11-09 17:34 2682#!/bin/bash #2009-11-8 第一次编写 #作 ... -
crontab详解
2010-11-08 15:46 836crontab日志记录:/var/spool/mail/roo ... -
open-suse网络配置
2010-10-22 15:27 15031.ip配置 修改/etc/sysconfig/network ... -
Shell基本语法
2010-07-08 16:09 909一、Shell语法 1.1、变量� ...
相关推荐
- **JDK** 安装通常涉及下载二进制包,解压到指定目录,并设置`JAVA_HOME`环境变量。 - **Apache** 安装通常包括下载源码或使用包管理器安装,配置虚拟主机和端口监听。 - **MySQL** 安装后需设置root密码,初始...
- **J2EE Servlet/JSP**:熟悉Web应用服务器如Tomcat、Resin、Nginx的使用。 - **JVM垃圾回收**:理解垃圾回收机制,优化内存管理。 - **Linux基础知识**:学习基础指令和Shell脚本,为在Linux环境下开发奠定基础...
C#编写的晶圆图谱识别软件:灵活读取XML文件,定位统计与蛇形走位功能融合应用,C#编写的晶圆图谱识别软件:灵活读取XML文件,定位统计与蛇形走位功能集成, C#编写的一款读取xml文件的mapping图软件。 可以自由定位位置,统计数量,蛇形走位。 主要用在晶圆图谱识别。 ,C#编程; 读取XML文件; mapping图软件; 自由定位; 统计数量; 蛇形走位; 晶圆图谱识别,C#山晶圆图谱解析统计软件:XML映射图蛇形定位器
【毕业设计】python-Django-html图像信息隐藏技术研究源码(完整前后端+mysql+说明文档+LW+PPT).zip
永磁同步电机foc控制仿真模型解析:SVPWM算法、坐标变换与Pi双闭环学习指南,永磁同步电机foc控制仿真模型解析:涵盖SVPWM算法、坐标变换及PI双闭环等学习细节,永磁同步电机仿真模型 foc控制,有好几个仿真,都是foc算法,仿真图如下,在细节上有些不同,包含SVPWM算法,坐标变等,还有由pmsm电机数学表达式搭建的模型,电机pi双闭环,速度环,电流环。 超级适合用来学习 ,永磁同步电机仿真模型;FOC控制;SVPWM算法;坐标变换;PMSM电机数学模型;电机PI双闭环控制;速度环;电流环,多仿真对比:FOC算法在永磁同步电机模型中的应用与实践
备考蓝桥杯单片机的看过来,需要自取请评论谢谢
2011-2019年各省信息传输、软件和信息技术服务业城镇单位就业人员数据 1、时间:2011-2019年 2、来源:国家统计j、统计nj 3、指标:行政区划代码、地区、年份、信息传输、软件和信息技术服务业城镇单位就业人员 4、范围::31省
基于MATLAB Simulink的永磁直驱风力发电系统滑模控制研究:转速跟踪与PI控制策略优化,基于MATLAB Simulink的永磁直驱风力发电系统滑模控制研究:转速跟踪优化与PI电流控制策略应用,永磁直驱风力发电系统,MATLAB simiulink,滑模控制,永磁同步电机,直驱式风力发电。 风力机才用MPPT算法,机侧变流器采用滑模控制转速外环,PI控制电流内环,网侧逆变器均采用PI控制。 转速跟踪效果比PI控制更好 ,永磁直驱风力发电系统; MATLAB Simulink; 滑模控制; 永磁同步电机; MPPT算法; 转速外环; PI控制; 网侧逆变器; 转速跟踪效果。,基于滑模控制的永磁直驱风力发电系统优化研究
FileInfoModifier是一款专注于文件属性修改的实用工具,适用于需要定制化文件信息或优化工作流程的场景,能帮助用户灵活调整文件的多项元数据。其核心功能丰富多样,支持修改文件的创建时间、修改时间、访问时间等时间戳属性,以满足特定需求,如项目进度管理;可编辑文件的版本信息、描述、版权声明等高级属性,适用于软件开发和文档管理;内置加密功能,能对文件进行加密处理,同时可修改文件的只读、隐藏、系统文件等属性,提升文件安全性;还提供文件大小、MD5值等基础信息查看功能,辅助校验文件完整性。软件特色鲜明,操作简便,界面简洁直观,仅需选择文件、输入属性、点击修改这三步即可完成属性修改;轻量高效,体积小巧(最新版约845KB),运行速度快,兼容Windows系统;且支持多版本,如增强属性编辑项、修复系统兼容性问题等。该工具适用场景广泛,在办公场景中可调整文件时间戳来模拟工作进度或文件版本迭代记录;在开发测试中能修改软件版本信息或版权声明以适配不同环境需求;在数据管理方面可通过加密和隐藏功能保护敏感文件安全。
STM32企业锅炉控制器源码大全:包含原理图、PCB、Modbus等全套资料,涉及多路AD采集与通信协议,STM32锅炉控制器企业项目源码合集:含原理图、PCB、Modbus与多路AD采集等完整技术资料,stm32真实企业项目源码,锅炉的控制器,有流程图和程序协议的介绍。 此链接包含代码,原理图,PCB,以及modbus相关资料,绝对的物超所值。 项目涉及文件系统,sd卡驱动,多路AD采集,modbus通信协议,CRC校验,I2C,SPI flash等等。 是一个完整的企业项目,正常运行。 ,核心关键词:STM32源码; 锅炉控制器; 流程图; 程序协议; 文件系统; SD卡驱动; 多路AD采集; Modbus通信协议; CRC校验; I2C; SPI flash。,**STM32锅炉控制器企业级项目源码**:含完整流程与通信协议,集成多路AD采集与CRC校验
MATLAB下的风光柴储微网多目标优化调度:基于粒子群算法的经济运行模型,MATLAB下的风光柴储微网多目标优化调度:基于粒子群算法的经济运行模型,MATLAB代码:含风光柴储微网多目标优化调度 关键词:微网调度 风光柴储 粒子群算法 多目标优化 参考文档:《基于多目标粒子群算法的微电网优化调度》 仿真平台:MATLAB 平台采用粒子群实现求解 主要内容:代码构建了含风机、光伏、柴油发电机以及储能电站在内的微网优化运行模型,并且考虑与上级电网的购电交易,综合考虑了多方经济成本以及风光新能源消纳等多方面的因素,从而实现微网系统的经济运行,求解采用的是MOPSO算法(多目标粒子群算法),求解效果极佳,具体可以看图 ,微网调度;风光柴储;粒子群算法;多目标优化;MOPSO算法;MATLAB平台;经济运行;新能源消纳,MATLAB代码:多目标优化调度微网系统——风光柴储协同粒子群算法
LabVIEW可移植密码登录程序用户管理模块:轻松集成至项目,保障安全与便捷性,LabVIEW可移植密码登录程序用户管理:便捷集成至个人项目中的理想选择,LabVIEW可移植的密码登录程序用户管理程序,方便移植到自己的项目中。 ,核心关键词:LabVIEW; 可移植; 密码登录程序; 用户管理程序。,LabVIEW驱动的密码登录与用户管理程序,轻松集成至项目
车辆稳定性相平面图Matlab绘制程序
个人经导师指导并认可通过的设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!提供完整的部署教程和设计文档,方便使用。主要针对计算机相关专业的正在做毕业设计大作业的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 主要用到的技术: java:强制使用面向对象编程(OOP),支持封装、继承、多态和抽象。 Servlet:运行在服务端的Java程序,通过实现javax.servlet.Servlet接口处理HTTP请求和响应,作为JavaWeb的核心控制器,负责动态资源生成和请求逻辑调度 jsp:基于HTML的动态网页技术,允许嵌入Java代码片段(如<% %>),用于简化视图层开发,本质是编译为Servlet的服务器端模板 Mysql:开源关系型数据库管理系统,支持ACID事务和SQL标准,通过JDBC与Java程序连接,适用于Web应用的高并发数据存储与查询
扑克牌识别数据集,可识别A-K所有的牌字母 1850张原始图,正确识别率可达98.7%,coco json格式标注
内容概要:本文档围绕IT服务运维领域的年度服务能力管理制度展开阐述。首先明确制度建立的目的,在于确保运维服务对人员、技术和资源的需求得到有效支持,保障运维服务管理体系有效运作,推动组织服务能力持续优化。接下来详尽介绍各职能部门的角色分工,从管理者代表协调与决策职责、到运维部、人力资源部的计划编制与执行、以及质量部的监控评估职能,使责任明确化、流程化。在具体措施上,强调年度计划的制定、分解成部门详细任务,直至实施、检查和反馈改善这一完整周期的操作规程。 适用人群:涉及运维服务体系的管理人员和技术人员。 使用场景及目标:旨在指导企业建立规范化的服务能力管理制度框架,促进各部门间协同合作、优化资源配置,最终提高服务质量并满足客户的期望。 其他说明:此制度不仅涵盖了宏观层面的战略安排,还提供了微观操作性的指导方法论,为企业在实际应用中提供了系统化、标准化的工作指引,有助于构建高效能的服务团队。
GNS3是由思科(Cisco)公司推出的一款图形化网络模拟器,想通过思科CCNA、CCNP、CCIE认证考试的人,喜欢用它来完成相关网络模拟实验。这款软件功能十分强大,拥有非常多的虚拟设备,如路由器、交换机、计算机等,通过它可以模拟复杂的网络,例如能够在一台计算机上完整模拟整个内网环境(校园网络或企业网络),并且其中的交换机、路由器等网络设备使用的也是真实设备的IOS(网络操作系统),配置和运行效果与真实设备完全相同,你无需使用真实网络设备,也可在计算机上通过GNS3搭建出与真实网络环境完全相同的模拟环境。尤其值得一提的是,它还可以和VMware、VirtualBox虚拟机软件协同工作,可以将虚拟机软件中的虚拟机嵌入构建的网络环境中运行。
本次更新主要是为各个应急响应场景添加了应急响应流程图,完善了各个场景的处置流程,新增了 TCP Wrappers 后门排查、udev 后门排查、Python .pth 后门排查等,完善了已有的部分排查项,删除了已经过时的信息。
内容概要:本文详细介绍了某公司在企业IT运维管理方面的组织架构和各职能部门的具体职责划分,尤其针对技术部门(如研发部和运维部)、采购部、质量部、财务部、人力资源部、以及销售部在运维管理中的特定任务进行了具体阐述。同时,在运维岗位设置上明确分为管理岗位、技术支持岗位及操作岗位,并详细描述了每个岗位的关键职责及其对应的人力资源配置要求,以确保ITSS运维服务水平能够得到有效保障和不断提升。 适合人群:对企业内部信息化建设和运营有一定关注的企业管理人员、IT项目管理人员、IT系统管理员等相关技术人员。 使用场景及目标:有助于企业在构建和优化自身IT治理体系时借鉴,帮助企业识别各运维角色之间的协作模式,提升整个团队的专业能力和工作效率,同时也利于新入职成员快速融入企业体系,适应工作岗位的需求。 其他说明:文中特别强调了管理者代表和技术支持岗位在推动服务质量标准、持续改进行动中发挥的作用,对于有志于深入理解ITIL/ITSS标准应用的企业尤为关键。此外,还包括详细的岗位任职条件和职能分配指南,为企业招聘合适的IT专业人才提供了指引。
基于LabVIEW 2018开发的用户登录管理系统:集成用户管理、权限设置与个性化定制功能,基于LabVIEW 2018的用户登录管理系统:高效便捷,可个性化定制,含多级权限管理,基于LabVIEW 2018开发的用户登录、用户管理系统,该源程序可以直接融入各种系统的LabVIEW设计中使用,用户也可以直接在源程序上加入自己的风格或者Logo。 程序省时省力,不喜欢麻烦的朋友可以联系哟。 注意,软件产品一经出概不 发方式为百度云盘 该用户登录系统包含以下功能: 1、可以自动添加管理员用户 2、可以添加、搜索、删除、修改用户 3、可以添加最多十级权限,可以自定义权限名称 4、可以显示登录时间和登录次数 ,LabVIEW 2018;用户登录系统;用户管理系统;省时省力;自动添加管理员;用户增删改查;多级权限自定义;登录时间次数记录。,LabVIEW 2018用户登录管理系统:高效、灵活、可定制的权限控制工具