虚拟机之 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安装成功