LAMP环境的搭建,即LinuxApacheMySQLPHP环境。

版本:linuxCentOS 6.6 mysql5.5apache 2.4.12 php 5.5.5

操作系统:Centos6.6_64位最小化安装的形式


1. mysql

取得软件包:搜狐镜像站:mirrors.sohu.com

mysqlmysql-5.5.43-linux2.6-x86_64.tar.gz  (已经编译过的)

将软件包放到linux系统下的/usr/local/src/目录(默认源码包放置)

# tar zxvf mysql-5.5.43-linux2.6-x86_64.tar.gz  tar解压文件

代码:

# groupadd -g 3306 mysql  //用户组
# useradd -g mysql -u 3306 -M -s/sbin/nologin  mysql  //创建用户mysql 
# id mysql  //验证
 
# mkdir -p /data/mysql/   //创建mysql数据库目录
# chown -R mysql:mysql /data/mysql   // mysql对目录要有写权限 
# ll -d /data/mysql/
# cp -r /mysql-5.5.15-linux2.6-i686  /usr/local/mysql/   //移动位置
// 注意:是否存在mysql目录
# cd /usr/local/mysql // 开始初始化 mysql 
# chown -R mysql:mysql  .  //权限给予
# scripts/mysql_install_db --user=mysql--datadir=/data/mysql      // scripts脚本初始化,用来生成mysql数据库,存放表等源数据信息


error:LAMP环境搭建_linux

错误提示:libaio.so.1缺少共享库libaio.so.1

# yum list|grep libaio //查查看

# yum install libaio libaio-devel -y //yum安装

再次初始化,ok ,也可echo $? 来查看是否成功

LAMP环境搭建_lamp_02

配置:

# cd support-files/

# cp my-medium.cnf /etc/my.cnf //复制配置文件模版

# vim /etc/my.cnf    //修改配置文件


注释掉以下三行,关于主从复制会用到,暂时关闭

# log-bin=mysql-bin  二进制日志

# binlog_format=mixed 

# server-id       = 1

 

复制启动脚本,并修改权限:

# cp  ./mysql.server  /etc/init.d/mysqld

# chmod755  /etc/init.d/mysqld

# vim /etc/init.d/mysqld   #修改两个dir

basedir=/usr/local/mysql

datadir=/data/mysql      

LAMP环境搭建_linux_03

加入系统服务

# chkconfig --add /etc/init.d/mysqld

手动启用

# /etc/init.d/mysqld start

Error:

LAMP环境搭建_lamp_04

/etc/my.cnf 配置文件检查,文件名是否正确


# /etc/init.d/mysqld start

Starting MySQL.. SUCCESS!

查看服务

# chkconfig --list mysqld

mysqld            0:关闭      1:关闭      2:启用      3:启用      4:启用      5:启用      6:关闭

# netstat -lnp |grep 3306  //查看mysql 3306端口

tcp       0      0 0.0.0.0:3306     0.0.0.0:*              LISTEN      1728/mysqld   

 

 

2. Apache阿帕奇

下载源码包,解压

# tar  zxvf  httpd-2.4.12.tar.gz

# cd httpd-2.4.12

配置环境:

安装文档:# vim INSTALL

./configure--prefix=/usr/local/apache2  --enable-mods-shared=most  --enable-so

 

--enable-mods-shared=most

选项:告诉编译器将所有标准模块都动态编译为DSO模块。尽可能多的make DSO动态模块


--enable-sodso动态模块

希望在/apache2/modules/目录里有各种模块,--enable-mods-shared=most  --enable-so即可

(静态模块浪费内存)

 

 

APR errors

LAMP环境搭建_linux_05

   解决apr apr-util not  found问题——————>
APR
APR-UTIL的下载地址:http://apr.apache.org/download.cgi

# tar -zxvf  apr-1.4.5.tar.gz

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

# make

# make install

 

# tar -zxvf  apr-util-1.3.12.tar.gz

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

#make
# make install

 

 apache  如果 ./configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util;接下来可能出现下面这个错误

configure: error:pcre-config for libpcre not found. PCRE is required and available fromhttp://pcre.org/

 

