2013-11-27 10:21:01
来 源
kejihao
Apache
本文介绍Linux系统下编译安装Apache+MySQL+PHP服务环境,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

linux下apache+mysql+php是linux下web服务环境的经典组合,简称lamp,虽然nginx有取代apache的迹象,但现在绝大多数的环境还是lamp。现在自己放在国外免费空间上的一些网站也是这个环境(如,,替自己做一下广告了,呵呵)。早在08年的时就已经安装配置过lamp了,当时没有写成文档,现在又重新回到了linux下开发,虽然现在的工作不是做网站(做网站只是业余爱好,现在主要做服务器软件开发),但是lamp环境还是挺重要的,比如用C开发CGI程序时,Apache还是需要的,所以就整理一下吧,省得以后又去google。lamp中的mysql是我最早接触过的了,那时还是07年了,当时看同学老呙的一本《jsp 2.0》的书(书名大概是这样,不记得了),里面用的就是mysql,也是从那时我了解了mysql,知道了一些mysql的命令,虽然之前熟悉的是SQL Server 2000,但那时就已经喜欢上mysql的简单、高效了,linux、apache、php则是08年才开始接触的了。好了,废话不多说了,下面就开始吧。

在安装linux系统的时候可以直接把web环境装了,这样就省去了安装的麻烦(如果你不想定制的话),如下图:

linux下apache+mysql+php的安装及配置

而这里的安装是指用源码编译安装,不是rpm安装的方式。用rpm包安装,在redhat和fedora 下可使用yum安装:yum install mysql apache php ;ubuntu和debian下可使用apt-get安装:apt-get install mysql apache2 php。十分简单,就是一行命令,整个环境就搭建好了,当然用rpm包安装要处理好依赖关系,不过yum会自动处理依赖关系,yum可能需要配置一下,不然会出现一些错误信息。windows和linux下还有一个集成安装包xampp,也是十分简单。另外网上还有一个自动安装脚本:http://www.wdlinux.cn/apache_nginx_php_mysql_install_auto。这里要介绍的将是使用源码进行编译安装,因为源码编译安装最灵活了,可以达到最高的性能,也可以定制lamp能够给你的功能。

lamp的安装顺序一般是linux、mysql、apache、php,linux系统当然是要先准备好的了, 这里是Red Hat Enterprise Linux Server release 5.2,另外gd库和php的一些相关库如curl、expatgzipzlibfreetypelibxml2zend等的安装这里就不再说明了,使用开源软件的一般安装方法就可以了。

首先准备以下软件:

mysql-5.0.75.tar.gz

httpd-2.0.54.tar.gz

php-4.4.2.tar.gz(注:现在大多是php 5.x了,但系统上还有一个比较古老的oracle8i,因为php 5.x不再提供Oracle 7/8i的连接方式,所以没有升级到php 5.x ,但php 5.x的安装方式是一样的)

上以软件都是放在/usr/local/src目录下

一。安装mysql

mysql的安装稍微烦琐一点

这里选择的是mysql-5.0.75

注:若系统已经安装了mysql的rpm包,可以先卸载原来的mysql,用如下命令:

#rpm -e mysql //如果卸载不掉!提示文件的依赖,可以用下面的命令强制卸载掉.

#rpm -e --nodeps mysql

#cd /usr/local/src //进入此放软件包的目录

#groupadd mysql     // 建立mysql组

#useradd mysql -g mysql //建立mysql用户并且加入到mysql组中

#tar -zxvf mysql-5.0.75.tar.gz //解压缩

#cd mysql-5.0.75//进入解开包的目录

#./configure --prefix=/usr/local/mysql --with-charset=gb2312 --with-extra-charsets=gbk,gb2312 // 若/usr/local目录下没有mysql目录,则可先创建

#make

#make install 

//以上两个命令时间比较长

#cd /usr/local/mysql //进入到mysql的安装目录

#mkdir var//创建var目录

#mv share/mysql/my-medium.cnf my.cnf//把share/mysql/my-medium.cnf 拷到mysql目录下并改名为my.cnf

修改my.cnf,打开下面几项 innodb_data_home_dir = =/usr/local/mysql/var/

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = =/usr/local/mysql/var/

innodb_log_arch_dir = =/usr/local/mysql/var/

#./bin/mysql_install_db --defaults-file=/usr/local/mysql/my.cnf --user=mysql //安装库文件,说明:必须用参数--defaults-file指定my.cnf,否则系统用默认的/etc/my.cnf.

#chown -R root . //设定root能访问/usr/local/mysql

#chown -R mysql var //设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件.这个目录是在/usr/local/mysql/my.cnf中有配置,在mysql_install_db时产生。 #chgrp -R mysql . //设定mysql组能够访问/usr/local/mysql

上面的已经把mysql完全安装完了,也能正常使用了,但还不够,你要将mysql的数据库启动脚本加入系统启动目录,不然,你总不能每次启动服务器后,都要登陆上去手工启动数据库吧,那还不麻烦死。

#cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld

#chmod 755 /etc/rc.d/init.d/mysqld

#cd /etc/rc.d/init.d

#chkconfig --add mysqld//把mysqld加入chkconfig的管理列表中

#chkconfig --level 3 mysqld on//在运行级别3打开mysqld进程,下次重启机器后,mysql将自动重启

#/etc/rc.d/init.d/mysqld start   //启动mysql进程,也可以service mysqld start 来启动mysql,还可以/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql &来启动mysql

#/usr/local/mysql/bin/mysqladmin -u root password 'yourpassword' //默认安装密码为空,为了安全你必须马上修改,你修改执行此命令时,一定不要加yourpassword两边的单引号或者双引号,比如你想设定密码是123456 就直接执行 /usr/local/mysql/bin/mysqladmin -u root password 123456 而不要写成 /usr/local/mysql/bin/mysqladmin -u root password '123456' ,这样加引号,你的密码也是带引号的。我以开始就是,加引号,用123456登陆mysql,怎么也进不去,就是提示密码错误,呵呵。

二。安装apache2

这里选择的是httpd-2.0.54

#cd /usr/local/src

#tar -zxvf httpd-2.0.54.tar.gz

#cd httpd-2.0.54

#./configure  --prefix=/usr/local/apache2 --enable-module=most   --enable-rewrite --enable-shared=max --enable-so

// apache的编译参数很简单,php的编译参数就多了

#make

#make install

//两条命令,注意,最后一个命令是让apache2编译出所有的so文件,apache2以DSO模式运行。

让机器重启后,apache自动重启,

在/etc/rc.d/rc.local脚本里加上如下语句:

/usr/local/apache2/bin/apachectl start

三。安装php

这里选择的是php-4.4.2

#cd /usr/local/src

#tar -zxvf php-4.4.2.tar.gz

#cd php-4.4.2

#./configure --prefix=/usr/local/php4 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-oracle -with-oci8 --with-freetype-dir --enable-trace-avrs --enable-inline-optimization --enable-safe-mode --with-jpeg-dir --with-png-dir --with-zlib-dir --with-bz2 --with-libxml-dir --with-curl --with-pear --with-gd --with-expat --enable-mbstring=all --enable-mbregex --enable-so --enable-ftp --enable-zip --enable-calendar --enable-sockets --with-config-file-path=/usr/local/php4/lib

#make

#make install

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

注:--with-oracle -with-oci8 是因为系统安装了Oracle 8i,此语句可激活php oracle 8i的函数。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。