使用环境:Centos7 64
所用源码包:
apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.27.tar.gz
mysql-5.6.25.tar.gz
php-5.6.10.tar.bz2
获取LAMP环境源码包集合:https://pan.baidu.com/s/1eRBMSBg 均为个人收集
一、编译安装Apache
1、解决依赖关系
这里使用的是httpd-2.4.27,需要对apr和apr-util进行升级,可以使用rpm包升级,这里采用源码进行升级。
(1)编译安装apr
# tar -xjvf apr-1.5.2.tar.bz2
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make instal
(2)编译安装apr-util
# tar -xjvf apr-util-1.5.4.tar.bz2
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make instal
(3)httpd-2.4.27编译过程需要依赖于pcre-devel软件包
可以使用源码安装也可以使用yum安装,这里为了方便就直接yum安装了
# yum install pcre-devel
(4)创建用户,组
# groupadd -r apache
# useradd -r -g apache apache
2、编译安装httpd-2.4.27
# tar xf httpd-2.4.27.tar.gz
# cd httpd-2.4.27
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
#checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
#报错说明没有安装openssl-devel
#yum install openssl-devel
# make -j 4 && make install
使用脚本控制Apache,启动服务
# /usr/local/apache2/bin/apachectl start
使用脚本控制Apache,停止服务
# /usr/local/apache2/bin/apachectl stop
3、配置Apache
# vi /etc/httpd/httpd.conf
(1)搜索ServerName www.example.com:80 去掉前面的注释
(2)修改DocumentRoot到/home/htdocs,以及这一行下面的一句中的<Directory到/home/htdocs 这个是www的根目录设置
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
# vi httpd 在第一行下添加如下两行文字
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90 #注意前面要加上#号
# description:http server #注意前面要加上#号
注册该服务
# chkconfig --add httpd #所有开机模式下自启动
# chkconfig httpd on #345开机模式下自启动
二、编译安装Mysql
1、准备数据库存放的文件系统
创建一个mydata单独的LVM2文件系统
#pvcreate /dev/sda3
#vgcreate myvg /dev/sda3
#lvcreate -L 10G -n mydata myvg
#mke2fs -t ext4 /dev/myvg/mydata
#mkdir /mydata
#echo "/dev/myvg/mydata /mydata ext4 defaults 0 0" >> /etc/fstab
#mount -a
2、创建用户、组
# mkdir /usr/local/mysql
# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data
# chown -R mysql:mysql /usr/local/mysql
3、编译
从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/mydata/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DCMAKE_INSTALL_PREFIX=dir_name | 设置mysql安装目录 |
-DMYSQL_UNIX_ADDR=file_name | 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock |
-DDEFAULT_CHARSET=charset_name | 设置服务器的字符集。 缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。 |
-DDEFAULT_COLLATION=collation_name | 设置服务器的排序规则。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 |
存储引擎选项: MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。 静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1 可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) |
-DMYSQL_DATADIR=dir_name | 设置mysql数据库文件目录 |
-DMYSQL_TCP_PORT=port_num | 设置mysql服务器监听端口,默认为3306 |
-DENABLE_DOWNLOADS=bool | 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 |
没有cmake需要安装
# yum insatall cmake -y
可能会遇到的报错:
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-deve
#提示安装软件,根据系统安装软件包
#make && make install
4、初始化mysql数据库
复制配置文件
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
修改配置文件
#vi /etc/my.cnf
添加 datadir = /mydata/data
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data
# ln -s /usr/local/mysql/bin/* /bin/
5、设置开机启动
# chkconfig mysqld on
6、登录检测
# mysql -u root -p
三、编译安装PHP
1、解决依赖关系
# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
安装libmcrypt-devel 需要配置epel源,epel源下载地址
2、安装PHP
# tar -xjvf php-5.6.10.tar.bz2
#cd php-5.6.10
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
# make && make install
3、为PHP提供配置文件
# cp php.ini-production /etc/php.ini
4、 编辑apache配置文件httpd.conf,以apache支持php
# vim /etc/httpd/httpd.conf
(1)、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(2)、定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。
5、测试php安装是否成功:
测试页面index.php示例如下:
<?php
$link = mysql_connect('127.0.0.1','root','root');
if ($link)
echo "Success...";
else
echo "Failure...";
mysql_close();
phpinfo();
?>