Lamp开发平台环境搭建
背景介绍:
Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.如今越来越多的软件公司招聘熟悉Lamp开发平台的人才,精通Lamp技术会使你在芸芸毕业生中脱颖而出,成为招聘会上的宠儿。
平台软件:
操作系统redhat9(VMware7.0虚拟机)
mysql-4.1.9 (源码安装)
Apache-2.2.6(源码安装)
php-5.2.5(源码安装)
一.Mysql安装
1.下载合适版本:
例如,mysql-4.1.9 ,下载地址:
在/usr/local目录下建一个临时的安装目录mysql,把下载下来的mysql-4.1.9.tar.gz,放到/usr/local/mysql/目录中;
[root@piaojun root]# mkdir /usr/local/mysql
2.解压、编译和安装:
解压
[root@piaojun root]# cd /usr
[root@piaojun usr]# cd /local/mysql
[root@piaojun mysql]# ls
mysql-4.1.9.tar.gz
[root@piaojun mysql]#tar zxvf mysql-4.1.9.tar.gz
[root@piaojun mysql]# cd mysql-4.1.9
[root@piaojun mysql-4.1.9]#
./configure --prefix=/usr/local/mysql --with-mysqld-user=lai --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/var/mysql.sock
[注]关于configure的选项的一点说明:
--prefix=/usr/local/mysql 把mysql-4.1.9指定安装到/usr/local/mysql目录中;
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/usr/local/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/usr/local/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=lai 这个是让mysql服务器也能让系统中普通用户 lai 也能启动mysql服务器。你也可以把 lai 换成你的系统中已经存在的普通用户,比如您的系统中已经存在 bill这个用户,那就把 lai 替换成 bill 就行了。
[root@piaojun mysql-4.1.9]# make
[root@piaojun mysql-4.1.9]# make install
3.配置mysql:
一般的情况下mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。让mysql服务器启动时能找到它。
我们安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf
,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,my-medium.cnf这个配制文件就可以了;
进入/usr/local/mysql这个目录,看一下是不是已经安装好了?
[root@piaojun mysql-4.1.9]# cd /usr/local/mysql/
[root@piaojun mysql]# ls
bin include info lib libexec man mysql-test share sql-bench
我们把/usr/local/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。
[root@piaojun mysql-4.1.9]# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
还得创造MySQL授权表, 否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。mysql的命令都安装到了/usr/local/mysql/bin这个目录中。
[root@piaojun mysql-4.1.9]# /usr/local/mysql/bin/mysql_install_db
运行mysql_install_db命令过后,我们查看/usr/local/mysql就会发现,有个var的目录。这个目录,就是用来装所有数据库的位置,比如我们创建了 lai 的数据库后,就会在/usr/local/mysql/var目录中有 lai 的目录。
4.启动mysql服务器:
首先,更改权限:
[root@piaojun mysql-4.1.9]# chmod 755 /usr/local/mysql/var
[root@piaojun mysql-4.1.9]# chown -R lai:lai/usr/local/mysql/var
[root@piaojun mysql-4.1.9]# su lai
启动服务器:
[lai@piaojun mysql-4.1.9]# /usr/local/mysql/share/mysql/mysql.server start
这时在/usr/local/mysql/var/目录下会生成mysql.sock套接字文件,它用于服务器和主机进行通信。至此mysql已经编译安装完成,下面开始创建数据库。
数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令;
[lai@piaojun mysql-4.1.9]#
/usr/local/mysql/bin/mysqladmin -u root password 123456
通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。
[lai@piaojun mysql-4.1.9]# /usr/local/mysql/bin/mysql -uroot -p123456
输出上面的命令后,出现的是如下的提示;
接着在test数据库中建立user表,具体过程略。
设置mysql开机自动运行:
# vi /etc/rc.d/rc.local
在最下面加入一行
/usr/local/mysql/share/mysql/mysql.server start
二.安装Apache
1.下载:
下载地址:
我的版本是httpd-2.2.6,比如我们在/usr/local目录下建一个临时的安装目录apache,把下载下来的httpd-2.2.6.tar.gz,放到/usr/local/apache/目录中;
2.解压:
[root@piaojun local]# cd /usr/local/apache
[root@piaojun apache]# ls
httpd-2.0.54.tar.gz
[root@piaojun apache]# tar zxvf httpd-2.2.6.tar.gz
3.编译,安装:
[root@piaojun apache]# cd httpd-2.2.6
[root@piaojun httpd-2.2.6]# ./configure --prefix=/usr/local/apache --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/apache/conf
解释:
--prefix=/opt/apache 指定把apahce安装到/usr/local/apache目录中;
--enable-cgi 支持CGI;
--with-config-file-path=/usr/local/apache/conf 指定把apache的配制文件放在/usr/local/apache/conf中;比如httpd.conf配制文件就在这个目录中;
--enable-track-vars 为启动cookie的get/post等追踪功能
[root@piaojun httpd-2.2.6]# make && make install
4.启动apache
启动apache守护进程;
[root@piaojun httpd-2.2.6]# /usr/local/apache/bin/apachectl start
打开浏览器,输入 就能看到一个apache的欢迎页面了(It works!),这表示我们已经成功解决了apache的安装。
5.配制apache
配制文件是/usr/local/apache/conf/httpd.conf
编译安装的apache默认存放主页的位置应该是/usr/local/apache/htdocs
一些重要配制选项的说明:
ServerRoot "/usr/local/apache"
[注]这是ServerRoot指定apache程序所在的的目录,比如日志文件、配制文件等目录,这个不要改动。
ServerAdmin 注:在这里,把管理员的信箱放上去,比如我的管理信箱是 那就改这句为
DocumentRoot "/usr/local/apache/htdocs" 这个是存放网页的目录,也就是说,我们应该把网页的目录指定到哪里,这样当访问网址时,就调用这个目录的文件。比如我把存放网页的目录指定到了/usr/local/apache/htdocs,那应该这样写
DocumentRoot "/usr/local/apache/htdocs "
; 注:这句应该和DocumentRoot 的目录保持一致。比如我在上面设置的是/usr/local/apache/htdocs,那在这句中,也应该用这/usr/local/apache/htdocs
也就是:
;
;
AddDefaultCharset ISO-8859-1
注:这句是指定网页的默认语言的,如果网页出乱中文乱码,应该改AddDefaultCharset 后面的值为GB2312。也就是改成下面这样的。
AddDefaultCharset GB2312
找到下面的一行在后面加上index.php ,让网站的默认页是index.php也行;
DirectoryIndex index.html index.php
其它的都默认就好了,这是最简单的了。
配制好后,然后就重启apache的守护进程httpd
[root@piaojun htodcs]# /usr/local/apache/bin/apachectl restart
设置Apache开机自动运行:
# vi /etc/rc.d/rc.local
在最下面加入一行
/usr/local/apache/bin/apachectl start
三.安装php
1.下载:
下载地址:
php的版本为php-5.2.5,在/usr/local下建立文件夹php。
2.解压:
[root@piaojun php]# ls
php-5.2.5.tar.bz2
[root@piaojun php]# tar zxvf php-5,2,5.tar.bz2
3.编译和安装
[root@piaojun php]# cd php-5.2.5
[root@piaojun php]#
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc
解释:
--prefix=/usr/local/php 指定把php-5.2.5安装到/usr/local/php目录中;
--with-mysql=/usr/local/mysql 指定mysql数据服务器安装的位置;
--with-apxs2=/usr/apache/bin/apxs 这是加入apache中为DSO模块的位置;
-enable-track-vars 为启动cookie的get/post等追踪功能
--with-config-file-path=/usr/local/php/etc 指定php的配制文件存放的目录是/usr/local/php/etc目录,我们安装完成后,也要把php.ini复制到这个目录中来。
安装:
[root@piaojun php-5.2.5]# make
[root@piaojun php-5.2.5]# make install
复制php.ini-dist为php.ini,并存放到/usr/local/php/etc/目录下
[root@piaojun php-5.2.5]# cp php.ini-dist /usr/local/php/etc/php.ini
编辑/usr/local/php/etc/php.ini文件,找到如下的一行
;default_charset = "iso-8859-1"
在这行下面加一行
default_charset = "gb2312"
4.更改apache的配制文件:
得加一行,目的是让apache能解释php程序。
找到#AddType application/x-tar .tgz 这行,在下面加一行。前面不要加#号。
AddType application/x-httpd-php .php
找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php
DirectoryIndex index.html index.php
注意:改变了http.conf后,要重启apache服务器,否则不会生效!!
然后我们在网站存放的目录下建一个index.php的文件。我们还是用前面apache自己指定网站存放的位置,/usr/local/apache/htdocs/目录。在这个目录中建一个文件index.php,内容是如下的
phpinfo(); ?>;
然后改变这个文件的权限
chmod 755 index.php
在浏览器中打入 ,就能看到php的信息了。如果还是出现的是 phpinfo(); ?>; 字样的页面,那就是没有成功 ,可能是您改变了apache的配制文件,忘记了重启apache服务器了,要重启一下试试看。
出现如下界面说明你的php配置正确了!
最后,让我们对Lamp开发平台进行一次综合测试。
1.建立数据库及user表
2.编写程序 index.php 访问数据库
$conn=mysql_connect("localhost","root","123456") or die("Failed");
mysql_select_db("test",$conn) or die("Failed");
$result=mysql_query("SELECT * FROM user");
while($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo "User ID:"; echo $row['id']; echo "
";
echo "User Name:"; echo $row['name']; echo "
";
}
?>
在浏览器中打入 ,将会出现如下界面:
童鞋们,为自己欢呼吧!!!