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源码环境安装成功!!!