Centos搭建mysql、php、nginx、ftp,shell脚本

来源:互联网 发布:手机屏幕挂件软件 编辑:程序博客网 时间:2024/06/06 20:17

由于需要长期安装这个的环境,每次都需要手动做这些反复的操作,所以自己写了一个简易的shell脚本,这样每次就只需要运行脚本即可。内容仅供参考,部分内容需要和实际情况修改。脚本内容如下:


(注意:以下内容中部分cp或sed为修改文件内容,可不用执行)


#!/bin/bash

#关闭防火墙
service iptables stop&&chkconfig iptables off
#临时关闭selinux

setenforce 0

#永久关闭selinux
sed -i 's/enforcing/disabled/g' /etc/selinux/config
#安装ftp

while true
do
yum -y install vsftpd
if [ $? == 0 ] 
then
break
fi
done
cp -f vsftpd.conf /etc/vsftpd/vsftpd.conf

#修改ftp默认路径
sed -i 's#/var/ftp#/home/ftp#g' /etc/passwd
chmod 755 /home/ftp
chmod 777 /home/ftp/ftp
chown root.root /home//ftp
service vsftpd restart&&chkconfig vsftpd on

#安装mysql
while true
do
        yum -y install mysql-server
        if [ $? == 0 ]
        then
                break
        fi
done
chkconfig mysqld on

#修改mysql最大允许链接数
sed -i '/\[mysqld\]/a\max_connections=10000' /etc/my.cnf
service mysqld start

#修改mysql初始密码、开启允许远程连接
mysql -u root <<EOF
set password for root@localhost=password('mysqlpassword');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysqlpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
show variables like '%max_connections%';
EOF

#安装nginx
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum info nginx
while true
do
        yum -y install nginx
        if [ $? == 0 ]
        then
                break
        fi
done
service nginx start

#安装php
yum -y install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
yum -y install php-tidy php-common php-devel php-fpm php-mysql
service php-fpm start
chkconfig --levels 235 php-fpm on
cp -f default.conf /etc/nginx/conf.d/default.conf
cp -f php.ini /etc/php.ini
service nginx restart
service php-fpm restart
cp -f sysctl.conf /etc/sysctl.conf
/sbin/sysctl -p

#安装nload,用于监测网卡流量
yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel
wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
tar xvfz nload-0.7.4.tar.gz
cd nload-0.7.4
./configure
make&&make install
cd ..
cp -f limits.conf /etc/security/limits.conf
cp -f login /etc/pam.d/login
cp -f nginx.conf /etc/nginx/nginx.conf


#利用md5加密,防止进入单用户模式进行修改密码
a=$(echo "scdvb123
scdvb123"|/sbin/grub-md5-crypt 2>/dev/null)
b=${a##*:}
c=$(echo $b|sed 's#\/#\\\/#g')
#b=123
echo "password --md5"$b
d="password --md5 "$c
e=$(echo $d|sed 's#\-#\\\-#g')
sed -i "/hiddenmenu/i\\$e" /etc/grub.conf


#修改网卡子网掩码表现形式。$1为执行脚本传入的第一个参数
sed -i 's/PREFIX=24/NETMASK=255.255.255.0/g' /etc/sysconfig/network-scripts/ifcfg-$1