虚拟机之 LAMP

LAMP 就是Linux apache mysql php

一、下载:

安装下载工具

yum install wget -y

 

mysql:5.5.47

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.47-linux2.6-x86_64.tar.gz

 

apache:2.4.18

wget http://mirrors.sohu.com/apache/httpd-2.4.18.tar.gz

 

php:5.6.9

wget http://mirrors.sohu.com/php/php-5.6.9.tar.gz

 

保存镜像1.备注:lamp下载完成

 

二、MySQL

1.把解压好的MySQL放在MySQL目录下

mv mysql-5.5.47-linux2.6-x86_64 /usr/local/mysql

2.创建MySQL用户,并不允许登录

useradd -s /sbin/nologin -M mysql

3.创建数据库文件存放的目录,并更改所有者和所属组。

mkdir -p /data/mysql
 chown -R mysql:mysql !$

4.切换到MySQL安装目录下,开始安装

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

--user定义数据库的所属主   --datadir定义数据库的安装位置

 

错误1

./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
。/bin/mysqld:当加载共享库时发生错误:libaio.so。1:无法打开共享对象文件:没有这样的文件或目录
解决
yum install libaio 
echo $?

 

5.拷贝配置文件,并重命名。因为my.cnf文件已存在,直接覆盖就可以。

 cp support-files/my-large.cnf /etc/my.cnf

6.拷贝启动脚本文件,修改启动脚本权限

cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 !$

7.修改启动脚本,(没有vim使用" yum install vim -y "来安装)

vim /etc/init.d/mysqld
找到
basedir=
datadir=
改为
basedir=/usr/local/mysql
datadir=/data/mysql

basedir定义MySQL的安装目录
datadir定义MySQL数据库的文件存放目录

8.加入系统服务,设置开机启动MySQL

chkconfig --add mysqld
chkconfig mysqld on

9.启动MySQL

service mysqld start

10.检查MySQL是否启动

ps aux |grep mysqld

保存镜像2,备注mysql安装ok

MySQL配置完成                                                                                              

 

 

三、apache

1.解压

cd /usr/local/src/
tar zvxf httpd-2.4.18.tar.gz
cd httpd-2.4.18

2.编译安装

./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
解释:

非常全的参数介绍 http://blog.chinaunix.net/uid-20784749-id-1844507.html

编译介绍: http://www.linuxidc.com/Linux/2015-04/116060.htm

常用参数: http://www.cnblogs.com/xianglf/archive/2010/12/16/1908174.html


./configure 编译安装 --prefix 编译安装完成后生成一个目录,该软件所有的文件都会被复制到这个目录里面,为什么要指定这个目录呢?为了以后维护方便,如果不指定,文件会被复制到系统下各个目录,用prefix的另一个好处就是方便卸载和移植软件。把删除该目录,整个软件卸载的干干净净,移植只需要把这个目录拷贝到另一台机器即可。 --with-included-apr 如果是开发者则使用此选项,利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产生的不匹配; --enable-so 让apache核心装载DSO --enable-deflate=shared 表示共享的方式编译压缩, apache开启gizp的压缩功能。网页压缩。扩展:http://blog.csdn.net/yybjroam05/article/details/7726516 --enable-expires=shared 网站需要用到缓存功能,支持 HTTP 控制 --enable-rewrite=shared 支持 URL 重写 --with-pcre

错误1

configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

apache-2.2与新出的apache-2.4安装不同的地方在于,2.4版的已经不自带apr库,所以在安装apache-2.4之前,需要下载apr。
解决
cd /usr/local/src  #源码包统一放到此目录
wget http://mirrors.hust.edu.cn/apache/apr/apr-1.5.2.tar.bz2
wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.5.4.tar.bz2
tar -jxvf apr-1.5.2.tar.bz2
tar -jxvf apr-util-1.5.4.tar.bz2
cp -rf apr-1.5.2 ./httpd-2.4.18/srclib/apr
cp -rf apr-util-1.5.4 ./httpd-2.4.18/srclib/apr-util
#重新执行 configure 命令:

错误2

checking for gcc... no
checking for cc... no
checking for cl.exe... no
没有gcc编译器
解决
yum install gcc -y
#重新执行 configure 命令:

错误3

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

配置:错误:pcre-config libpcre不见了。PCRE是必需的,可以从http://pcre.org
解决:
yum -y install pcre-devel
#重新执行 configure 命令:

错误4

checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

检查是否启用mod_deflate……配置:错误:mod_deflate一直要求但是不能建立由于先决条件失败
解决
yum install  zlib-devel -y
#重新执行 configure 命令:
echo $?
make 
echo $?
make install
echo $?

保存镜像3.备注apache安装ok

 

apache安装完成                                                                              

 四、php

1.解压

