LAMP环境的搭建,即Linux、Apache、MySQL、PHP环境。
版本:linuxCentOS 6.6 、mysql5.5、apache 2.4.12、 php 5.5.5
操作系统:Centos6.6_64位最小化安装的形式
1. mysql:
取得软件包:搜狐镜像站:mirrors.sohu.com
mysql:mysql-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:
错误提示:libaio.so.1缺少共享库libaio.so.1
# yum list|grep libaio //查查看
# yum install libaio libaio-devel -y //yum安装
再次初始化,ok ,也可echo $? 来查看是否成功
配置:
# 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
加入系统服务
# chkconfig --add /etc/init.d/mysqld
手动启用
# /etc/init.d/mysqld start
Error:
/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:
① 解决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 �Chelp |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
可能缺少c、c++编译器,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
指定工作模式:
-M所有加载的模块列出
② 看apache 编译选项,不知道已经安装的阿帕奇配置文件
# cat ./apache2/build/config.nice
③ 启动
./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:
yum install -y libxml2 libxml2-devel
# yum install openssl-devel
# yum install -y bzip2-devel
GD库没有安装
# yum install libjpeg libpng freetypelibjpeg-devel libpng-devel freetype-devel �Cy
# 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();
?>
//通过网页的方式查看模块