一键源码安装lamp环境

[root@x112 software]# unzip -l LAMP_centos7.4.zip
Archive: LAMP_centos7.4.zip
Length Date Time Name
--------- ---------- ----- ----
1031613 04-10-2017 19:35 LAMP for centos7.4/apr-1.5.2.tar.gz
874044 04-10-2017 19:36 LAMP for centos7.4/apr-util-1.5.4.tar.gz
8628454 10-14-2017 14:58 LAMP for centos7.4/httpd-2.4.28.tar.gz
48799895 10-14-2017 15:09 LAMP for centos7.4/mysql-boost-5.7.19.tar.gz
2068775 10-14-2017 15:00 LAMP for centos7.4/pcre-8.41.tar.gz
19300905 05-18-2018 20:26 LAMP for centos7.4/php-5.6.36.tar.gz
0 05-18-2018 20:27 LAMP for centos7.4/
--------- -------
80703686 7 files
[root@x112 software]#

 

#!/bin/bash
#describtion for install lamp

#进入安装目录,解压并重命名文件夹
cd /root/linshi/software
unzip LAMP_centos7.4.zip
mv LAMP\ for\ centos7.4/ lamp
cd lamp

#安装apache基础准备环境
#yum安装c编译器
yum -y install gcc gcc-c++ openssl-devel

#开始编译安装依赖包
#源码编译安装apr
tar -xf apr-1.5.2.tar.gz
cd apr-1.5.2/
./configure --prefix=/usr/local/apr
make -j2 && make install

#源码编译安装apr-util
cd ..
tar -xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make -j2 && make install

#源码编译安装pcre
cd ..
tar -xf pcre-8.41.tar.gz
cd pcre-8.41
./configure --prefix=/usr/local/pcre
make -j2 && make install

#开始源码编译安装apache
cd ..
tar -xf httpd-2.4.28.tar.gz
cd httpd-2.4.28/
./configure --prefix=/usr/local/apache  --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-rewrite --enable-ssl
make -j2 && make install

配置apache
cd /usr/local/apache/
cp bin/apachectl /etc/init.d/httpd
sed -ri '2a\#chkconfig: 2345 99 20 \n#describtion: service for httpd' /etc/init.d/httpd
chkconfig --add httpd
service httpd start

#安装mysql数据库
#安装mysql依赖包
yum install -y cmake ncurses-devel

#源码编译安装mysql数据库
cd /root/linshi/software/lamp
tar -xf mysql-boost-5.7.19.tar.gz
cd mysql-5.7.19/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql57/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNODB_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_DATADIR=/mysql/data \
-DMYSQL_USER=mysql \
-DWITH_BOOST=/root/linshi/software/lamp/mysql-5.7.19/boost/boost_1_59_0

make -j2 && make install
#配置httpd服务
sed -ri '/^#ServerName/c\ServerName '$(ifconfig eth0 |awk 'NR==2{print $2}')':80' /usr/local/apache/conf/httpd.conf

#配置mysql数据库
#生成启动脚本.并设置开机自启动
cd /usr/local/mysql57
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld

#创建数据库账号及目录,并授权
useradd mysql -s /sbin/nologin -M
mkdir /mysql/data -p
chown -R mysql.mysql /mysql/data/

#更改环境变量
echo "export PATH=$PATH:/usr/local/mysql57/bin/" >/etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

#备份原有my.cnf文件,重新生成新的my.cnf文件
mv /etc/my.cnf /etc/my.cnf_bak
mv /etc/my.cnf.d/mysql-clients.cnf{,_bak}
cat <<-eof > /etc/my.cnf
        [mysqld]
        basedir=/usr/local/mysql57
        datadir=/mysql/data
        port=3306
        socket=/usr/local/mysql57/mysql.sock
        log-error=/usr/local/mysql57/log/mysqld.log
        pid-file=/usr/local/mysql57/mysqld.pid
        [mysql]
        socket=/usr/local/mysql57/mysql.sock
eof

#根据my.cnf文件,创建相应文件
mkdir /usr/local/mysql57/log
touch /usr/local/mysql57/log/mysqld.log
chown -R mysql.mysql /usr/local/mysql57/

#初始化数据库,启动并更改密码
mysql_install_db  --insecure --user=mysql --basedir=/usr/local/mysql57 --datadir=/mysql/data
service mysqld start
mysqladmin -uroot password "123456"

#安装php
#安装php依赖包
yum -y install libxml2-devel curl-devel libpng libjpeg libpng-devel
cd /root/linshi/software/lamp
tar -xf php-5.6.36.tar.gz
cd php-5.6.36
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-mbstring \
--with-curl \
--with-gd \
--enable-fpm \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=/usr/local/php/etc \
--with-mysqli=mysqlnd \
--with-mysql-sock=/usr/local/mysql57/mysql.sock

make -j2 && make install

#生成配置文件
cp php.ini-production /usr/local/php/etc/php.ini

#添加apache支持
sed -ri '/^<IfModule mime_module>/a\\tAddtype application/x-httpd-php .php .phtml'  /usr/local/apache/conf/httpd.conf
sed -ri '/^<IfModule dir_module>/{n;s/$/ index.php/}' /usr/local/apache/conf/httpd.conf
cat <<-eof >/usr/local/apache/htdocs/index.php
<?php
 phpinfo();
?>
eof
service httpd restart
                                                                                                                         

  

上一篇:二进制安装 LAMP 架构的 word press


下一篇:linux安装lamp环境(linux+apache+mysql+php)