您的位置:首页 > 运维架构 > Linux

LAMP环境搭建

2015-06-20 15:58 543 查看
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问题——————>
[b]APR
[/b]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可能缺少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 –y




# 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();
?>
//通过网页的方式查看模块
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux lamp