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.-linux2.-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.: cannot open shared object file: No such file or directory
。/bin/mysqld:当加载共享库时发生错误:libaio.so。:无法打开共享对象文件:没有这样的文件或目录
解决
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  !$

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..tar.gz
cd httpd-2.4.

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与新出的apache-.4安装不同的地方在于,.4版的已经不自带apr库,所以在安装apache-.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..tar.bz2
tar -jxvf apr-util-1.5..tar.bz2
cp -rf apr-1.5. ./httpd-2.4./srclib/apr
cp -rf apr-util-1.5. ./httpd-2.4./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..tar.gz
cd php-5.6.

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
.找到
#ServerName www.example.com:
改为 .找到
<Directory />
AllowOverride none
Require all denied
</Directory>
改为
<Directory />
Options FollowSymLinks
AllowOverride none
Order deny,allow
Allow from all
</Directory> .找到
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改为
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule> .找到
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
.ServerName www.example.com: 打开服务器占用80端口
.Allow from all 允许访问web内容目录
.DirectoryIndex index.html index.php 目录索引支持php
. 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 

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 .txt   
echo 'qqqqq' >> 1.txt
http://192.168.1.116/1.txt
vim .php
<?php
phpinfo();
?>
http://192.168.1.116/2.php

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

php安装成功                                                                                 

虚拟机之 LAMP的更多相关文章

  1. 开源解决方案一:快速搭建单机版 LAMP 网站

    LAMP 通常表示 Linux + Apache + MySQL/MariaDB + Perl/PHP/Python,LAMP 的各个组件不是一成不变的,并不局限于它最初的选择.作为一个解决方案套件, ...

  2. ubuntu通过虚拟域名访问不了 502 / 网络错误

    ##之前把虚拟机的lamp环境搭建好,但是通过自己windows在浏览器访问一直不能正常运行. 简单说明一下我的相关设置: 1.设置windows的ip映射 C:\Windows\System32\d ...

  3. php 编译时 报错 configure: error: libXpm.(a|so) not found.

    编译环境 centos7 php 5.4.26 $ yum install libXpm-devel 显示已安装 百度得知 ubuntu虚拟机安装lamp遇到的问题 configure: error: ...

  4. 安装lnmp1.5到最后出现Error: MySQL install failed的解决方法

    解决方法: mv /usr/bin/cmake /usr/bin/cmake.backup wget http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.g ...

  5. (原创)LAMP教程5-配置VirtualBox虚拟机中centos6.4的网卡

    (原创)LAMP教程5-配置VirtualBox虚拟机中centos6.4的网卡 是的,今天我们要讲的是如何配置VirtualBox虚拟机中centos6.4的网卡,毕竟我们是要做网站开发的,没有网络 ...

  6. (原创)LAMP教程2-安装虚拟机软件VirtualBox

    大家好,今天我们讲的是第二章,安装虚拟机软件VirtualBox 我先讲一下我的电脑的环境,可以看下面的图片说明 大家也看到了我的机子是64位的win7系统(为什么讲这个,因为接下来我们要下载的是ce ...

  7. (原创)LAMP教程1-下载虚拟机软件

    (原创)LAMP教程1 从今天开始会在我的博客更新LAMP教程,第一章节就是安装虚拟机,因为不可能所有的人都有机会操作服务器,所以今天我打算教大家用虚拟机安装配置当下比较流行的框架,lamp. 好了费 ...

  8. Centos6.7的在虚拟机virulBox下的lamp平台的搭建

    实验环境: linux:小甲鱼带你学C语言,带你飞的提供的体积比较小的centos6.7和virtualBox mysql,apahce,php是燕十八在Linux基础进阶中提供的安装方式: 结果,安 ...

  9. ubuntu 安装 lamp 和配置虚拟机

    1:sudo passwd root  #设定root密码 su 切换  exit 退出  ,或者 普通用户下 加sudo  2:sudo apt-get update  #更新软件列表 3:sudo ...

随机推荐

  1. mvp和mvc的区别

    一句话总结:你代码逻辑有没有写在View中的,有就是MVC,没有就是MVP MVP模式: View不直接与Model交互,而是通过与Presenter交互来与Model间接交互 Presenter与V ...

  2. Android常见面试笔试题目

    Android常见面试笔试题目 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 答:可以处理消息循环的线程,他是一个拥 ...

  3. maven install时自动施行单元测试

    maven install时自动执行单元测试 1.maven-surefire-plugin简介 Maven本身并不是一个单元测试框架,它只是在构建执行到特定生命周期阶段的时候,通过插件来执行JUni ...

  4. Leetcode22. Generate Parentheses(生成有效的括号组合)

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/74937307冷血之心的博客) 题目如下:

  5. Arcgis for Js实现graphiclayer的空间查询

    本节讲的是Arcgis for Js的针对graphiclayer的空间查询,内容很简单,代码如下: <!DOCTYPE html> <html> <head> & ...

  6. 旧书重温:0day2【11】第6章 狙击windows的异常处理

    昨晚经过一番努力,又把第六章的内容温习了一遍! 随手,做了一个实验!狙击windows的异常处理, 顺便也把过程记录了下来!省事!(有图) 今早,论坛一直无法打开! 就推迟到了现在! 哈哈 正题: 第 ...

  7. IDEA导出想要的sql供H2数据库使用

    通过Database连接远程oracle数据库. 选择对应的数据库 双击该数据库需要查询的表,进行自动查询,展示结果. 在查询结果中选择某条数据,右键,选择Data Executer,选择对应的方式. ...

  8. 基于注解的 Spring MVC 简单入门

    web.xml 配置: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> ...

  9. 重温CLR(七 ) 属性和事件

    无参属性 许多类型都定义了能被获取或更高的状态信息.这种状态信息一般作为类型的字段成员实现.例如一下类型包含两个字段: public sealed class Employee{ public str ...

  10. Win32 API中使用定时器的三种方法

    转自:http://blog.csdn.net/fancycow/article/details/6676064 1.SetTimer(HWND,UINT,UINT,TIMERPROC);第一个参数设 ...