LAMP详细搭建及配置

来源:互联网 发布:雅迅网络股份有限公司 编辑:程序博客网 时间:2024/06/05 22:37

LAMP环境搭建

                                                    -------Victor-Jo编

1、 最小化系统安装(centors6.6)
2、 编译环境安装
3、 准备相关源码包
4、 卸载相关旧的安装包
5、 开始安装

编译环境

安装编译工具

确认是否已经安装
[root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libaio

—如果没有则使用yum进行安装
[root@centos6 ~]# yum install –y make gcc gcc-c++ zlib-devel libaio
备注:安装libpng时候需要zlib-devel
安装mysql时候需要libaio

安装相关包
libxml2,libmcrypt,zlib,libpng,jpeg,freetype,autoconf,GD
将这些统一放在/usr/local/lamp/下

安装libxml2
[root@centos6 lamp]# tar -zxvf libxml2-2.6.30.tar.gz
[root@centos6 lamp]# cd libxml2-2.6.30
[root@centos6 libxml2-2.6.30]# ./configure –prefix=/usr/local/libxml2/
[root@centos6 libxml2-2.6.30]# make;make install
注:libxml2是一个xml的c语言版的解析器,不仅支持c语言,还支持c++、php、Pascal、Ruby、Tcl等语言的绑定

安装libmcrypt
[root@centos6 lamp]# tar -zxvf libmcrypt-2.5.8.tar.gz
[root@centos6 lamp]#cd libmcrypt-2.5.8
[root@centos6 libmcrypt-2.5.8]# ./configure –prefix=/usr/local/libmcrypt/
[root@centos6 libmcrypt-2.5.8]# make;make install
注:libmcrypt是加密算法扩展库。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。

安装zlib
[root@centos6 lamp]# tar -zxvf zlib-1.2.5.tar.gz
[root@centos6 lamp]# cd zlib-1.2.3
[root@centos6 zlib-1.2.3]# ./configure –prefix=/usr/local/zlib/
[root@centos6 zlib-1.2.3]# make ; make install
注:zlib是提供数据压缩用的函式库

安装libpng
[root@centos6 lamp]# tar -zxvf libpng-1.6.17.tar.gz
[root@centos6 lamp]# cd libpng-1.6.17
[root@centos6 libpng-1.6.17]#./configure –prefix=/usr/local/libpng/ –enable-shared
[root@centos6 libpng-1.6.17]# make ; make install

安装jpeg
[root@centos6 lamp]# tar -zxvf jpegsrc.v8c.tar.gz
[root@centos6 lamp]# cd jpeg-8c
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/(创建jpeg软件的安装目录)
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/bin/(创建存放命令的目录)
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/lib/(创建jpeg库文件所在目录)
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/include/(创建存放头文件目录)
[root@centos6 jpeg-8c]# mkdir -p /usr/local/jpeg/man/man1(建立存放手册的目录)
[root@centos6 jpeg-8c]#./configure –prefix=/usr/local/jpeg/ –enable-shared –enable-static(建立共享库使用的GNU的libtool和静态库使用的GNU的libtool)
[root@centos6 jpeg-8c]# make ; make install

安装freetype
[root@centos6 lamp]# tar -zxvf freetype-2.4.6.tar.gz
[root@centos6 lamp]# cd ./freetype-2.4.6
[root@centos6 freetype-2.4.6]# ./configure –prefix=/usr/local/freetype/ –enable-shared
[root@centos6 freetype-2.4.6]# make ;make install

安装autoconf
[root@centos6 lamp]# tar -zxvf autoconf-2.61.tar.gz
[root@centos6 lamp] # cd ./autoconf-2.61
[root@centos6 autoconf-2.61]# ./configure
[root@centos6 autoconf-2.61]# make ; make install

安装GD
[root@centos6 lamp]# tar -zxvf gd-2.0.35.tar.gz
[root@centos6 lamp]# cd ./gd-2.0.35
[root@centos6 gd-2.0.35]#
./configure –prefix=/usr/local/gd/ –with-zlib=/usr/local/zlib/ –with-jpeg=/usr/local/jpeg/ –with-png=/usr/local/libpng/ –with-freetype=/usr/local/freetype/
[root@centos6 gd-2.0.35]# make ; make install

GD报错
make[2]: * [gd_png.lo] Error 1
make[2]: Leaving directory /tmp/gd-2.0.35'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
/tmp/gd-2.0.35’
make: * [all] Error 2
解决方法:
[root@centos6 gd-2.0.35]# vim gd_png.c
找到“png.h”改成“/usr/local/libpng/include/png.h”)
先运行make clean 再重新编译 安装
编译apache
卸载旧的http
[root@centos6 lamp]rpm –qa | grep http —检查是否安装
http-aXXXXXXX
[root@centos6 lamp]yum remove httpd 卸载httpd