#./configure –help |grep pcre

--with-pcre=PATH       Use external PCRE library
下载地址:http://ftp.exim.llorien.org/pcre/

#unzip -o pcre-8.10.zip

#cd pcre-8.10

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

可能缺少cc++编译器,yum安装下  # yum install -y gcc gcc-c++

#make

#make install

 

继续配置apache

# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

成功

编译安装:

# make

# make install

#echo $? //每一步都可利用$?来确认是否成功

简单apache 用法:

  httpd

# ./apache2/bin/httpd 核心文件

-t 检测配置文件是否正常Syntax OK

-l 静态加载了一些模块

event.c 工作模式 2.2版本默认是prefork (一个父进程生成许多子进程)

./configure --help|less

指定工作模式:

LAMP环境搭建_lamp_06

-M所有加载的模块列出

 

  apache 编译选项,不知道已经安装的阿帕奇配置文件

# cat ./apache2/build/config.nice

LAMP环境搭建_lamp_07

  启动

./apache2/bin/apachectl start|stop|restart|graceful不杀死进程加载配置文件)

脚本启动

 

netstat -lnp|grep httpd

 

浏览器输入linux网络地址10.10.10.101

It works

 

3. 安装php

# tar zxvf php-5.5.5.tar.gz 解压

 

配置

./configure  --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs  --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql  --with-libxml-dir   --with-gd   --with-jpeg-dir  --with-png-dir   --with-freetype-dir  --with-iconv-dir   --with-zlib-dir   --with-bz2  --with-openssl   --with-mcrypt   --enable-soap  --enable-gd-native-ttf   --enable-mbstring  --enable-sockets   --enable-exif   --disable-ipv6

 

 

--with-apxs2=/usr/local/apache2/bin/apxs  阿帕奇自动配置工具 php结合apache

errors:

LAMP环境搭建_linux_08

yum install -y  libxml2 libxml2-devel

 

LAMP环境搭建_linux_09

# yum install openssl-devel

LAMP环境搭建_linux_10

# yum install -y bzip2-devel

 LAMP环境搭建_linux_11


GD库没有安装

# yum install libjpeg libpng freetypelibjpeg-devel libpng-devel freetype-devel –y

 

LAMP环境搭建_linux_12

# yum install -y libmcrypt libmcrypt-devel

 

编译安装:

make(真的久)

make install

复制php配置文件模版:

# cp/usr/local/src/php-5.5.5/php.ini-development /usr/local/php/etc/php.ini

php.ini-production   生产环境

php.ini-development  开发环境(测试)

# ./php/bin/php -i |grep -i conf   \\验证

Loaded Configuration File =>/usr/local/php/etc/php.ini

 

简单php

# ./php/bin/php -m 快速查看php加载了哪些模块

gd验证码相关

缺少模块》扩展编译安装来解决

 

# ./php/bin/php -i 查看模块 具体配置 路径 编译选项

 

 

4.  配置Apache结合php

vim/usr/local/apache2/conf/httpd.conf
①找到:
AddType application/x-gzip .gz .tgz
在该行下面添加:
AddType application/x-httpd-php .php   支持解析php文件


②找到:
< IfModule dir_module>
    DirectoryIndex index.html
< /IfModule>
将该行改为:
< IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
< /IfModule>


③找到:
#ServerName www.example.com:80
修改为:
ServerName localhost:80

 

5. 测试解析php
vim /usr/local/apache2/htdocs/1.php
写入:

< ?php
    echo "php解析正常";
?>
保存后,继续测试:
curl localhost/1.php

如果显示的不是“php解析正常

说明没有成功;

 

 

解析不了:

1

# /usr/local/apache2/bin/apachectl -M|grepphp 阿帕奇有没加载php

 

php5_module (shared)  //说明已经正确加载php

 

2

vim  /usr/local/apache2/conf/httpd.conf

AddTypeapplication/x-httpd-php .php

查看Apache配置文件有没有支持php解析

 

重启apache

Apache  。。。graceful

 

 

vim /usr/local/apache2/htdocs/1.php

<?php

       phpinfo();

?>

//通过网页的方式查看模块