LAMP环境搭建及出现问题总结
下面给出基于
VM环境下的
LAMP环境搭建步骤:
1. 将
14个
LAMP环境所需的软件包上传到
linux系统的
/usr/local/src目录下(可以任意选择位置,本文为了描述方便选择该目录)查看是否上传成功:
ls 一下。
2. 检查系统是否安装
make、
gcc、
gcc-c++等编译环境。一般
make环境系统会自动安装。
检查过程:
rpm –q make //检查
make环境
rpm –q gcc //检查
gcc编译环境
rpm –q gcc-c++ //检查
gcc-c++编译环境
分别安装
gcc和
gcc-c++编译环境:
在确保联网的情况下,分别在终端输入
yum install gcc 和
yum install gcc-c++则会自动联网安装(如果系统不联网的情况下这里不予讨论,可以插入光盘也可安装!)
3. 卸载默认的低版本环境(
Apache mysql php)
检查是否存在:
rpm –qa|grep –i httpd //检查
apache环境
rpm –qa|grep –i mysql //检查
mysql环境
rpm –qa|grep –i php //检查
php环境
存在则卸载:
rpm –e [软件全称
] –nodeps
4.
开始安装;
安装过程:
Apache——
mysql——
PHP
基本安装过程都是四步走:
tar解压——
configure配置环境——编译
make——安装
make install
在安装
PHP 之前,应先安装
PHP5 需要的最新版本库文件,比如
libxml2 、
libmcrypt 以及
GD2 库等文件。安装
GD2 库是为了让
PHP5 支持
GIF 、
PNG 和
JPEG 图片格式,所以在安装
GD2 库之前还要先安装最新的
zlib 、
libpng 、
freetype 和
jpegsrc 等库文件。而且中间还会穿插安装一些软件。
a.编译安装
libxml2
./configure --prefix=/usr/local/libxml2
make
make install
如果安装成功,会在
/usr/local/libxml2/ 目录下存在
bin 、
include 、
lib 、
man 和
share 五个目录。在安装
PHP5 配置时,
configure 命令的选项要加上“
--with-libxml-dir=/usr/local/libxml2 “选项,指定
libxml2 库文件的位置。
b.安装
libmcrypt
./configure --prefix=/usr/local/libmcrypt
make && make install
安装成功会在
/usr/local/libmcrypt/ 目录下存在
bin 、
include 、
lib 、
man 和
share 五个目录。在安装
PHP5 配置时,
configure 命令的选项要加上“
--with-mcrypt-dir=/usr/local/libmcrypt “选项,指定
libmcrypt 库文件的位置。
安装完成
libmcrypt 库以后,有一些
Linux 系统版本还要安装一下
libltdl 库。可以进入到解压缩的目录
/usr/local/src/ libmcrypt- 2.5.8 下,找到
libltdl 库源代码文件所在的目录
libltdl ,进入这个目录按照下面几个命令配置、编译、安装。
./configure --enable-ltdl-install
make && make install
c.安装
zlib库
./configure --prefix=/usr/local/zlib
make && make install
安装成功会在
/usr/local/zlib 目录下存在
include 、
lib 和
share 三个目录。在安装
PHP5 配置时,
configure 命令的选项要加上“
--with-zlib-dir=/usr/local/libmcrypt “选项,指定
zlib 库文件的位置。
d.安装
libpng
./configure --prefix=/usr/local/libpng
出现错误:
(错误一)解决办法参考另外一篇博文
checking for zlibVersion in -lz... no
configure: error: zlib not installed
如果安装成功会在
/usr/local/libpng目录下存在
bin、
include、
lib和
share四个目录。在安装
GD2库配置时,
configure命令的选项要加上“
--with-png=/usr/local/libpng“选项,指定
libpng库文件的位置。
e
.安装
jpeg6
安装
GD2库使用的
jpeg6库文件,需要自己手动的创建安装需要的目录,它们在安装时不能自动创建。
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make && make install
在安装
GD2库配置时,
configure命令的选项要加上“
--with-jpeg=/usr/local/jpeg6/“选项,指定
jpeg6库文件的位置。
f.安装
freetype
./configure --prefix=/usr/local/freetype
make && make install
如果安装成功会在
/usr/local/freetype目录下存在
bin、
include、
lib和
share四个目录。在安装
GD2库配置时,
configure命令的选项要加上“
--with-freetype=/usr/local/freetype/“选项,指定
freetype库文件的位置。
g.安装
autoconf
./configure
make && make install
h.安装
gd2
./configure --prefix=/usr/local/gd2 \
--with-zlib=/usr/local/zlib/ \
--with-jpeg=/usr/local/jpeg6/ \
--with-png=/usr/local/libpng/ \
--with-freetype=/usr/local/freetype/
如果安装成功会在
/usr/local/gd2 目录下存在
bin 、
include 和
lib 三个目录。在安装
PHP5 时,
configure 命令的选项要加上“
--with-gd=/usr/local/gd2/ “选项,指定
GD 库文件的位置。
一、安装
apache
服务器
./configure --prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-static-support \
--disable-userdir \
--sysconfdir=/etc/httpd \
--with-z=/usr/local/zlib/
make && make install
检查配置文件是否指定正确,进入到
/etc/httpd/ 目录下,查看配置文件
httpd.conf 和
extra 子目录是否存在。
启动
Apache 服务器,并查看端口是否开启:
/usr/local/apache2/bin/apachectl start // 启动
(出现错误二)
测试安装结果,打开浏览器,在地址栏内输入
URL 为
http://localhost/ 去访问
Apache 服务器
每种服务器软件都有必要制做成开机自启动。
Apache 服务器开机自启动,只要在“
/etc/rc.d/rc.local ”文件中,加上
Apache 服务器的启动命令即可,可以直接打开“
/etc/rc.d/rc.local ”文件,在最后一行写入
Aapache 启动命令,也可以使用“
echo ”命令追加进去,命令行如下:
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
二、安装
MySQL
版本:
mysql-5.0.22.tar.gz
1、如果是第一次在系统中安装
MySQL,需要建立相应的组和用户:
mysql groupadd mysql
useradd -g mysql mysql
2
、先将文件上传到
linux,我的目录为:
/usr/local/src
使用
tar -zxvf mysql-5.0.22.tar.gz解压缩文件,得到一个新的文件夹:
mysql-5.0.22
cd mysql-5.0.22 进入。
3
、使用“
configure”命令检查安装需要的系统配置,并生成安装配置文件。(’
\‘是换行的标志)
./configure --prefix=/usr/local/mysql
\ //设置
MySQL安装目录,注意空格
--with-extra-charsets=all //安装
MySQL时安装所有字符集
(出现错误三)
4
、 使用
make命令编译
MySQL源码。
5、编译成功后,执行
make install命令安装。
6、配置MySQL
创建
MySQL 数据库服务器的配置文件,可以使用源码包
support-files 目录中的
my-medium.cnf 文件作为模板,拷贝到
/etc/ 目录下,命名为“
my.cnf ”文件即可。
cp support-files/my-medium.cnf /etc/my.cnf
创建
MySQL 授权表,进入到安装目录“
/usr/local/mysql ”下,执行
bin 目录下的
mysql_install_db 脚本,用来初始化
mysql 数据库的授权表,其中贮存了服务器访问允许。
bin/mysql_install_db --user=mysql
如果使用
root 用户运行上面的命令,应当使用
--user 选项,选项的值应与你在第一步为运行服务器所创建的登录账户(
mysql 用户)相同。如果用
mysql 用户登录来运行上面命令,可以省略
--user 选项。用
mysql_install_db 创建
MySQL 授权表后,需要手动重新启动服务器。
将程序二进制的所有权改为
root 用户,数据目录的所有权改为运行
mysqld 程序的
mysql 用户。如果现在位于安装目录
(/usr/local/mysql) 下。
chown -R root .
chown -R mysql var
chgrp -R mysql .
7、启动
MySQL 服务。
/usr/local/mysql/bin/mysqld_safe --user=mysql &
MySQL 数据库服务启动之后,查看一下
3306 端口是否打开,如果看到以下结果表明
MySQL 服务启动成功
netstat -tnl|grep 3306
使用
mysqladmin 验证服务器在运行中。以下命令提供了简单的测试,可检查服务器是否已经启动并能响应连接。
bin/mysqladmin version
8、设置访问权限,在
MySQL 安装过程中,使用
mysql_install_db 程序安装了
MySQL 数据库授权表,表定义了初始
MySQL 用户账户和访问权限,所有初始账户均没有密码。这些账户为超用户账户,可以执行任何操作。初始
root 账户的密码为空,因此任何人可以用
root 账户不用任何密码来连接
MySQL 服务器,并具有所有权限,这意味着
MySQL 安装未受保护。如果你想要防止客户端不使用密码用匿名用户来连接,你应当为匿名账户指定密码或删掉匿名账户,应当为
MySQL root 账户指定密码。使用“
mysql –
u root ”启动
mysql 客户端,连接
MySQL 服务器。
bin/mysql -u root
如果有匿名账户存在,它拥有全部的权限,因此删掉它可以提高安全,在
mysql 客户端执行
SQL 语句如下:
DELETE FROM mysql.user WHERE Host='localhost' AND User='';
FLUSH PRIVILEGES;
可以用几种方法为
root 账户指定密码,我们介绍其中两种,
在
mysql 客户端命令行上使用
SET PASSWORD 指定密码,一定要使用
PASSWORD() 函数来加密密码。设置
localhost 域的密码为“
123456 ”,其它域可以使用同样的语句,使用的
SQL 语句如下:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
进入数据库命令:
bin/mysql -u root -h localhost –
p
如果想关闭
MySQL 服务器,在命令行使用
MySQL 服务器的
mysqladmin 命令, 通过
-u 参数给出
MySQL 数据库管理员用户名
root 和通过
-p 参数给出密码,即可以关闭
MySQL 服务器。
bin/mysqladmin -u root –p shutdown
9、
MySQL 服务器和
Apache 服务器一样也有必要设置为开机自动运行,设置方法是进入到
mysql 源代码目录
/usr/local/src/mysql-5.0.41/ 中,将子目录
support-files 下的
mysql.server 文件复制到
/etc/rc.d/init.d 目录中,并重命名为“
mysqld ”,命令行如下所示:
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
修改文件
/etc/rc.d/init.d/mysqld 的权限:
chown root.root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
使用
chkconfig 命令设置在不同系统运行级别下的自启动策略,首先使用“
chkconfig --add mysqld ”命令增加所指定的
mysqld 服务,让
chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
chkconfig --add mysqld
然后使用“
chconfig –
level 3 mysqld on ”命令和“
chconfig –
level 5 mysqld on ”命令,在第三和第五等级中开启
mysql 服务,即在字符模式和图形模式启动时自动开启
mysql 服务。
chkconfig --level 3 mysqld on
chkconfig --level 5 mysqld on
二、安装
PHP
。
版本:
php-5.3.3
详细安装:
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql/ \
--with-libxml-dir=/usr/local/libxml2 \
--with-png-dir=/usr/local/libpng/ \
--with-jpeg-dir=/usr/local/jpeg6 \
--with-freetype-dir=/usr/local/freetype \
--with-gd=/usr/local/gd2 \
--with-mcrypt=/usr/local/libmcrypt/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-zlib-dir=/usr/local/zlib \
--enable-soap \
--enable-mbstring=all \
--enable-sockets
make && make install
(出现错误四)
1、安装完成后,需要建立
PHP 配置文件。在使用
configure 命令安装配置时使用了“
--with-config-file-path=/usr/local/php/etc/ ”选项,指定了配置文件的位置,将源码包目录下的“
php.ini-dist ”文件拷贝到指定的目录“
/usr/local/php/etc/ ”中,并改名为“
php.int ”即可。
[root@localhost php-5.3.3]# cp php.ini-production /usr/local/php/etc/php.ini
2、整合
Apache 与
PHP ,上面
PHP 编译之前,我们使用
configure 命令安装配置时,使用了“
--with-apxs2=/usr/local/apache2/bin/apxs ”选项,以使
Apache 2 将
PHP 作为功能模块使用,但我们还要修改
Apache 配置文件,添加
PHP 的支持,告诉
Apache 将哪些后缀作为
PHP 解析。例如,让
Apache 把
.php 或
.phtml 后缀的文件解析为
PHP 。使用
vi 打开
Apache 的配置文件
/etc/httpd/httpd.conf ,找到“
AddType application/x-gzip .gz .tgz ”项,在其下方添加“
Addtype application/x-httpd-php .php .phtml ”可以将任何后缀的文件解析为
PHP ,只要在添加的语句中加入并用空格分开。这里以多添加一个
.phtml 来示例。如下所示:
vi /etc/httpd/httpd.conf
在“
AddType application/x-gzip .gz .tgz”下增加如下内容:
Addtype application/x-httpd-php .php .phtml
#添这一个是为了将
.phps 作为
PHP 的源文件进行语法高亮显示
Addtype application/x-httpd-php-source .phps
修改完成之后重新启动
Apache 服务器,加载配置文件使修改生效:
[root@localhost php-5.3.3]# /usr/local/apache2/bin/apachectl stop
[root@localhost php-5.3.3]# /usr/local/apache2/bin/apachectl start
3、测试。
查看
phpinfo 新建一个
PHP文件(
/usr/local/apache2/htdocs目录下)
phpinfo.php,内容如下
[root@localhost htdocs]# vi phpinfo.php
<?php
phpinfo();
?>
(出现错误五)
最后安装
zend加速器、
phpmyadmin等等!
成功。
<
读者有兴趣可以参考《细说
PHP
》中
Lamp
环境配置,异常详细
>
转载于:https://blog.51cto.com/471117/694684