centos7 编译安装lamp

系统:centos7

软件版本:php-7.1.0 +mysql-boost-5.7.16 + httpd-2.4.23

一、linux 系统限制配置

1、关闭系统防火墙

systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service  禁用防火墙

2、关闭SElinux

sed -i ‘s/SELINUX=.*/SELINUX=disabled/g‘ /etc/selinux/config 
setenforce 0 selinux 立即生效

二、系统安装约定

软件源代码包存放位置:/usr/local/src

源码包编译安装位置:/usr/local/软件名字

三、现在源码安装包

1、下载mysql-boost-5.7.16

wget -P /usr/local/src http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.16.tar.gz

2、下载php-7.1.0

wget -P /usr/local/src http://cn2.php.net/distributions/php-7.1.0.tar.gz

3、下载httpd-2.4.23

wget -P /usr/local/src http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.23.tar.gz

4、下载 libmemcached-1.0.18

wget -P /usr/local/src https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz

5、下载apr-util-1.5.4

wget -P /usr/local/src http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz

6、下载apr-1.5.2

wget -P /usr/local/src http://apache.fayea.com//apr/apr-1.5.2.tar.gz

7、下载/pcre-8.39

wget -P /usr/local/src https://nchc.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz

8、下载apr-iconv-1.2.1

wget -P /usr/local/src http://apache.fayea.com//apr/apr-iconv-1.2.1.tar.gz

9、下载php-memcached

yum -y install git
cd /usr/local/src
git clone -b php7 https://github.com/php-memcached-dev/php-memcached.git

四、安装编译器及依赖

yum -y install epel-release
yum -y install patch gcc gcc-c++  readline-devel zlib-devel libffi-devel  openssl openssl-devel make autoconf automake libtool bison libxml2  libxml2-devel libxslt-devel libyaml-devel  python  python-docutils  cmake imake expat-devel libaio libaio-devel bzr ncurses-devel wget  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel   pcre-devel curl-devel libmcrypt libmcrypt-devel uuid-devel

五、安装编译MySQL-5.16

1、生成MySQL编译脚本

vim mysql_install.sh
#!/bin/bash
#mysql安装脚本
DBDIR=‘/data/mysql‘ #mysql 数据路径
MYSQLDIR=‘/usr/local/mysql‘ # mysql 安装路径
PASSWD=‘123456‘ # MySQL root登陆密码
[ -d $DBDIR ] || mkdir $DBDIR -p
id mysql &> /dev/null
if [ $? -ne 0 ];then
 useradd mysql -s /sbin/nologin -M
fi
chown -R mysql:mysql $DBDIR
cd /usr/local/src
tar -xvf mysql-boost-5.7.16.tar.gz
cd mysql-5.7.16
cmake . -DCMAKE_INSTALL_PREFIX=$MYSQLDIR -DMYSQL_DATADIR=$DBDIR -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_BOOST=/usr/local/src/mysql-5.7.16/boost/boost_1_59_0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
if [ $? != 0 ];then
 echo "cmake error!"
 exit 1
fi
make && make install
if [ $? -ne 0 ];then
 echo "install mysql is failed!" && /bin/false
fi
sleep 2
chown -R mysql:mysql $MYSQLDIR
chown -R root:root $MYSQLDIR
cp $MYSQLDIR/support-files/my-default.cnf /etc/my.cnf
echo export PATH=$PATH:$MYSQLDIR/bin:$MYSQLDIR/lib >>/etc/profile
source /etc/profile
cat >>  /etc/my.cnf << EOF
character_set_server = utf8
basedir = $MYSQLDIR
datadir = $DBDIR
port = 3306
server_id = 1
socket = /tmp/mysql.sock
explicit_defaults_for_timestamp=true
EOF
sed -i ‘s/sql_mode=.*/sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER/g‘ /etc/my.cnf
     source /etc/profile
     sleep 5
     cd $MYSQLDIR
     cp support-files/mysql.server /etc/init.d/mysqld
	 chmod 700 /etc/init.d/mysqld
     mysql_ssl_rsa_setup
     rm -rf /data/mysql
     mysqld --initialize --user=mysql
	 if [ $? -ne 0 ];then
 echo "install mysql is failed!" && /bin/false
fi
#/etc/init.d/mysqld stop
     mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
     sleep 5
     echo "update user set authentication_string=Password(‘$PASSWD‘) where user=‘root‘; flush privileges;" | mysql mysql

     echo "set password=Password(‘$PASSWD‘); flush privileges;" | mysql -u root -p$PASSWD --connect-expired-password
     sleep 5
     echo "GRANT ALL PRIVILEGES ON *.* TO [email protected]‘%‘ IDENTIFIED BY ‘$PASSWD‘; FLUSH PRIVILEGES; " | mysql -u root -p$PASSWD
     /etc/init.d/mysqld restart
	 if [ $? -ne 0 ];then
 echo "install mysql is failed!" && /bin/false
