LAMP

一、下载MySQL


1.查看自己Linux系统是多少位的,然后决定下载多少位的MySQL

uname -i
反馈:x86_64  64位 或者  i386  32位

 

2.使用yum安装下载工具‘wget’

yum install wget -y

 

3.切换到指定的目录下,软件包下载到该目录下

cd /usr/local/src/

 

4.去MySQL官网下载MySQL,需注册,找到合适的版本

http://dev.mysql.com/downloads/mysql/

或者去搜狐的下载

http://mirrors.sohu.com/

 

64位下载软件包

wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz

32位下载软件包

wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

 

下载

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

 

5.解压

tar zxvf mysql-5.5.47-linux2.6-x86_64.tar.gz

 

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

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

 

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

useradd -s /sbin/nologin mysql

 

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

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

 

二、安装MySQL

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

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

--user定义数据库的所属主

--datadir定义数据库的安装位置

 

2.检查安装是否出错

echo $?

反馈0说明没有错误,反馈1说明报错。

 

三、配置MySQL

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

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

 

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

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

 

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

vim /etc/init.d/mysqld

需要把

basedir=
datadir=

修改为

basedir=/usr/local/mysql
datadir=/data/mysql

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

 

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

chkconfig --add mysqld
chkconfig mysqld on

 

5.启动MySQL

service mysqld start

 

6.检查MySQL是否启动

ps aux |grep mysqld

 

 MySQL安装,配置,启动完成。                                                                                   

 

一、下载Apache

1.切换到下载目录

cd /usr/local/src

 

2.下载Apache,Apache的官网是:http://www.apache.org/

Download - HTTP - 找到中国的镜像站.cn

wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.18.tar.bz2

 

3.解压缩

 tar -jvxf httpd-2.4.18.tar.bz2

 

二、配置编译参数

1.切换到httpd目录下

cd httpd-2.4.18

 

2.编译参数,非常全的参数介绍 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=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre

./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 来直接安装导致安装文件已经不太“干净”
解决方法:
1、执行make clean后,重新编译安装。
2、删除目录,重新解压安装包,进行编译安装,可解决上面的问题。

 

 

重新执行 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

 

错误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

 

检查编译参数是否正确

echo $?

 

3.make && make install

make
echo $?

 

 

make install
echo $?

 

 

Apeche编译安装、启动成功                                                                                            

 

 

一、下载php

1.切换到下载目录

 cd /usr/local/src/

 

2.下载php,php的官网是:http://www.php.net/

Downloads  -  Current Stable PHP  -  php-*.*.*.tar.*  -  China  - cn2.php.net 

wget http://cn2.php.net/distributions/php-7.0.2.tar.gz

 

3.解压缩

 tar zxf php-7.0.2.tar.gz

 

二、配置编译

1.切换到php目录下

cd php-7.0.2

 

2.编译参数

 编译来至(全)http://blog.csdn.net/godmatrix/article/details/5969558

 ./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
 
去掉了
--with-mcrypt \
不知道会有什么影响



./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安装。

检查有没有安装libxml2

 rpm -qa |grep  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: libjpeg.(a|so) not found

配置:错误:libjpeg。(还)没有找到

 yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y

 

错误5

Configure: error: mcrypt.h not found. Please reinstall libmcrypt.

配置:错误:mcrypt。没有找到。请重新安装libmcrypt。

 解决:

搜索:libmcrypt-第一个-Download Source-libmcrypt-*.*.*.tar.gz

  安装epel-release源

 yum install epel-release

yum install libmcrypt-devel

 

 

 

 

继续./configure

echo $?

反馈0

 

3.编译安装

make
echo $?
make install
echo $?

 

4.拷贝PHP主配置文件

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

 

5.修改apache的配置文件

vim /usr/local/apache2/conf/httpd.conf

1.找到 #ServerName www.example.com:80
改为
ServerName localhost:80
2.找到<IfModule dir_module>
    DirectoryIndex index.html 
</IfModule>
改为
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

3.找到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

4.找到
<Directory />

AllowOverride none
Require all denied

</Directory>

改为

<Directory />
Options FollowSymLinks
AllowOverride none
Order deny,allow
Allow from all
</Directory>

1.ServerName www.example.com:80    打开服务器占用80端口

2.DirectoryIndex index.html index.php   目录索引支持php

3. AddType application/x-httpd-php .php  应用类型支持php

4.Allow from all  允许访问web内容目录

 

 

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

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

 

7.启动apache服务

/usr/local/apache2/bin/apachectl start

 

8.查看进程

 ps aux |grep httpd

 

9.浏览器访问IP 

是否显示 it works!显示说明成功。如果没有显示

 

 

10.关闭防火墙。

永久关闭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.关闭,默认

也可以

清空iptables规则  

 iptables -F 

保存 

 service iptables save

 

11.重启mysql apache

service mysqld restart ; /usr/local/apache2/bin/apachectl restart

 

 12.测试解析php

cd /usr/local/apache2/htdocs

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

vim 1.txt    随便写点东西
http://192.168.1.116/1.txt

 

 

vim 2.php
<?php
phpinfo();
?>
http://192.168.1.116/2.php

 

中间解析php失败,

./configure

make clean

./configure

成功

 

 

 

扩展:

1.修改真机DNS

windows记事本打开,添加

C:\Windows\System32\drivers\etc\HOSTS
1927168.1.116 www.wangshaojun.com www.denny.com www.qqq.com

 

2.修改apache虚拟主机配置文件,先创建存放文档的根目录

mkdir /data/www
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
把最下面两段修改为
<VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName www.wangshaojun.com
    ServerAlias www.denny.com
   # ErrorLog "logs/dummy-host.example.com-error_log"
   # CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

 

<VirtualHost *:80>     虚拟主机配置  80端口
    DocumentRoot "/data/www"       指定文档根目录,把论坛安装在此目录下, servername访问则是访问论坛。
    ServerName www.wangshaojun.com       服务器名称
    ServerAlias www.denny.com            服务器别名
   # ErrorLog "logs/dummy-host.example.com-error_log"          错误日志
   # CustomLog "logs/dummy-host.example.com-access_log" common     访问日志           
</VirtualHost>




posted @ 2016-01-05 23:49  dennyLinux  阅读(312)  评论(0编辑  收藏  举报