Linux下Apache2+PHP+MySQL整合安装
chameleon
|
1#
chameleon 发表于 2006-09-14 20:23
Linux下Apache2+PHP+MySQL整合安装
运行环境:RedHat 7.3
使用软件:Apache2.0.40 http://www.apache.org/dist/httpd/httpd-2.0.40.tar.gz PHP4.3DEV http://snaps.php.net/php4-latest.tar.gz MySQL3.23.52 http://mysql.hjc.edu.sg/Downloads/M...-3.23.52.tar.gz 1、安装apache2 将httpd-2.0.40.tar.gz复制到/usr/local/src目录下 # tar zxvf httpd-2.0.40.tar.gz # cd httpd-2.0.40 # ./configure --prefix=/usr/local/apache --enable-mods=shared=all --enable-module=so --disable-info # make # make install # vi /usr/local/apache/conf/httpd.conf 更改ServerName后保存退出 接下来设置apache的自启动及运行等级 # cd /etc/rc.d/init.d # sed 's/sbin\/atd/local\/apache\/bin\/httpd/g' atd > httpd # sed 's/atd/httpd/g' httpd > /tmp/txt # sed 's/at daemon/httpd daemon/g' /tmp/txt > httpd # rm -f /tmp/txt # chmod 755 httpd # chkconfig --level 345 httpd on # chkconfig --level 0126 httpd off 启动与关闭httpd服务 # /etc/rc.d/init.d/httpd start/stop/restart 2、安装MySQL 笔者不赞成以root来启动MySQL,因此首先创建一个mysqluser的用户以用来启动MySQL,并不以在/etc/rc.d/中加入自启动而改以在rc.local中启动。 将mysql-3.23.52.tar.gz复制到/usr/local/src目录中 # tar zxvf mysql-3.23.52.tar.gz # groupadd mysql # useradd -g mysql mysql # ./configure --prefix=/usr/local/mysql --localstatedir=/home/data --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-mysqld-user=mysql --enable-assembler --with-extra-charsets=all 在此配置中,笔者已将数据文件夹移至/home目录下 # make # make install # scripts/mysql_install_db # chown -R root /usr/local/mysql # chown -R mysql /home/data # chgrp -R mysql /usr/local/mysql # cp support-files/my-medium.cnf /etc/my.cnf # cd /usr/local/mysql # bin/safe_mysqld & # bin/mysqladmin -u root password "123" # bin/mysqladmin -u root -h linux password "123" 修改主机为linux上MySQL的root密码为123 # vi /etc/rc.d/rc.local 在最后添加: su mysqluser -c "/usr/local/mysql/share/mysql/mysql.server start" 保存退出 若要停止MySQL则执行 # /usr/local/mysql/share/mysql/mysql.server stop 3、安装PHP 在现行的官方网站上的PHP版本是无法与Apache2整合于一起的,必须先到 http://snaps.php.net 上下载PHP的最新开发版本。该站点是PHP团队开发中与Apache2整合的新版本,每天更新。 将php4-latest.tar.gz复制到/usr/local/src目录下 # tar zxvf php4-latest.tar.gz # cd php4-200208212100 (目录会有所不同) # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-mail --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars # make # make install # cp php.ini-recommended /usr/local/php/lib/php.ini 虽然很多文章都是以php.ini-dist作为配置文件的,但出于安全上的考虑,笔者更喜欢用recommended的。^_^ 4、更新链接库及添加PHP识别 # vi /etc/ld.so.conf 在最后添加 /user/local/mysql/lib 保存退出 # ldconfig # vi /usr/local/apache/conf/httpd.conf 在适当的位置添加下面语句以识别PHP文件 AddType application/x-httpd-php .php LoadModule php4_module modules/libphp4.so 在DirectoryIndex后面添加index.php 附注: 在网路上的某些文章中对于PHP的识别采用Filter的模式,如下语句: AddType text/html .php AddInputFilter PHP .php AddOutputFilter PHP .php 但经笔者多次验证,目前的版本中还无法用Filter的模式识别PHP,仍须用LoadMoudle的方式。或是笔者操作有误,如果你成功了,麻烦告诉我。 至此,Linux下的Apache2+PHP+MySQL整合完成。^_^ 2005-11-7 15:56 sup 管理员 积分 1432 发帖 1309 注册 2005-6-6 #2 软件mysql-standard-4.1.7-pc-linux-i686.tar.gz、apache_1.3.31.tar.gz libxml2-2.6.11.tar.gz、php-5.0.0.tar.gz 1.安装mysql # groupadd mysql # useradd -g mysql mysql # cd /root # tar zxvf mysql-standard-4.1.7-pc-linux-i686.tar.gz # mv mysql-standard-4.1.7-pc-linux-i686 mysql # mv mysql /usr/local # cd /usr/local/mysql # ./scripts/mysql_install_db --user=mysql # chown -R root . # chown -R mysql data # chgrp -R mysql . # ./bin/mysqld_safe --user=mysql & # ./bin/mysqladmin -u root password 'password' * 使用mysqladmin修改root的口令为'password' * 系统启动时自动运行: # cp support-files/mysql.server /etc/rc.d/init.d/mysqld * 存在mysqld,ntsysv里才有相应选项 # chkconfig --add mysqld * 用ntsysv设置使mysql每次启动都能自动运行 * 至此mysql安装完毕,你可以这样启动你的mysql服务 # /etc/rc.d/init.d/mysqld start 注意: 1.如在#下mysql运行不了,则到/usr/local/mysql/bin下./mysql运行 命令如下:./mysql -hlocalhost -uroot -p021011 2.mysqlcc连接默认没有认证 需打如下命令: mysql>grant all privileges on *.* to root@192.168.1.109 identified by "021011"; 2.apache的安装 # cd /root # tar zxvf apache_1.3.31.tar.gz # cd apache_1.3.31 # ./configure --enable-module=so --prefix=PREFIX * apache 1.3.31中mod_so似乎已经不是默认模块了。编译时候需加上--enable-module=so,第一次编译没加此参数,结果php编译时无法找到 apxs。 # make # make install 注意: 1.用rpm -e卸载时可能要先卸载redhat-config-httpd 2.编译时要安装gcc 3.Libxml2 系统自带是libxml2的版本是2.5.4的,在php配置的过程中报错,下载了一个更新的libxml2-2.6.11.tar.gz,下面我们来装它,原来的不用卸 载。 # cd /root # tar zxvf libxml2-2.6.11.tar.gz # cd libxml2-2.6.11 # ./configure # make # make install 4.PHP # cd /root # tar zxvf php-5.0.0.tar.gz # cd php-5.0.0 # ./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql # make # make install 安装完成后,修改apache的配置文件httpd.conf 在顶部加入 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps AddType application/x-httpd-php .php3 重启apache 测试PHP 编写 info.php文件,内容如下: <?php echo phpinfo(); ?> 将其存放在apache的文档路径下,在浏览器中输入: http://127.0.0.1/info.php 2005-11-8 13:33 sup 管理员 积分 1432 发帖 1309 注册 2005-6-6 #3 1.先安装 mod_limitipconn 2.Apache 2.0.55 Released 编译选项 CODE: [Copy to clipboard] -------------------------------------------------------------------------------- ./configure --prefix=/usr/local/apache2 --enable-ssl --enable-dav --enable-cgi --enable-so --with-module=aaa:../mod_limitipconn-0.22/mod_limitipconn.c 3.php 5.0.5 CODE: [Copy to clipboard] -------------------------------------------------------------------------------- ./configure --prefix=/usr/local/mysql --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-mysqld-user=mysql --enable-assembler cp ./php.ini-recommended /usr/local/php5/lib/php.ini ln -s /usr/local/php5/lib/php.ini /etc/php.ini 4.mysql 4.0.26 CODE: [Copy to clipboard] -------------------------------------------------------------------------------- ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql 5.apache conf/httpd.conf mod_limitipconn <Location /> MaxConnPerIP 3 NoIPLimit image/* </Location> 6.APC ./configure --enable-apc --with-php-config=/usr/local/php5/bin/php-config 7.php.ini zend_extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20041030/php_apc.so" |