centos7下的LAMP安装

##正常安装LAMP

httpd 源码安装

**依赖**
yum -y install gcc gcc-c++

tar -jxvf apr-1.5.1.tar.bz2
cd apr-1.5.1
 ./configure --prefix=/usr/local/apr && make && make install

tar -jxvf apr-util-1.5.2.tar.bz2
cd apr-util-1.5.2
  ./configure --with-apr=/usr/local/apr/ --prefix=/usr/local/apr-util
  make && make install

tar -zxvf pcre-8.32.tar.gz 
   cd pcre-8.32
  ./configure --help
  ./configure --prefix=/usr/local/pcre
   make && make install

tar -zxvf httpd-2.4.41.tar.gz 
  cd httpd-2.4.41
  ./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --with-pcre=/usr/local/pcre --prefix=/usr/local/apache2 --enable-so

make && make install

/usr/local/apache2/bin/apachectl -k start

mysql源码安装:https://www.cnblogs.com/lisilin/p/11990128.html

php的源码安装

1.安装gcc和依赖环境
yum -y install gcc gcc-c++ libxml2-devel  pcre-devel zlib-devel bzip2-devel libcurl-devel libjpeg-devel libjpeg-turbo-devel libpng-devel

2.检测环境并启动相关功能
./configure --prefix=/usr/local/php --with-config-file-path --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-mbstring --enable-fpm --with-gettext --with-iconv --enable-bcmath --with-zlib --enable-zip --with-gd --with-curl --with-bz2 --with-apxs2=/usr/local/apache2/bin/apxs

make  && make install

php自带了配置文件模板,我们复制到指定路径下就可以使用

php配置文件
    cp php.ini-production /etc/php.ini
php-fpm脚本
    cp php-5.5.38/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
    chmod 755 /etc/rc.d/init.d/php-fpm
php-fpm配置文件
    cd /usr/local/php/etc/
    cp php-fpm.conf.default php-fpm.conf

启动php-fpm
    service php-fpm start

##脚本安装 LAMP

更新rpm软件包

yum -y update

##时间稍长 出去抽支烟

vim install_LAMP.sh

function check_ok(){
  if [ $? -eq 0 ]
  then
    continue
  else
    echo "please check error"
    exit
  fi
}

function yum(){

  yum -y install gcc gcc-c++ prce-devel openssl-devel php php-mysql php-gd php-fpm

}

function install_Apache(){

  tar -jxvf apr-1.5.1.tar.bz2
  cd apr-1.5.1
   ./configure --prefix=/usr/local/apr && make && make install

  cd /root/

  tar -jxvf apr-util-1.5.2.tar.bz2

  cd apr-util-1.5.2

  ./configure --with-apr=/usr/local/apr/ --prefix=/usr/local/apr-util

   make && make install

  cd /root/

  tar -zxvf pcre-8.32.tar.gz

  cd pcre-8.32

  ./configure --prefix=/usr/local/pcre

  make && make install

  cd /root/

  tar -zxvf httpd-2.4.41.tar.gz

  cd httpd-2.4.41

  ./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --with-pcre=/usr/local/pcre --prefix=/usr/local/apache2 --enable-so
  make && make install

  cd /root

}

function install_mysql(){

  tar -zxvf mysql-5.6.38.tar.gz

  cd mysql-5.6.38

  cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

  make && make install

  useradd -M -s /sbin/nologin mysql mkdir -p /data/mysql chown -R mysql:mysql /data/mysql/ chown -R mysql:mysql /usr/local/mysql/

  bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld sed -i 's#^datadir=#datadir=/data/mysql#' /etc/init.d/mysqld sed -i 's#^basedir=#basedir=/usr/local/mysql#' /etc/init.d/mysqld

  service mysqld start chkconfig --add mysqld chkconfig mysqld on

  echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile source /etc/profile

}

function set_lamp(){

  sed -i '/AddType application/x-gzip.gz .tgz/a  AddType application x-httpd-php .php ' /usr/local/apache2/conf/httpd.conf

  sed -i 's#index.html#index.html index.php#' /usr/local/apache2/conf/httpd.conf

  check_ok

  echo '<?php phpinfo(); ?>' /var/www/html/index.php

  /usr/local/apache2/bin/apachectl -k start

  check_ok

  service php-fpm start

  check_ok

  curl -I  localhost/index.php

  check_ok

}

function  install_lamp(){

  yum

  check_ok

  install_mysql

  check ok

  install_Apache

  check_ok

  set_lamp

  check_ok

}

read -p "please input you want:" input

case ${input} in

1)

install_lamp

;;

*)

esac