一、安装 MySQL
平时安装MySQL都是源码包安装,但是由于它的编译需要很长的时间,所以安装二进制免编译包。
MySQL官方网站下载: http://dev.mysql.com/downloads/ sohu镜像站下载:http://mirrors.sohu.com/
1、下载 mysql 包到 /usr/local/src/
2、解压
1
| [iyunv@iZ25nzu9bj6Z src]# tar -zxvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz
|
3、把解压后的数据移动到 /usr/local/mysql
1
| [iyunv@iZ25nzu9bj6Z src]# mv mysql-5.1.73-linux-x86_64-glibc23 /usr/local/mysql
|
4、创建 MySQL 用户
1
2
| [iyunv@iZ25nzu9bj6Z src]# cd /usr/local/mysql/
[iyunv@iZ25nzu9bj6Z mysql]# useradd -s /sbin/nologin mysql
|
5、初始化数据库
1
2
| [iyunv@iZ25nzu9bj6Z mysql]# mkdir -p /data/mysql //创建datadir,数据库文件会放在这里
[iyunv@iZ25nzu9bj6Z mysql]# chown -R mysql /data/mysql //更改权限
|
1
| [iyunv@iZ25nzu9bj6Z mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
|
//--user定义数据库所属主,--datadir定义数据库安装目录6、拷贝配置文件
1
2
| [iyunv@iZ25nzu9bj6Z mysql]# cp support-files/my-large.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? yes
|
7、拷贝启动脚本并修改其属性
1
2
| [iyunv@iZ25nzu9bj6Z mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[iyunv@iZ25nzu9bj6Z mysql]# chmod 755 /etc/init.d/mysqld
|
8、修改启动脚本
1
2
3
| [iyunv@iZ25nzu9bj6Z mysql]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
|
9、把启动脚本加入系统服务项,并设定开机启动,启动mysql
1
2
3
4
| [iyunv@iZ25nzu9bj6Z mysql]# chkconfig --add mysqld
[iyunv@iZ25nzu9bj6Z mysql]# chkconfig mysqld on
[iyunv@iZ25nzu9bj6Z mysql]# service mysqld start
Starting MySQL. [ OK ]
|
若不能启动,可以到 /data/mysql/ 目录下查看错误日志,日志通常是主机名.err。检查MySQL是否启动的命令为:ps aux |gerp mysqld
二、安装 Apache
Apache官方下载地址:http://www.apache.org/dyn/closer.cgi sohu镜像站下载地址:http://mirrors.sohu.com/ 1、下载 httpd 包到 /usr/local/src/
2、解压
1
| [iyunv@iZ25nzu9bj6Z src]# tar -jxvf httpd-2.2.31.tar.bz2
|
3、配置编译参数
1
2
3
4
5
6
7
8
9
10
| [iyunv@iZ25nzu9bj6Z src]# cd httpd-2.2.31
[iyunv@iZ25nzu9bj6Z httpd-2.2.31]#
./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
|
1
2
| [iyunv@iZ25nzu9bj6Z httpd-2.2.31]# yum install -y zlib-devel
[iyunv@iZ25nzu9bj6Z httpd-2.2.31]# yum install -y pcre pcre-devel apr apr-devel
|
4、编译
1
| [iyunv@iZ25nzu9bj6Z httpd-2.2.31]# make
|
5、安装
1
| [iyunv@iZ25nzu9bj6Z httpd-2.2.31]# make install
|
三、安装 PHP
PHP官方下载地址:http://www.php.net/downloads.php sohu镜像站下载地址:http://mirrors.sohu.com/php/php-5.3.27.tar.gz 1、下载 php 包到 /usr/local/src/
2、解压
1
| [iyunv@iZ25nzu9bj6Z src]# tar -zxvf php-5.3.27.tar.gz
|
3、为了防止后面编译后不能正常解析PHP,故先安装需要的软件或者库文件(亲试99%都会成功)
1
| [iyunv@iZ25nzu9bj6Z src]# yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool libtool-ltdl-devel
|
1
| [iyunv@iZ25nzu9bj6Z src]# yum install -y libmcrypt-devel
|
4、配置编译参数
1
2
| [iyunv@iZ25nzu9bj6Z src]# cd php-5.3.27
[iyunv@iZ25nzu9bj6Z php-5.3.27]# useradd -s /sbin/nologin php-fpm
|
[iyunv@iZ25nzu9bj6Z php-5.3.27]#./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-ipv65、编译
1
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# make
|
6.安装
1
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# make install
|
四、Apache 结合 PHP
1
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# vim /usr/local/apache2/conf/httpd.conf
|
①首先找到:
AddType application/x-gzip .gz .tgz //在其下面增加如下一行:AddType application/x-httpd-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
五、测试LAMP是否成功
Apache、MySQL 和 PHP 安装之后,需要先检验 Apache 的配置文件是否正确,从而才能正确解析出php文件。 1、测试配置文件是否正确
①启动 Apache 之前需要先检验配置文件是否正确,如下所示: 1
2
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# /usr/local/apache2/bin/apachectl -t
Syntax OK
|
②启动 Apache:
1
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# /usr/local/apache2/bin/apachectl start
|
//重新加载php:start改成graceful另外我们也可以使用 curl 命令简单测试:
1
2
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# curl localhost
<html><body><h1>It works!</h1></body></html>[iyunv@iZ25nzu9bj6Z php-5.3.27]#
|
//如果显示了这一行,也说明测试成功了③查看是否启动:
1
2
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# netstat -lnp |grep httpd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26600/httpd
|
2、测试是否正确解析PHP
首先编写一个脚本,如下所示: 1
2
3
4
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# vim /usr/local/apache2/htdocs/1.php
<?php
echo "php解析正常";
?>
|
保存脚本后继续测试,如下所示:
1
2
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# curl localhost/1.php
php解析正常[iyunv@iZ25nzu9bj6Z php-5.3.27]#
|
php解析正常 //如果能够显示这一行则说明 php 解析正确。另外我们也可以用phpinfo参数测试出PHP界面:
1
2
3
4
| [iyunv@iZ25nzu9bj6Z php-5.3.27]# vim /usr/local/apache2/htdocs/info.php
<?php
phpinfo();
?>
|
保存脚本后继续测试,如下图所示:
|