fi
IDSO=`cat /etc/ld.so.conf| grep /usr/local/lib64 | wc -l `
if [ $IDSO -eq 0 ];then
echo "/usr/local/lib64" >> /etc/ld.so.conf
ldconfig
fi
chkconfig mysqld on

2、给mysql_install.sh  可执行权限

chmod +x mysql_install.sh

3、编译安装MySQL

./mysql_install.sh

六、编译安装httpd-2.4.23 及依赖

1、安装apr-1.5.2

cd /usr/local/src
解压apr-1.5.2.tar.gz
tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
修改configure 不修改编译会报错
sed -i ‘s/$RM "$cfgfile"/#$RM "$cfgfile"/g‘ ./configure
编译 apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install

2、安装apr-iconv-1.2.1

cd /usr/local/src
解压 apr-iconv-1.2.1.tar.gz
tar -zxvf apr-iconv-1.2.1.tar.gz
编译
cd apr-iconv-1.2.1
./configure --prefix=/usr/local/apr-iconv             --with-apr=/usr/local/apr
make && make install

3、安装apr-util-1.5.4

cd /usr/local/src
解压apr-util-1.5.4.tar.gz
tar -zxvf apr-util-1.5.4.tar.gz
编译
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util             --with-apr=/usr/local/apr 	    --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make && make install

4、安装pcre-8.39

cd /usr/local/src
解压pcre-8.39.tar.gz
tar -xvf pcre-8.39.tar.gz
cd /usr/local/src/pcre-8.39
编译
./configure  --prefix=/usr/local/pcre
make && make install

5、安装httpd-2.4.23

创建 apache
useradd  apache -s /sbin/nologin -M
cd /usr/local/src
解压httpd-2.4.23.tar.gz
tar -zxvf httpd-2.4.23.tar.gz
编译
cd httpd-2.4.23
./configure --with-apr=/usr/local/apr             --with-apr-util=/usr/local/apr-util 			--with-pcre=/usr/local/pcre 			--prefix=/usr/local/apache  			--sysconfdir=/etc/httpd 			--enable-so  			--enable-ssl 			--enable-cgi 			--enable-rewrite 			--with-zlib  			--with-pcre  			--with-mpm=prefork 			--enable-modules=most 			--enable-mpms-shared=all
make && make install
创建配置文件夹
mkdir -p /usr/local/apache/conf.d
给web页面存放目录apache用户读写权限
chown -R apache:apache /usr/local/apache/htdocs/

七、安装php

1、安装php-7.1.0

cd /usr/local/src
解压php-7.1.0.tar.gz
tar -xzvf php-7.1.0.tar.gz
编译
cd ./php-7.1.0
./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc  --with-curl  --with-freetype-dir  --with-gd  --with-gettext  --with-iconv-dir  --with-kerberos  --with-libdir=lib64  --with-libxml-dir  --with-mysqli  --with-openssl  --with-pcre-regex  --with-pdo-mysql  --with-pdo-sqlite  --with-pear  --with-png-dir  --with-xmlrpc  --with-xsl  --with-zlib  --with-zlib-dir  --with-mhash  --with-mcrypt  --with-openssl-dir  --with-jpeg-dir  --with-apxs2=/usr/local/apache/bin/apxs \ #apache安装路径
 --enable-fpm  --enable-bcmath  --enable-libxml  --enable-inline-optimization  --enable-gd-native-ttf  --enable-mbregex  --enable-mbstring  --enable-opcache  --enable-pcntl  --enable-shmop  --enable-soap  --enable-sockets  --enable-sysvsem  --enable-xml  --enable-zip
 # --enable-gd-jis-conv \ #php画图中文会出现乱码
 make && make install

2、安装libmemcached-1.0.18

cd /usr/local/src
解压libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
编译
cd ./libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached
make && make install

3、安装php-memcached

cd /usr/local/src/php-memcached
生成编译配置
/usr/local/php7/bin/phpize
编译
./configure --with-libmemcached-dir=/usr/local/libmemcached  --with-php-config=/usr/local/php7/bin/php-config  --disable-memcached-sasl
 make && make install
 编译完成记录生成的路径
 Installing shared extensions:     /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/

八、配置PHP及HTTPD

cd /usr/local/src/php-7.1.0
cp php.ini-production /usr/local/php7/etc/php.ini
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/
配置PHP时区 
cat >> /usr/local/php7/etc/php.ini<< EOF
soap.wsdl_cache_enabled=1
max_input_time = 600
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 1
extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/memcached.so
EOF
配置httpd 端口
sed -i ‘s/#ServerName www.example.com:80/ServerName localhost:80/g‘ /etc/httpd/httpd.conf
配置http支持php
cat >> /etc/httpd/httpd.conf <<EOF
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
EOF
sed -i ‘s/DirectoryIndex.*/DirectoryIndex index.php  index.html/g‘ /etc/httpd/httpd.conf
sed -i "s/User daemon/User apache/g"  /etc/httpd/httpd.conf
sed -i "s/Group daemon/Group apache/g"  /etc/httpd/httpd.conf
拷贝http启动脚本
cp -rf /usr/local/apache/bin/apachectl /etc/init.d/httpd
chmod +x /etc/init.d/httpd
让启动脚本可以添加为系统开机启动
sed -i "2 a#chkconfig: 2345 10 90" /etc/init.d/httpd
sed -i "3 a#description: Activates/Deactivates Apache Web Server" /etc/init.d/httpd
设置开机启动
chkconfig httpd on
生成php测试页
cat >/usr/local/apache/htdocs/index.php <<EOF
<?php
phpinfo();
?> 
EOF
启动httpd
service httpd start