cd /usr/local/src
tar zxvf php-5.6.9.tar.gz
cd php-5.6.9

2.编译安装

./configure --with-apr=/usr/local/apr --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-mcrypt --with-openssl --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
编译来至(全)http://blog.csdn.net/godmatrix/article/details/5969558
./configure \ 配置,安装 --with-apr=/usr/local/apr \ 指定apr代码的目录   --prefix=/usr/local/php \     指定php安装目录. --with-apxs2=/usr/local/apache2/bin/apxs \ 让Apache服务器能够支持PHP。整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块 --with-config-file-path=/usr/local/php/etc \ 指定php.ini配置文件的位置 --with-mysql=/usr/local/mysql \ MySQL安装的目录,对mysql的支持 --with-libxml-dir \ 打开对libxml2库的支持 --with-gd \ 打开对gd库的支持 --with-jpeg-dir \ --with-png-dir \ 打开对jpeg图片和png图片的支持 --with-freetype-dir \ 打开对freetype字体库的支持 --with-iconv-dir \ 打开对iconv函数库,种字符集间的转换 --with-zlib-dir \ 打开对zlib库的支持 --with-bz2 \ 打开对bz2文件的支持 --with-openssl \ 打开openssl的支持,加密传输时用到的 --with-mcrypt \ 算法,mhash和mcrypt都是算法的扩展 --enable-soap \ 打开soap的支持 --enable-gd-native-ttf \ 支持True Type 字符串 函数库 --enable-mbstring \ 多字节,字符串的支持 --enable-sockets \ 打开sockets支持 --enable-exif \ 图片的元数据支持 --disable-ipv6 不支持ipv6

错误1

configure: error: xml2-config not found. Please check your libxml2 installation. 
配置:错误:xml2-config不见了。请检查你的libxml2安装。
解决:
yum install libxml2 libxml2-devel -y

错误2

configure: error: Cannot find OpenSSL’s <evp.h>
配置:错误:找不到OpenSSL的< evp.h >
解决:
yum install openssl openssl-devel -y

错误3

Configure: error: Please reinstall the BZip2 distribution
配置:错误:请重新安装BZip2分布
解决:
yum install bzip2 bzip2-devel -y

错误4

configure: error: jpeglib.h not found.
配置:错误:jpeglib。没有找到。
解决:
yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y

错误5

Configure: error: mcrypt.h not found. Please reinstall libmcrypt.
配置:错误:mcrypt。没有找到。请重新安装libmcrypt。
解决:
安装epel-release源
 yum install epel-release -y
yum install libmcrypt-devel -y
echo $?
make
echo $?
make install
echo $?

3.拷贝PHP主配置文件

 cp php.ini-production /usr/local/etc/php.ini

4.修改apache的配置文件,使apache支持解析php

vim /usr/local/apache2/conf/httpd.conf
1.找到
#ServerName www.example.com:80
改为

2.找到
<Directory />
    AllowOverride none
    Require all denied
</Directory>
改为
<Directory />
    Options FollowSymLinks
    AllowOverride none
    Order deny,allow
    Allow from all
</Directory>

3.找到
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
改为
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

4.找到
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
改为
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
1.ServerName www.example.com:80    打开服务器占用80端口
2.Allow from all  允许访问web内容目录
3.DirectoryIndex index.html index.php   目录索引支持php
4. AddType application/x-httpd-php .php  应用类型支持php

5.检查配置文件是否错误

/usr/local/apache2/bin/apachectl -t

6.启动apache服务

/usr/local/apache2/bin/apachectl start

7.查看进程

ps aux |grep httpd

8.关闭防火墙。

永久关闭SElinux,重启生效。
 vim /etc/selinux/config
找到
SELINUX=enforcing
改为
SELINUX=disabled

临时关闭

 setenforce 0

getenforce  查看当前SElinux防火墙状态

 setenforce 0 是临时关闭

 setenforce 1 是临时打开

enforcing - SELinux security policy is enforced.打开
permissive - SELinux prints warnings instead of enforcing.打开不拦截
disabled - No SELinux policy is loaded.关闭,默认

9.清空iptables规则 

iptables -F 
 service iptables save

10.浏览器访问IP 

是否显示 it works!显示说明成功。

11.测试解析php

cd /usr/local/apache2/htdocs

php主配置文件vim /usr/local/apache2/conf/httpd.conf指定的文档根目录的路径DocumentRoot"/usr/local/apache2/htdocs"

touch 1.txt   
echo 'qqqqq' >> 1.txt
http://192.168.1.116/1.txt
vim 2.php
<?php
phpinfo();
?>
http://192.168.1.116/2.php

 

保存镜像4.备注php安装ok

php安装成功                                                                                 

 

posted @ 2016-01-15 22:26  dennyLinux  阅读(1392)  评论(0编辑  收藏  举报