您的位置:首页 > Web前端

基于fedora16的nagios环境搭建--个人日记(2)--搭建lamp环境

2012-05-01 10:27 459 查看
现在开始搭建lamp环境。

大家都知道lamp是什么意思,我一开始不知道,所以还是啰嗦一下。

Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件

开始安装:主要参考文章http://www.linuxdiyf.com/bbs/vie ... ache%2B%B0%B2%D7%B0

该文章有人评论说顺序不能改,这个我就不知道了

1:安装环境

fedora 16

httpd-2.4.1.tar.gz

mysql-5.5.21-linux2.6-i686.tar.gz

php-5.4.0.tar.gz

2:安装mysql

我用的是二进制源码包,直接解压就可以用

tar zxvf mysql-5.5.21-linux2.6-i686.tar.gz

mv mysql-5.5.21-linux2.6-i686/* /usr/local/mysql

scripts/mysql_install_db --user=root 我的mysql_install_db 在scripts目录且必须用如左命令,进入scripts后使用命令好像不行

结果如下





进入support-files复制配置文件

cp my-medium.cnf /etc/my.cnf

启动mysql以及登录结果如下图









修改root密码以及自动启动mysql

./mysqladmin -uroot password 111111

[root@localhost support-files]# cp mysql.server /etc/rc.d/init.d/mysqld

[root@localhost support-files]# chkconfig --add mysqld

[root@localhost support-files]# service mysqld start

Starting MySQL SUCCESS!

[root@localhost support-files]#

至此成功

备注:在设置mysql用service mysqld start 出现了这个问题

[root@localhost init.d]# service mysqld start

Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid).

上网搜了解决办法,是这么解决的。

/etc/init.d/mysqld 这个文件进修改 在start 模块

$bindir/mysqld_safe --user=root --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

添加了 --user=root , 然后就可以了。

但是在任何一个地方直接用mysql -u root -p 命令进入数据库mysql命令无法识别,我记得以前这样是可以的,现在不知道如何解决了

再给几个命令

----------------------------------修改MySQL密码----------------------------------

# /usr/local/mysql/bin/mysqladmin -uroot password mysqlsecret //修改密码

----------------------------------关闭MySQL服务----------------------------------

# /usr/local/mysql/bin/mysqladmin -uroot -pmysqlsecret shutdown //关闭MySQL

查看端口

netstat -anp|grep LISTEN 查看3306端口是否在监听中,来确定mysql是否启动了

3:安装apache

tar zxvf httpd-2.4.1.tar.gz

cd httpd-2.4.1

./configure --prefix=/usr/local/apache \

> --enable-module=most \

> --enable-shared=max

make

make install

我出现checking for APR... no

网上说缺apr和apr-util那么下载安装

apr-1.4.6.tar.gz apr-util-1.4.1.tar.gz

安装apr

./configure

make && make install

安装apr-util

./configure --with-apr=/usr/local/apr

make && make install

重新安装apache

又显示缺少pcre 那就下载安装pcre

pcre-8.30.tar.gz

./configure

出现一下问题

libtool: ignoring unknown tag CXX

libtool: unrecognized option `-DHAVE_CONFIG_H'

Try `libtool --help' for more information.

make[1]: *** [pcrecpp.lo] Error 1

make[1]: Leaving directory `/soft/pcre-7.9'

make: *** [all] Error

在网上搜了一下啊,说是没有安装gcc-c++ 我又安装了gcc-c++ yum install gcc-c++

之后就可以了

现在重新安装apache 就可以了

----------------------------------启动Apache服务----------------------------------

# /usr/local/apache/bin/apachectl start

输入网址localhost 显示 it works 说明apache安装成功

----------------------------------关闭Apache服务----------------------------------

# /usr/local/apache/bin/apachectl stop

----------------------------------重启Apache服务----------------------------------

# /usr/local/apache/bin/apachectl restart

apache以服务的方式启动。

cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd

要添加服务,一般通过chkconfig --add xxx来实现,但需要脚本中有相应的信息才行,否则chkconfig就会提示:xxx 服务不支持 chkconfig。

所以我们首先编 辑httpd脚本,在第2行添加如下注释信息:

  # chkconfig: 35 61 61

  # description: Apache

  第一行的3个参数意义分别为:在哪些运行级别启动httpd(3,5);启动序号(S61);关闭序号(K61)。注意:第二行的描述必须要写!

  保存后执行:chkconfig --add httpd

这样就可以 service httpd stop start restart 的方式启动了

4:安装php(因为以后有修改,请看最终版本)

tar zxvf php-5.4.0.tar.gz

cd php-5.4.0

./configure --prefix=/usr/local/php \

--with-mysql=/usr/local/mysql \

--with-apxs2=/usr/local/apache/bin/apxs

出现以下问题:

checking libxml2 install dir... no

checking for xml2-config path...

configure: error: xml2-config not found. Please check your libxml2 installation.

我使用yum install libxml2

yum install libxml2-devel 安装就行了也可以自己下载然后再安装。

重新安装php

./configure --prefix=/usr/local/php \

--with-mysql=/usr/local/mysql \

--with-apxs2=/usr/local/apache/bin/apxs

--with-zlib \

--with-libxml-dir=/usr/lib

--enable-sockets //对于以后安装cacti有帮助,否则会出现The following PHP extensions are missing:sockets Please

// install those PHP extensions and retry这个问题

然后

make

make install

在make与make install 中出现make test 执行make test 命令后(这个命令执行时间较长),出现错误,我没管

然后修改配置文件。

备注:--with-libxml-dir=/usr/lib这一行必须有,否则页面无法显示。如果你是下载安装的libxml2.tar.gz libxml2-devel

,且libxml2安装在/usr/local/libxml则修改为--with-libxml-dir=/usr/local/libxml2

如果你是用yum install libxml2 libxml2-devel 则libxml2应该在/usr/lib 下,如上。

这是又修改的,安装一些插件后,我的最终版本是





a:在安装包目录下

# cp php.ini-dist /usr/local/php/lib/php.ini

对于这一个命令在php的解压安装包中没有

php.ini-dist,变成了php.ini-development

b:配置apache配置文件/usr/local/apache/conf/httpd.conf

*在LoadModule处添加 LoadModule php5_module module/libphp5.so (备注:我的httpd.conf中就有,所以不用写,添加前,先查看一下)





*在DirectoryIndex处添加 index.php

*在AddType application处添加

AddType application/x-httpd-php .php .phtml

AddType applicatoin/x-httpd-php-source .phps (注意两个参数之间的空格)

还有两个地方说明一下





在serveradmin处修改一下

在Documentroot 处是你编写的php文件放置的位置,这样可以在网页中显示

5:php测试

在/usr/local/apache/htdocs 目录下编写index.php文件

内容为

<?php

phpinfo();

?>

在浏览器中输入localhost/index.php 显示如下





或者输入内容

<?php

echo "aaa";

?>

在浏览器中输入localhost/index.php 显示如下

aaa

这样就成功了。

备注:很多php启动不了或着其他原因是/usr/local/apache/conf/httpd.conf 文件没有配置好。并且httpd.conf文件有可能被其他程序修改

所以要注意。

比如无缘无故出现以下问题

403 Forbidden:You don't have permission to access / on this server.

这是因为在httpd.conf 文件中,某个目录或者文件出现denie 比如我的问题是

<Directory "/usr/local/apache/htdocs">

Require all granted

</Directory>

require 一行被注释了。 把注释去掉就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息