在编译安装apache之前先安装apr,apr-util,pcre ;仨个包

安装apr
[root@centos6 lamp]tar –zxvf apr-1.5.2.tar.gz
[root@centos6 lamp]cd apr-1.5.2
[root@centos6 lamp] ./configure –prefix=/usr/local/apr/
[root@centos6 lamp] make ; make install

安装apr-util
[root@centos6 lamp]tar –zxvf apr-util-1.4.1.tar.gz
[root@centos6 lamp]cd apr-util-1.4.1
[root@centos6apr-util-1.4.1]
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/
[root@centos6 apr-util-1.4.1] make ; make install

安装pcre
./configure –prefix=/usr/local/pcre

安装apache

[root@centos6 lamp]# tar -zxvf httpd-2.4.1.tar.gz
[root@centos6 lamp]# cd httpd-2.4.1
[root@centos6httpd-2.4.1]#
./configure –prefix=/usr/local/apache/ –enable-so –enable-rewrie
–with-apr-util=/usr/local/apr-util-1.4.1 –with-pcre=/usr/local/pcre
[root@centos6 httpd-2.4.1]# make ; make install
[root@centos6 httpd-2.4.1]# /usr/local/apache/bin/apachectl start
[root@centos6 httpd-2.4.1]#cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@centos6 httpd-2.4.1]# chmod +x /etc/init.d/httpd
[root@centos6 ~]# chkconfig –add httpd
错误:service httpd does not support chkconfig
解决办法:
打开 vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面)
-#chkconfig: 2345 10 90
-#description: Activates/Deactivates Apache Web Server
加上上面这两行就可以,#必须有,前面的-去掉
其中:2345是设为要启动的运行级别,10是启动优先级,90是杀死进程的优先级,谁优先谁先挂的意思。

[root@centos6 ~]# chkconfig –level 2345 httpd on
[root@centos6 ~]# service httpd restart

添加开机启动
修改/etc/rc.local文件
root@centos6 ~]# vim /etc/rc.d/rc.local
在文件中添加/usr/local/apache/bin/apachectl start

配置apache
[root@zjzhi apache]# vim /usr/local/apache/conf/ httpd.conf
找到
-#Include conf/extra/httpd-vhosts.conf
这行,将前面的注释去掉

修改
User root
Group root

User www
Group www

修改

DirectoryIndex index.html



DirectoryIndex index.html index.htm index.php

保存退出

关闭apache目录浏览权限
[root@localhost conf]# vim httpd.conf
LoadModule autoindex_module modules/mod_autoindex.so
将这行注释掉

保存退出