时间: 2024-10-20 04:52:57

centos7 编译安装lamp的相关文章

三台主机CentOS7 编译安装lamp

作业题:三台主机编译安装http.php,二进制源码安装mariadb环境:A主机:192.166.0.161,编译安装httpdB主机:192.166.0.162,编译安装php-fpmC主机:192.166.0.163,二进制格式安装mariadb 三台主机均关闭了firewalld.selinux,软件存放目录均为/root/tools/ 一:安装http安装扩展组件 yum -y groupinstall "开发工具" "服务器平台开发" yum insta

centos7编译安装lamp实现wordpress

准备安装包,并解压 mariadb-10.3.13.tar.gz  ,php-7.3.2.tar.bz2  ,httpd-2.4.38.tar.bz2  php-7.3.2 ,  phpMyAdmin-4.8.5-all-languages.tar.gz ,  wordpress-5.0.3-zh_CN.tar.gz   apr-1.6.5.tar.bz2   apr-util-1.6.1.tar.bz2 安装前准备 yum安装编译四个包所必须的工具 "development tools&quo

centos7.3编译安装LAMP环境并搭建WordPress博客

centos7.3编译安装LAMP环境并搭建WordPress博客 日期:2017年8月6日 软件版本: apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.bz2 mariadb-10.2.7-linux-x86_64.tar.gz php-7.1.7.tar.bz2 wordpress-4.8-zh_CN.tar.gz xcache-3.2.0.tar.gz 1.编译安装apache2.4 yum groupinstall de

centos7.4编译安装lamp

centos7.4编译安装lamp lamp简介 Linux+Apache+Mysql/MariaDB+PHP一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.apache相对nginx来说更加稳定,动态页面的处理更加合适. 源码包 httpd-2.4.33mariadb-10.2.14php-7.2.5 基本编译环境构建 系统版本:CentOS 7.4 x86_64安装开发包:Devel

编译安装LAMP及分离式LAMP平台构建

前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富.轻量.快速开发等特点,与微软的.NET架构相比,LAMP具有通用.跨平台.高性能.低价格的优势,因此LAMP无论是性能.质量还是价格都是企业搭建网站的首选平台.但由于MySQL作为SUN公司

编译安装LAMP+phpMyAdmin

一.准备工作 关闭防火墙.selinux,配置yum源,并移出系统已安装的httpd,mysql,php 二.安装apache ttpd-2.4.10需要较新版本的apr和apr-util,因此需要事先对其进行升级.升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包.这里使用源码编译演示. 1.安装apr [[email protected] /]# tar xf apr-1.5.1.tar.bz2 -C /usr/src/ [[email protected] /]# cd /u

fcgi模式下编译安装LAMP+xcache

php的工作模式: php在lamp环境下共有三种工作模式:CGI模式.apache模块.FastCGI模式.CGI模式下运行PHP,性能不是很好.作为apache的模块方式运行,在以前的课程中编译安装lamp已经介绍过了.FastCGI的方式和apache模块的不同点在于:FastCGI方式PHP是一处独立的进程,所有PHP子进程都由PHP的一个叫作php-fpm的组件负责管理:而apache模块化方式运行的PHP,则是apache负责调用PHP完成工作.PHP的FastCGI方式性能要比ap

(2)编译安装lamp三部曲之mysql-技术流ken

1.简介 采用yum安装lamp简单,快捷,在工作中也得到了普遍应用.但是如果我们需要某些特定模块功能,以及制定安装位置等,就需要用到编译安装了,接下来将编译安装lamp之mysql. mysql的简介网上已经有很多材料,这里就不再赘述,注重演示如何安装mysql. 2.系统环境及服务版本 centos7.5 服务器IP:172.20.10.7/28 mysql-5.5.33 3.上传mysql安装包并解压 [[email protected] ~]# rz [[email protected]

编译安装LAMP[两种结合方式]

本文旨在实践编译安装LAMP环境,搭建Zblog系统,使用Xcache为PHP加速,分离PHP与Apache Server LAMP基础知识 Linux + Apache + MySQL[MariaDB] + PHP[Perl|Pyton] 是一套基础的web环境: Apache有2.2版本,和最新的2.4版本,2.4版本支持Event MPM可用作生产环境,在http2.2中有3种MPM,为不同的进程文件,切换需要重启Apache服务:而2.4中MPM做成了DSO,可动态加载切换: Apach