centos7.4脚本实现LAMP一键编译安装平台

#!/bin/bash
#
. /etc/init.d/functions
#wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
#wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
#wget http://archive.apache.org/dist/httpd/httpd-2.4.18.tar.gz
#wget http://dev.mysql.com/Downloads/MySQL-5.7/mysql-5.7.12.tar.gz
#wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
echo "===================建议最低配置3G内存双核CPU=========================="
echo "========================大约需要30分钟================================"
echo "========================开始部署LAMP平台=============================="
echo "=========================正在部署httpd================================"

yum -y remove httpd &> /dev/null
tar zxvf apr-1.5.2.tar.gz -C /usr/src/ &> /dev/null
cd /usr/src/apr-1.5.2/
./configure --prefix=/usr/local/apr &> /dev/null
make &> /dev/null
make install &> /dev/null
cd
tar zxvf apr-util-1.5.4.tar.gz -C /usr/src/ &> /dev/null
cd /usr/src/apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/bin/apr-1-config  &> /dev/null
make &> /dev/null
make install &> /dev/null
cd
yum -y install pcre* openssl zlib-devel openssl-devel &> /dev/null
tar zxvf httpd-2.4.18.tar.gz -C /usr/src/ &> /dev/null
cd /usr/src/httpd-2.4.18/
./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/  --enable-pcre --enable-deflate --enable-cgid --enable-mpms-shared=all --enable-expires --enable-ssl &> /dev/null
make &> /dev/null
make install &> /dev/null
cd
ln -s /usr/local/httpd/bin/* /usr/local/bin/ &> /dev/null
echo "[Unit]" >>/usr/lib/systemd/system/httpd.service
echo "Description=tomcatapi" >>/usr/lib/systemd/system/httpd.service
echo "After=network.target" >>/usr/lib/systemd/system/httpd.service
echo "[Service]" >>/usr/lib/systemd/system/httpd.service
echo "Type=forking" >>/usr/lib/systemd/system/httpd.service
echo "PIDFile=/usr/local/httpd/logs/httpd.pid" >>/usr/lib/systemd/system/httpd.service
echo "ExecStart=/usr/local/httpd/bin/apachectl start" >>/usr/lib/systemd/system/httpd.service
echo "ExecReload=" >>/usr/lib/systemd/system/httpd.service
echo "ExecStop=/usr/local/httpd/bin/apachectl stop" >>/usr/lib/systemd/system/httpd.service
echo "PrivateTmp=true" >>/usr/lib/systemd/system/httpd.service
echo "[Install]" >>/usr/lib/systemd/system/httpd.service
echo "WantedBy=multi-user.target" >>/usr/lib/systemd/system/httpd.service
chmod 754 /usr/lib/systemd/system/httpd.service
sed -i 's/#ServerName www.example.com:80/ServerName www.linuxfan.cn:80/g' /usr/local/httpd/conf/httpd.conf
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod +x /etc/init.d/httpd
systemctl start httpd &> /dev/null
echo "www.linuxfan.cn" >/usr/local/httpd/htdocs/index.html 
systemctl stop httpd &> /dev/null
systemctl start httpd &> /dev/null
systemctl enable httpd &> /dev/null

action "====================部署httpd成功可以访问啦========================" /bin/true

echo "==========================正在部署mysql=============================="
echo "==================配置过低会导致时间过长,请耐心等待=================="
yum -y remove mysql-* boost-* &> /dev/null
yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl cmake &> /dev/null
tar -zxvf boost_1_59_0.tar.gz &> /dev/null
mv boost_1_59_0 /usr/local/boost/
groupadd mysql &> /dev/null
useradd -r -g mysql mysql &> /dev/null
tar zxvf mysql-5.7.12.tar.gz -C /usr/src/ &> /dev/null

cd /usr/src/mysql-5.7.12/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DSYSCONFDIR=/etc/ &> /dev/null
make -j `cat /proc/cpuinfo | grep processor| wc -l` &> /dev/null
make install &> /dev/null
chown -R mysql:mysql /usr/local/mysql
rm -rf /etc/my.cnf
cp /usr/src/mysql-5.7.12/support-files/my-default.cnf /etc/my.cnf
cp /usr/src/mysql-5.7.12/support-files/mysql.server /etc/init.d/
chmod +x /etc/init.d/mysql.server
echo "[Unit]" >>/usr/lib/systemd/system/mysqld.service
echo "Description=mysqldapi" >>/usr/lib/systemd/system/mysqld.service
echo "After=network.target" >>/usr/lib/systemd/system/mysqld.service
echo "[Service]" >>/usr/lib/systemd/system/mysqld.service
echo "Type=forking" >>/usr/lib/systemd/system/mysqld.service
echo "PIDFile=/usr/local/mysql/logs/mysqld.pid" >>/usr/lib/systemd/system/mysqld.service
echo "ExecStart=/etc/init.d/mysql.server start" >>/usr/lib/systemd/system/mysqld.service
echo "ExecReload=/etc/init.d/mysql.server restart" >>/usr/lib/systemd/system/mysqld.service
echo "ExecStop=/etc/init.d/mysql.server stop" >>/usr/lib/systemd/system/mysqld.service
echo "PrivateTmp=Flase" >>/usr/lib/systemd/system/mysqld.service
echo "[Install]" >>/usr/lib/systemd/system/mysqld.service
echo "WantedBy=multi-user.target" >>/usr/lib/systemd/system/mysqld.service
echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile
source /etc/profile
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &> /dev/null
echo "[mysqld]" >/etc/my.cnf
echo "basedir = /usr/local/mysql" >>/etc/my.cnf
echo "datadir = /usr/local/mysql/data" >>/etc/my.cnf
echo "port = 3306" >>/etc/my.cnf
echo "sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES" >>/etc/my.cnf
echo "character_set_server=utf8" >>/etc/my.cnf
echo "init_connect='SET NAMES utf8'" >>/etc/my.cnf
echo "log-error=/usr/local/mysql/logs/mysqld.log" >>/etc/my.cnf
echo "pid-file=/usr/local/mysql/logs/mysqld.pid" >>/etc/my.cnf
mkdir /usr/local/mysql/logs &> /dev/null
chown mysql:mysql /usr/local/mysql/logs/
systemctl start mysqld &> /dev/null

action "====================安装mysql成功可以访问啦========================" /bin/true

echo "============================正在部署php=============================="

rpm -e php php-mysql --nodeps &> /dev/null
tar zxvf /root/libmcrypt-2.5.8.tar.gz -C /usr/src/ &> /dev/null
cd /usr/src/libmcrypt-2.5.8/
./configure &> /dev/null
make &> /dev/null
make install &> /dev/null
cd
ln -s /usr/local/lib/libmcrypt.* /usr/lib64/
tar zxvf /root/mhash-0.9.9.9.tar.gz -C /usr/src/ &> /dev/null
cd /usr/src/mhash-0.9.9.9/
./configure &> /dev/null
make &> /dev/null
make install &> /dev/null
cd
ln -s /usr/local/lib/libmhash* /usr/lib64/
tar zxvf /root/mcrypt-2.6.8.tar.gz -C /usr/src/ &> /dev/null
cd /usr/src/mcrypt-2.6.8/
./configure &> /dev/null
make &> /dev/null
make install &> /dev/null
cd
yum -y install libxml2-devel bzip2-devel  libmcrypt-devel gd &> /dev/null
tar zxvf php-7.1.19.tar.gz -C /usr/src/ &> /dev/null
cd /usr/src/php-7.1.19/
./configure --prefix=/usr/local/php/ --enable-mysqlnd --with-mysqli --enable-mbstring --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --with-apxs2=/usr/local/httpd/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-mysql-sock=/tmp/mysql.soc &> /dev/null
make &> /dev/null
make install &> /dev/null
cd
rm -rf /etc/php.ini
cp /usr/src/php-7.1.19/php.ini-development /etc/php.ini    
sed -i 's/short_open_tag = Off/short_open_tag = On/g' /etc/php.ini
echo "default_charset = "utf8" " >>/etc/php.ini 
echo "mysqli.default_socket = /tmp/mysql.sock " >>/etc/php.ini
echo "date.timezone = Asia/Shanghai " >>/etc/php.ini
sed -i '380a\AddType application/x-httpd-php .php' /usr/local/httpd/conf/httpd.conf
sed -i '380a\ AddType application/x-httpd-php-source .phps ' /usr/local/httpd/conf/httpd.conf        
sed -i 's/DirectoryIndex index.html/DirectoryIndex index.html index.php/g' /usr/local/httpd/conf/httpd.conf
echo "<?php" >/usr/local/httpd/htdocs/index.php
echo "phpinfo();" >>/usr/local/httpd/htdocs/index.php
echo "?>" >>/usr/local/httpd/htdocs/index.php
/etc/init.d/mysql.server restart &> /dev/null
/etc/init.d/httpd restart
action "====================================安装php成功=======================================" /bin/true
echo " "
action "====================================部署LAMP成功======================================" /bin/true

猜你喜欢

转载自blog.csdn.net/Richardlygo/article/details/81664973