[root@zjzhi conf]# cd /usr/local/apache/conf/extra/
root@zjzhi extra]# cat httpd-vhosts.conf
Include /usr/local/apache/conf/vhosts/*.conf

[root@zjzhi vhosts]#cd /usr/local/apache/conf/vhosts/
[root@zjzhi vhosts]# ls
phpwind.conf

[root@zjzhi vhosts]#cat phpwind.conf —-自己创建这个配置文件

添加apache用户组

[root@centos6 ~]#groupadd www
[root@centos6 ~]#useradd -g www www
[root@centos6 ~]#mkdir -p /var/alidata/www/phpwind
[root@centos6 ~]#chmod +w /var/alidata/www/phpwind
[root@centos6 ~]#chown www:www /var/alidata/www/phpwind -R
注:/var/alidata/www/phpwind —-站点目录

添加apacheURl重写规则
[root@zjzhi conf]# vim /usr/local/apache/conf/httpd.conf
找到 #LoadModule rewrite_module modules/mod_rewrite.so
这行,将前面的注释去掉 开启Url重启规则模块

修改
AllowOverride none

AllowOverride all

保存退出
重写规则
[root@zjzhi conf]#vim /var/alidata/www/phpwind/.htaccess

编译mysql

[root@centos6 lamp]rpm –qa | grep mysql —检查是否安装
有的话卸载 yum remove mysql OR rpm –e mysql-XXX –nodeps

[root@centos6 lamp]# tar-zxvf mysql-5.5.20-linux2.6-x86_64.tar.gz
[root@centos6 lamp]# cd mysql-5.5.20-linux2.6-x86_64
[root@centos6 mysql-5.5.20-linux2.6-x86_64]# groupadd mysql
[root@centos6 mysql-5.5.20-linux2.6-x86_64]# useradd -r -g mysql mysql
(创建mysql用户,并将用户指定至mysql组)
[root@centos6 mysql-5.5.20-linux2.6-x86_64]# cd /usr/local/
[root@centos6 local]# ln -s /usr/local/lamp/mysql-5.5.20-linux2.6-x86_64 mysql
[root@centos6 local]# cd ./mysql/
[root@centos6 mysql]# chown -R mysql .(将该目录的用户权限全部更改为mysql用户)
[root@centos6 mysql]# chgrp -R mysql .(将该目录的用户组全部改为mysql用户组)
[root@centos6 mysql]# ./scripts/mysql_install_db –user=mysql
(将mysql目录的数据库使用权限指定为mysql)
[root@centos6 mysql]# chown -R root .
[root@centos6 mysql]# chown -R mysql data
[root@centos6 mysql]# cp support-files/my-medium.cnf /etc/my.cnf
(将当前目录下的配置文件拷贝到系统配置文件下,并更名为my.cnf)
[root@centos6 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos6 mysql]# chmod +x /etc/init.d/mysqld
[root@centos6 mysql]# chkconfig –add mysqld
[root@centos6 mysql]# chkconfig –level 345 mysqld on
[root@centos6 mysql]#vim /etc/my.cnf

在[mysqld]选项下面添加:
skip-name-resolve ——禁用DNS解析,加快访问速度
保存 退出

[root@centos6 mysql]# service mysqld restart
[root@centos6 mysql]# /usr/local/mysql/bin/mysqladmin -u root password ‘**
(设置root用户登录mysql的密码)
[root@centos6 mysql]# /usr/local/mysql/bin/mysql -u root –p(进入并访问mysql数据)

避免每次都需要输入那么长的路径才可以使用mysql的命令,可以修改下用户环境
[root@localhost ~]# vim .bash_profile
PATH=PATH:HOME/bin:/usr/local/mysql/bin

添加mysql用户
[root@centos6 mysql]#mysql –uroot –p*****
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON . TO ‘user’@’localhost’ IDENTIFIED BY PASSWORD ‘**’ WITH GRANT OPTION

如果提示ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
问题原因:你输入的密码是明文。不允许这么输入。
解决办法:用select password(‘mima’);查询出你的密码对应的字符串,
然后用这个字符串在创建用户命令中替换你的密码。

导入数据
mysql> create database dataname;
mysql> use dataname;
mysql> source /path/dataname.sql;
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| test |
| dataname |
+——————–+
5 rows in set (0.00 sec)

编译php

[root@centos6 lamp]rpm –qa | grep php —检查是否安装
有的话卸载 yum remove mysql OR rpm –e php-XXX –nodeps
[root@centos6 LAMP]# tar -zxvf php-5.3.7.tar.gz
[root@centos6 LAMP]# cd ./php-5.3.7
[root@centos6 php-5.3.7]#
./configure –prefix=/usr/local/php/ –with-apxs2=/usr/local/apache/bin/apxs –with-libxml-dir=/usr/local/libxml2/ –with-jpeg-dir=/usr/local/jpeg/
–with-freetype-dir=/usr/local/freetype/ –with-gd-dir=/usr/local/gd/ –with-zlib-dir=/usr/local/zlib/ –with-mcrypt=/usr/local/libmcrypt/ –with-mysqli=/usr/local/mysql/bin/mysql_config
–enable-soap –enable-mbstring=all –enable-sockets –with-pdo-mysql=mysqlnd –with-mysql=mysqlnd

编译如果报错,切记勿要继续按照,一定完美通过才能安装,不然后面会有问题

[root@centos6 php-5.3.7]# make ; make install
报错:
make: * [libphp5.la] Error 1
解决方法如下:
cd zlib-1.2.3 //进入zlib目录
Make clean
CFLAGS=”-O3 -fPIC” ./configure –prefix=/usr/local/zlib //使用64位元的方法进行编译
make
make install
[root@centos6 php-5.3.7]#cp php.ini-development /usr/local/php/lib/php.ini

更改apache的配置文件,达到解析php文件的目的
[root@centos6 ~]# vim /usr/local/apache/conf/httpd.conf
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
Addtype application/x-httpd-php .php .phtml —–添加部分
Addtype application/x-httpd-php-source .phps —–添加部分
添加上面绿色内容,表示apache服务中可以解析php格式文件
接下来要检查apache目录下生成的php动态连接库文件,在目录/usr/local/apache/modules,找到是否存在 libphp5.so文件

验证
[root@centos6 ~]# vim /var/alidata/www/phpwind/index.php
添加内容为

0 0