关于Centos的Lamp的整合
系统安装平台CentOS6.0_64位
关闭Selinux和Iptables(可以允许MySQL,Apahce的默认端口3306和80端口通过)
相关系统依赖包的安装
(我这边使用的是自己制作的源,源制作请参http://ready.blog.51cto.com/507803/754125)
#yum -y install openssl openssl-devel gcc gcc-c++ make ncurses-devel php-mysql php-gd php-pdo libxml2-devel
(系统在编译包的时候所依赖的包,如果这里有其他需要安装的包可以根据提示进行安装)
一.编译安装包准备:
Httpd-2.2.22.tar.gz
下载地址:http://archive.apache.org/dist/httpd/httpd-2.2.22.tar.gz
MySQL-5.1.61.tar.gz
下载地址:http://115.com/file/e79mytz2
Php-5.3.10.tar.gz
下载地址:http://cn2.php.net/distributions/php-5.3.10.tar.gz
Freetype-2.3.10.tar.gz
http://mirror.yongbok.net/nongnu/freetype/freetype-2.3.10.tar.gz
Gd-2.0.35.tar.gz
http://google-desktop-for-linux-mirror.googlecode.com/files/gd-2.0.35.tar.gz
Jpegsrc.v7.tar.gz
http://down1.chinaunix.net/distfiles/jpegsrc.v7.tar.gz
Libpng-1.2.49.tar.gz
http://jaist.dl.sourceforge.net/project/libpng/libpng12/1.2.49/libpng-1.2.49.tar.gz
编译包存放在/usr/local/src目录下,包存放路径可自行定义
二.安装开始,系统已经准备好,在此之前我有一个独立安装Apache的版本是2.2.21的,这里使用的是2.2.22.版本使用尽量使用稳定版本的,特别是线上服务器)
1.Apache的安装
1.1.安装Apache
#cd /usr/local/src
#tar zxf httpd-2.2.22.tar.gz
#cd httpd-2.2.22
#./configure --prefix=/usr/local/apache -enable-so -enable-rewrite -with-mpm=worker
参数说明
-enable-so 启用DSO机制;
-enable-rewrite 启动Apache重写和URL的重定向
-with-mpm=worker Apache运行模式
#make;make install (执行安装)
1.2.制作Apache为开机自动启动
#cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
#chmod 755 /etc/init.d/httpd
#/etc/init.d/httpd start
#chkconfig --add httpd (添加到系统服务)
#chkconfig httpd on 345 (开机自动启动级别)
1.3.测试Apache是否安装成功
直接在你的浏览器输入服务器的访问地址
http://ip
显示:"It work's"字样说明安装成功.
1.4创建后续需要测试PHP是否正确安装的测试页
#vim /usr/local/apache/htdocs/test.php(这个测试页可以暂时不用做测试)
添加如下内容,并保存退出
<?
phpinfo();
?>
2.MySQL的安装
#cd /usr/local/src
2-1.创建管理帐号及其数据存放路径
#useradd mysql -s /sbin/nologin (创建mysql管理帐号)
#mkdir /data (如果单独使用MySQL的话,推荐单独给Mysql一个分区,这里为便于之后的数据管理)
2-2.安装MySQL
#tar zxf mysql-5.1.61.tar.gz
#cd mysql-5.1.61
#./configure --prefix=/usr/local/mysql -localstatedir=/data/mysql_db
-with-extra-charsets=utf8,gb2312,gbk -with-pthread --enable-thread-safa-client
参数说明:
/usr/local/mysql 数据库安装路径
-localstatedir=/data/mysql_db 初始化数据库存放路径
-with-extra-charsets=utf8,gb2312,gbk 设置支持gbk,gb2312,utf8字符集
-with-pthread --enable-thread-safa-client (以线程的方式运行)
#make;make install
#cp /usr/local/src/mysql-5.1.61/support-files/my-large.cnf /etc/my.cnf
(MySQL主配置文件的生成,这里通过直接拷贝MySQL源码包里面提供的主配置文件模板进行相关更改)
#chown -R mysql.mysql /usr/local/mysql (对MySQL的安装目录进行属主变更)
#/usr/local/mysql/bin/mysql_install_db -user=mysql & (MySQL后台启动)
制作MySQL开机自动启动
#cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld
#/etc/init.d/mysqld start
#chkconfig --add mysqld
#chkconfig mysql on 345
(MySQL安装启动过程中出现的错误处理:
如果提示/tmp/mysql.sock错误,请参考以下步骤
2-2.1.可以使用rm命令删除掉/tmp/mysql.sock,再执行/usr/local/mysql/bin/mysqld_safe -user=mysql &
2-2.2.权限是否赋予可以使用chown -R mysql.mysql /tmp/mysql.sock,而后执行/etc/init.d/mysqld start 或者 service mysqld start
2-2.3.修改MySQL的主配置文件/etc/my.cnf:
[mysqld]
datadir=/data
socket=/tmp/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
[client]
socket=/tmp/mysql.sock
如果提示:Starting MySQLCouldn't find MySQL manager or server
说明mysqld服务没启,运行/usr/local/mysql/bin/mysqld_safe & 再启动Mysql服务)
2-2.4如果出现: -bash:mysql:command not found字样,请将安装目录下面的bin目录做一个软连接,从而可以调用到/usr/local/mysql/bin里面的命令。软连接命令如下:
#ln -s /usr/local/mysql/bin /usr/bin (这个方法个人觉得操作快一些,也可以使用其他的方式)
#/mysqladmin -uroot password '******' ‘设置MySQL登陆密码’
#ps -aux | grep mysql | grep -v grep (查看MySQL是否启动,成功启动可以登录MySQL进行操作)
#mysql -uroot -p
输入密码提示:
出现如下信息,说明Mysql安装成功
mysql>
3.安装PHP组件及PHP
3-1.freetype的安装
#cd /usr/local/src
#tar zxf freetype-2.3.10.tar.gz
#cd freetype-2.3.10
#./configure --prefix=/usr/local/freetype #安装目录
#make;make install
3-2.jpeg的安装
#cd /usr/local/src
#tar zxf jpegsrc.v7.tar.gz
#cd jpeg-7
#./configure --prefix=/usr/local/jpeg #安装目录
#make;make install
3-3.png的安装
#tar zxf libpng-1.2.49.tar.gz
#cd libpng-1.2.49
#./configure --prefix=/usr/local/libpng #安装目录
#make;make install
如下软连接是为了避免安装GD的时候出错.
#ln -s /usr/local/libpng/include/pngconf.h /usr/include
#ln -s /usr/local/libpng/include/png.h /usr/include
3-4.gd库的安装
#cd /usr/local/src
#tar zxf gd-2.0.35.tar.gz
#cd gd/2.0.36
#./configure --prefix=/usr/local/gd2 --with-freetype=/usr/local/freetype --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg
参数说明:
--prefix=/usr/local/gd2 安装路径
--with-freetype=/usr/local/freetype 关联freetype
--with-png=/usr/local/libpng 关联libpng
--with-jpeg=/usr/local/jpeg 关联jpeg
#make;make install 执行安装
3-5.php的安装
#cd /usr/local/src
#tar zxf php-5.3.10.tar.gz
#cd php-5.3.10
#./configure --prefix=/usr/local/php --with-gd=/usr/local/gd2 --with-apxs2=/usr/local/apache/bin/apxs --enable-mbregex --enable-bcmath --with-mysql --with-zlib-dir --enable-mbstring=all --with-pdo-mysql --with-freetype-dir=/usr/local/freetype
参数说明:
--prefix=/usr/local/php 安装路径
--with-gd=/usr/local/gd2 关联GD库
--with-apxs2=/usr/local/apache/bin/apxs 关联Apache
--with-freetype-dir=/usr/local/freetype 关联freetype
--enable-mbregex 打开对mbregex的支持
--enable-bcmath 打开图片大小调整
--with-mysql 对mysql的支持
--with-zlib-dir 打开zlib库的支持
--enable-mbstring=all 多字节,字符串的支持
--with-pdo-mysql 开启PDO_MySQL扩展模块
#make;make install执行安装
#cp /usr/local/src/php-5.3.10/php.ini-production /etc/php.ini (php主配置文件的制作,这个可以从解压的文件包里面copy过来)
如果是rpm或者yum安装的apache服务,在关联apache与php的时候,可以直接--with-apxs2,而不需要加后面的具体路径(如果可以的话,尽量源码包编译安装)
4.通过上述的安装步骤,大致的源码包及其关联包已经安装完成,现在要做的就是细节检查,看上述的安装是否安装正确
4-1.查看包是否安装成功,Apache,MySQL,PHP,freetype,jpeg,png,路径为/usr/local下,看有不有这些安装目录
4-2.检查关联模块是否存在
#cd /usr/local/apache/modules;ls (进入看是否存在libphp5.so)
4-3.需要做配置文件的变更
Apahce配置文件修改
#vim /usr/local/apache/conf/httpd.conf
查看主配置文件是否有LoadModule php5_module modules/libphp5.so (大概是在53行左右)
如果没有请添加LoadModule php5_module modules/libphp5.so
找到<IfModule mime_module>,大概是在'287行'的位置加入如下一行
AddType application/x-httpd-php .php(这里有个空格)
保存退出,若要对配置文件进行校正请执行以下命令
#/usr/local/apache/bin/apachectl -t
MySQL配置文件修改
#vim /etc/my.cnf
添加内容如下:
[client]部分添加
default-character-set = utf8
[mysqld]部分添加
default-character-set = utf8
init_connect = 'SET NAMES uft8'
max_connections = 1000
ft_min_word_len = 1
expire_logs_days = 7
保存退出。
4-4.启动Apache,Mysql进行验证
注意事项,在重新启动服务的时候请检查该服务是不是已经启动
netstat -tlnp | grep '服务名称'(查看端口状态是不是监听的)
如果普通的手法关闭不掉服务,就请使用kill -9的尝试强制关闭
测试php是否与Apahce成功安装,请通过浏览器访问
http://ip/test.php这个test.php文件是之前已经创建好的哦,有印象吧
测试MySQL的话,可以直接使用
mysql -uroot -p输入密码直接登录
mysql>create database lamp;(创建一个名为lamp的数据库)
mysql>show databases;(列出已有数据库)。
至此Lamp完成安装。关于Lamp的细节优化,在后期会一一更新,博文中的一些错误信息,请提出异议。