LAMP【LINUX、Apache、Mysql、PHP】环境的搭建

安装LAMP环境之前,必须先安装gcc,可以直接yum -y install gcc-*

1、apache源码安装

先下载httpd源码包软件,及相关依赖包软件:

httpd2.4:http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.17.tar.gz

apa1.5.2:http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz

apr-util:http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz

pcre8.37:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz

1.1、先编译安装apr1.5.2:

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

make && make install

1.2、编译安装apr-util:

./configure --prefix=/usr/local/apr-util1.5.4 --with-apr=/usr/local/apr-1.5.2

make && make install

1.3、编译安装pcre

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

make && make install

1.4、编译安装httpd

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --with-pcre=/usr/local/pcre --enable-so --enable-rewrite

1.5、编译安装完成之后,将httpd加入到系统服务,并自动启动

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

vim /etc/httpd 在第一行下加入下面一列:

# chkconfig: 2345 50 90

然后使用chkconfig添加

chkconfig --add httpd

chkconfig --level 35 httpd on

httpd编译参数:

apache编译安装参数说明

./configure //配置源代码树
--prefix=/usr/local/apache2 //体系无关文件的顶级安装目录prefix ,也就apache的安装目录。如果没有指定PREFIX,默认会装到/usr/local/apache2。
--enable-module=so //打开 so 模块,so 模块是用来提 dso 支持的 apache 核心模块
--enable-deflate=shared //支持网页压缩
--enable-expires=shared //支持 http 控制
--enable-rewrite=shared //支持 url 重写
--enable-cache //支持缓存
--enable-file-cache //支持文件缓存
--enable-mem-cache //支持记忆缓存
--enable-disk-cache //支持磁盘缓存
--enable-static-support //支持静态连接(默认为动态连接)
--enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件
--enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件 
--enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 apache 日志的管道日志程序 
--enable-static-logresolve //使用静态连接编译 logresolve - 解析 apache 日志中的ip地址为主机名
--enable-static-htdbm //使用静态连接编译 htdbm - 操作 dbm 密码数据库 
--enable-static-ab //使用静态连接编译 ab - apache http 服务器性能测试工具
--enable-static-checkgid //使用静态连接编译 checkgid 
--disable-cgid //禁止用一个外部 cgi 守护进程执行cgi脚本
--disable-cgi //禁止编译 cgi 版本的 php
--disable-userdir //禁止用户从自己的主目录中提供页面
--with-mpm=worker // 让apache以worker方式运行
--enable-authn-dbm=shared // 对动态数据库进行操作。rewrite时需要。
/usr/local/apache/bin/apachectl -m =-t -d dump_modules 安装了哪些模块
/usr/local/apache/bin/apachectl -t 测试安装是否成功
/usr/local/apache/bin/apachectl -k start|restart|stop 查看具体


2、mysql5.6编译安装:

yum -y install make cmake gcc-c++ bison ncurses ncurses-devel:先使用yum安装mysql编译需要的依赖包

mysql5.6.27:http://mirrors.linuxeye.com/lnmp/src/mysql-5.6.27.tar.gz

解压之后进入目录:先使用cmake进行编译,如下:

# cmake ./

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql          \    #安装路径

# -DMYSQL_DATADIR=/usr/local/mysql/data            \    #数据文件存放位置

# -DSYSCONFDIR=/etc                                \    #my.cnf路径

# -DWITH_MYISAM_STORAGE_ENGINE=1                   \    #支持MyIASM引擎

# -DWITH_INNOBASE_STORAGE_ENGINE=1                 \    #支持InnoDB引擎

# -DWITH_MEMORY_STORAGE_ENGINE=1                   \    #支持Memory引擎

# -DWITH_READLINE=1                                \    #快捷键功能(我没用过)

# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock               \    #连接数据库socket路径

# -DMYSQL_TCP_PORT=3306                            \    #端口

# -DENABLED_LOCAL_INFILE=1                         \    #允许从本地导入数据

# -DWITH_PARTITION_STORAGE_ENGINE=1                \    #安装支持数据库分区

# -DEXTRA_CHARSETS=all                             \    #安装所有的字符集

# -DDEFAULT_CHARSET=utf8                           \    #默认字符

# -DDEFAULT_COLLATION=utf8_general_ci

如编译过程中出现报错之后,先删除当前目录下的CMakeCache.txt文件,再提示报错提示排查,常见问题都是缺少依赖包,直接使用yum安装即可。编译完成之后,使用echo $?查看返回值,为0即成功。

下面再执行make   这个过程会持续比较长时间,耐心等待,完成之后使用make install

所有安装完成之后,做如下调试:

注意:此处编译指定的目录,后面在配置文件中一定要保证相同!!!

groupadd mysql

useradd -g mysql -s /sbin/nologin mysql

进入到mysql安装目录:

cd /usr/local/mysql

chown mysql.mysql -R /usr/loca/mysql

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

cp support-files/mysql.server /etc/init.d/mysqld

/bin/mysqld_safe --user=mysql &

bin/mysqladmin -uroot password "123456"

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

chmod +x /etc/init.d/mysqld
service mysqld start

然后启动mysql服务

使用mysql -uroot -p123456,能够进入就表示mysql安装成功

3、编译安装PHP

PHP5.6.14:http://cn2.php.net/distributions/php-5.6.14.tar.gz

yum install libxml2-devel -y:安装需要依赖包

下载完成之后解压,进入目录,进行编译

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php/etc   --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/

编译完成之后,进行make && make install安装

安装完成之后,进行如下配置,将php和apache整合:

cp php.ini-development /usr/local/lib/php.ini
vi /usr/local/apache2/conf/httpd.conf
确保以下字符串是否存在
LoadModule php5_module modules/libphp5.so
如果没有就加上
在AddType application*后面加如下一行
AddType application/x-httpd-php .php .phtml
在DirectoryIndex index.html加上index.php
DirectoryIndex index.php index.html

service httpd restart
若有error发生
setenforce 0
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
service httpd restart
2.3.3 测试php
vi /usr/local/apache2/htdocs/index.php
加入“<?php phpinfo();?>”,保存退出
service httpd restart
在浏览器中输入"http://localhost/index.php",查看是否有phpinfo的消息。
2.3.4 测试php-mysql
vi /usr/local/apache2/htdocs/php_mysql.php
输入
<?php
$link=mysql_connect('localhost','root','850909');   #这里写你数据库连接的账号和密码
if(!$link) echo "connect error!";
else echo "connected!";
mysql_close();
?> 
在浏览器输入“http://localhost/php_mysql.php”,若显示“connected!”,说明成功了

至此,LAMP源码环境安装成功!!!