LAMP一直是一种应用非常广泛的Web平台,学习Linux也有一些日子了,但是从来没有认真做过笔记,现在终于闲了一些,将自己所学习的一些东西记录下来,方便以后翻阅。
首先列出本次安装所需要的软件包及版本:
OS CentOS-5.5 64bit
cmake-2.8.8 mysql-5.5.23
httpd-2.4.2 apr-1.4.6 apr-util-1.3.8 pcre-8.30
php-5.4.0
第一部分 MySQL安装
一、安装cmake
解压
#tar zxvf cmake-2.8.8.tar.gz
安装
#./bootstrap
#make && make install
二、安装MySQL数据库;
创建mysql用户
#useradd –M mysql -M参数为不创建用户目录
创建数据存放目录等
#mkdir –p /data/mysql/{data,logs}
更改属主
#chown –R mysql:mysql /data/mysql
解压
#tar zxvf mysql-5.5.23.tar.gz
预编译
# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装目录
-DMYSQL_DATADIR=/data/mysql/data \ 数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock \ socket文件路径
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ innoDB引擎
-DEXTRA_CHARSETS=all \ 支持字符集
-DDEFAULT_CHARSET=utf8 \ 字符集
-DDEFAULT_COLLATION=utf8_general_ci \ 字符集校验
-DWITH_DEBUG=0 -DSYSCONFDIR=/data/mysql/ 默认配置文件my.cnf路径
并行编译并安装
#make –j 4 && make install
复制配置文件
#cp support-files/my-medium.cnf /data/mysql/my.cnf
复制启动脚本
#cp support-files/mysql.server /etc/ini.d/mysqld
#chmod +x /etc/ini.d/mysqld
配置开机启动
#chkconfig –add mysqld
#chkconfig mysqld on
查看配置结果
#chkconfig –list | grep mysqld
初始化数据库
#cd /usr/local/mysql/scripts/
#./mysql_install_db –basedir=/usr/local/mysql –datadir=/data/mysql/data –user=mysql
将mysql命令加入环境变量
#echo ‘PATH=/usr/local/mysql/bin:$PATH’ >> /etc/profile
#source /etc/profile
登录数据库
#mysql
第一部分MySQL安装完成。
参考资料:
第二部分 Apache安装
一、安装apr、apr-util、pcre
先简单说明一下这几个包:
Apache可移植运行库(Apache Portable Runtime,APR)。主要用作Apache 2.0 Web服务器基础的APR让你能够把应用程序汇集到单个接口上,在多个平台上运行,这些平台包括Unix、Linux和Windows。
PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。PCRE是一个轻量级的函数库,比Boost之中的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。
去各自的官方网站下载最新稳定版软件包,本次下载的版本如下:
apr-1.4.6 apr-util-1.3.8 pcre-8.30
这三个软件默认编译安装即可,安装路径统一为/usr/local/*。Pcre预编译时加上apr路径。参数:
--with-apr=/usr/local/apr/
二、安装Apache
解开压缩包后直接进入源码包进行预编译,编译参数如下:
#./configure \
--prefix=/usr/local/apache \ 路径
--enable-so \ 动态加载模块(DSO)支持
--enable-module=rewrite \ 编译rewrite模块(rewrite不可以动态加载)
--with-mpm=prefork \ 非线程型的、预派生的Web服务器,适用于没有线程安全库,需要避免线程兼容性问题的系统
--enable-shared=max 除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内
完成后编译,编译安装。
#make –j 4 && make install
测试启动
#/usr/local/apache/bin/apachectl -k start 没有消息就是好消息
#netstat -ntl 查看监听端口80
加入开机启动脚本
#echo ‘/usr/local/apache/bin/apachectl start’ >> /etc/rc.local
OK!Apache安装完成!
参考资料
第三部分 PHP安装
安装前先安装一些库依赖关系。不然预编译不过去。
#yum –y install libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel freetype-demos
解压、进入源码目录
#tar zxvf php-5.4.0.tar.gz
#cd php-5.4.0
./configure --prefix=/usr/local/php \ 安装路径
--with-apxs2=/usr/local/apache/bin/apxs \ 整合Apache
--with-config-file-path=/usr/local/php/etc \ 配置文件路径
--with-mysql=/usr/local/mysql/ \ 整个MySQL,对MySQL支持
--with-mysqli=/usr/local/mysql/bin/mysql_config \ mysqli扩展技术
--enable-zip \
--with-bz2 \
--with-jpeg-dir \ jpeg图片支持
--with-png-dir \ png图片支持
--with-freetype-dir \ freetype字体库支持
--without-iconv \ 关闭iconv函数,多种字符集之间的转换
--with-libxml-dir \ libxml2库支持
--with-zlib-dir \ zlib库支持
--with-gd \ gd库支持
--enable-gd-native-ttf \ TrueType字符串函数库
--with-curl \ curl浏览工具支持
--enable-mbstring \ 多字节,字符串支持
--enable-sockets \ sockets 支持
--disable-debug 关闭调试模式
编译、安装
#make -j 4 && make install
复制php.ini
#cp php.ini-production /usr/local/php/etc
编辑Apache配置文件
#vi /usr/local/apache/conf/httpd.conf
查找<IfModule mod_mime.c>;
增加如下一行
AddType application/x-httpd-php .php
编辑test.php文件,测试php安装结果
#vim /usr/local/apache/htdocs/test.php
<?php
phpinfo();
?>
保存后,重启Apache
#/usr/local/apache/bin/apachectl restart
出现phpinfo页面,证明安装成功,注意查看一下加载的php.ini文件路径,正确位置为
/usr/local/php/etc/php.ini
以上,PHP安装完毕。
参考资料
到此位置,LAMP环境安装完毕!