源码编译安装LAMP

Apache网站服务

MySQL服务

LAMP构架应用实例

Apache起源

  • 源于A Patchy Server,著名的开源Web服务软件
  • 1995年时,发布Apache服务程序的1 .0版本
  • Apache软件基金会(ASF) 负责维护
  • 最新的名称为" Apache HTTP Server"
  • 官方站点: htp://ttpd.apache.org/

主要特点

  • 开放源代码、跨平台应用
  • 支持多种网页编程语言
  • 模块化设计、运行稳定、良好的安全性

软件版本

  • 1.X

    • 目前最高版本是1.3,运行稳定
    • 向下兼容性较好,但缺乏-些较新的功能
  • 2.X
    • 目前最高版本是2.4
    • 具有更多的功能特性
    • 1.X相比,配置管理风格存在较大差异

编译安装httpd服务器

编译安装的优点

  • 具有较大的自由度,功能可定制
  • 可及时获得最新的软件版本
  • 普遍适用于大多数Linux版本,便于移植使用

获得Apache服务器的源码包

  • 参考地址:
    • htp://httpd.apache.org/download.cgi

准备工作

  • 下载源码包

    • apr-1.6.2.tar.gz
    • apr-util-1.6.0.tar.gz
    • httpd-2.4.29.tar.bz2
  • 卸载httpd及相关依赖包
[root@www ~ ]# rpm -e httpd --nodeps     //--nodeps忽略软件包依赖性

源码编译及安装

  • 将下载的源码包放入Linux系统中mnt目录下
cd /mnt                                                //进入mnt目录
tar zxvf /mnt/apr-1.6.2.tar.gz -C /opt/                //解压源码包到opt目录
tar zxvf /mnt/apr-util-1.6.0.tar.gz -C /opt/
tar jxvf /mnt/httpd-2.4.29.tar.bz2 -C /opt/

mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr        //将解压的环境包移动到httpd软件包目录下
mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

yum install \                                        //安装源码环境包
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl -y

cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi 

make

make install

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

vim /etc/init.d/httpd
#!/bin/bash
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server
...//省略部分内容...
:wq

chkconfig --add httpd          //将httpd加入到SERVICE管理器

sed -i "51s/#Listen 12.34.56.78:80/Listen “本机IP地址”:80/" /usr/local/httpd/conf/httpd.conf
sed -i '52s/^/#/' /usr/local/httpd/conf/httpd.conf
sed -i '197s/#ServerName www.example.com:80/ServerName www.example.com:80/' /usr/local/httpd/conf/httpd.conf

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

systemctl stop firewalld.service
setenforce 0
service httpd start

验证安装

  • 在宿主机中打开浏览器,输入IP地址,验证httpd服务是否正常安装

详述CentOS 7中源码编译安装LAMP架构_第1张图片

MySQL的编译安装

准备工作

  • 下载源码包

    • mysql-5.6.26.tar.gz
  • 源码编译及安装
    • 将下载的源码包放入Linux系统中mnt目录下
cd /mnt     
tar zxvf /mnt/mysql-5.6.26.tar.gz -C /opt

yum install -y ncurses-devel autoconf cmake

cd /opt/mysql-5.6.26/

cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock 

make

make install

rm -rf /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld

cd /etc/init.d/
chmod +x mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig  --level 35 mysqld  on

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

/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql

sed -i '46s/basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld
sed -i '47s/datadir=/datadir=\/home\/mysql/' /etc/init.d/mysqld

service mysqld start
netstat -anpt | grep 3306

mysqladmin -u root password 123123       //给root账号设置密码

安装PHP软件包

准备工作

  • 下载源码包

    • php-5.6.11.tar.bz2
  • 源码编译及安装
    • 将下载的源码包放入Linux系统中mnt目录下
cd /mnt/
tar jxvf php-5.6.11.tar.bz2 -C /opt/

yum -y install \
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel

cd /opt/php-5.6.11/
./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring 

make

make install

cp php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/

sed --follow-symlink -i '256s/DirectoryIndex index.html/        DirectoryIndex index.html index.php/' /etc/httpd.conf
sed --follow-symlink -i  '393a    AddType application/x-httpd-php .php\n    AddType application/x-httpd-php-source .phps' /etc/httpd.conf

echo -e "" > /usr/local/httpd/htdocs/index.html
mv /usr/local/httpd/htdocs/index.html /usr/local/httpd/htdocs/index.php

service httpd stop
service httpd start

验证安装

  • 在宿主机中打开浏览器,输入IP地址,验证网页是否显示刚编辑的网页内容,以测试PHP软件是否安装

详述CentOS 7中源码编译安装LAMP架构_第2张图片

  • PHP软件成功安装,LAMP架构成功搭建