源码编译安装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
准备工作
-
下载源码包
- 卸载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服务是否正常安装
MySQL的编译安装
准备工作
-
下载源码包
- 源码编译及安装
- 将下载的源码包放入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软件包
准备工作
-
下载源码包
- 源码编译及安装
- 将下载的源码包放入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 "<?php\nphpinfo();\n?>" > /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软件是否安装
- PHP软件成功安装,LAMP架构成功搭建