´ÓÍøÉÏ¿´µ½Ðí¶àApache+Mysql+PHPµÄ°²×°Îĵµ£¬µ«ÓеÄ×ÜÊÇ»áÓÐд´íÎó£¬×î½üÎÒ¸ù¾ÝÍøÉÏÕÒµÄһЩÎĵµ£¬²¢¸ÄÕýÆäÖеĴíÎó£¬Ð´ÁËÒ»¸öÏêϸµÄ°²×°²½Ö裬ÒÔ¹©´ó¼ÒµÄѧϰºÍ²Î¿¼£¬Èç¹ûÓдíÎó²¢¼ÓÒÔ¸üÕý £º
ÎÒµÄϵͳÊÇredhat as5 ½¨Òé´ó¼ÒÍêÈ«°²×°£¬ÒÔÃⰲװʱȱÉÙÏà¹ØµÄ±àÒëÆ÷µÈµÈ¡£
Ò»¡¢°²×°mysql£¨mysql-5.0.21.tar.gz£©
# tar zxf mysql-5.0.21.tar.gz
# cd mysql-5.0.21
#./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql/
˵Ã÷£º
#prefix=/usr/local/mysql mysql°²×°µÄÄ¿±êĿ¼
#sysconfdir=/etc my.iniÅäÖÃÎļþµÄ·¾¶
#localstatedir=/var/lib/mysql Êý¾Ý¿â´æ·ÅµÄ·¾¶
# make
# make install
# groupadd mysql
# useradd mysql -g mysql
# cp support-files/my-medium.cnf /etc/my.cnf
#£¨Õâ¸öÎļþ¼ÐÊÇÔÀ´±àÒëµÄĿ¼Ïµģ©Ñ¯ÎÊÄãÊÇ·ñÒª¸²¸Çʱ£¬ÊäÈë"y"
#/usr/local/mysql/bin/mysql_install_db --user=mysql
# cd /usr/local/mysql È»ºóÉèÖÃȨÏÞ
# chown -R root . #É趨rootÄÜ·ÃÎÊ/usr/local/mysql
# chown -R mysql /var/lib/mysql #É趨mysqlÓû§Äܹ»·ÃÎÊ/var/lib/mysql
# chgrp -R mysql /usr/local/mysql #É趨mysql×éÄÜ·ÃÎÊ/usr/local/mysql
# /usr/local/mysql/bin/mysqld_safe --user=mysql & #°²È«Æô¶¯mysql
# PATH=$PATH:/usr/local/mysql/bin //ÈÃϵͳÕÒµ½mysql
# export PATH
# echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
# ldconfig -v
¶þ¡¢°²×°apache £¨httpd-2.0.59.tar.gz£©
# tar zxf httpd-2.0.59.tar.gz
# cd httpd-2.0.59
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most
˵Ã÷£º
--enable-soÑ¡ÏÈÃApache¿ÉÒÔÖ§³ÖDSOģʽ£¬×¢Ò⣬ÕâÀï²ÉÓõÄÊÇApache2.0µÄÓï·¨¡£Èç¹ûÄãµÄApacheÊÇ1.3°æ±¾£¬Ó¦¸ÄΪ--enable-module=so¡£
--enable-mods-shared=mostÑ¡Ï¸æËß±àÒëÆ÷½«ËùÓбê׼ģ¿é¶¼±àÒëΪDSOÄ£¿é¡£ÄãÒªÊÇÓõÄÊÇApache1.3,¸ÄΪ--enable-shared=max¾Í¿ÉÒÔ¡£
--enable-rewriteÑ¡Ï֧³ÖµØÖ·ÖØÐ´¹¦ÄÜ£¬Ê¹ÓÃ1.3°æ±¾µÄÅóÓÑÇ뽫Ëü¸ÄΪ--enable-module=rewrite¡£
# make
# make install
# vi /usr/local/apache/conf/httpd.conf #Æô¶¯ApacheÖеÄphpÑ¡Ïî,ÕÒµ½ÏÂÃæÁ½ÐÐ
DirectoryIndex index.php #ÐÞ¸ÄĬÈÏÆô¶¯Ò³
DocumentRoot #Ö¸¶¨Ö÷Ŀ¼(/usr/local/apache2/htdocs)
ServerName 127.0.0.1:80
# /usr/local/apache/bin/apachectl start
Èý¡¢°²×°php £¨php-5.1.6.tar.bz2£©
# tar jxf php-5.1.6.tar.bz2
# cd php-5.1.6
# ./configure --with-apxs2=/usr/local/apache/bin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/local/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
˵Ã÷£º
? --with-apxs2=/usr/local/apache/bin/apxs \ ÕâÊǼÓÈëapacheÖÐΪDSOÄ£¿éµÄλÖÃ
? --disable-debug \ #¹Ø±ÕphpÄÚ²¿µ÷ÊÔ
? --enable-safe-mode \ #´ò¿ªphpµÄ°²È«Ä£Ê½
? --enable-trans-sid \
? --with-xml \ #Ö§³Öxml
? --with-mysql \ #Ö§³Ömysql
? --enable-short-tags \ #Ö§³ÖPHPµÄ¶Ì±ê¼Ç
? --with-gd \ #Ö§³ÖGD¿â
? --with-zlib \ #Ö§³Özlib
? --with-jpeg \
? --with-png \
? --enable-memory-limit \
? --disable-posix \
? --with-config-file-path=/usr/local/lib
×ÜÖ®¸´ÖÆÕ³Ìù¾Í¿ÉÒÔÁË£¬-_-
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
×¢Ò⣺Èç¹û˵mysql+apache ¶¼ÊÇĬÈϰ²×°£¬configureÅäÖ÷½·¨
# ./configure --with-apxs2=/usr/sbin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/share/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini ¸´ÖÆphpµÄÅäÖÃÎļþ
# cd /usr/local/lib/
# vi php.ini ÐÞ¸ÄÅäÖÃÎļþ
register_globals = On Ò»°ãÔÚ414ÐÐ
max_execution_time = 30 ; // ¸ÄΪ600 (Ôö¼Ó´¦Àí½Å±¾µÄʱ¼äÏÞÖÆ)
max_input_time = 600 ; //×î´óÊä³öʱ¼ä600Ãë
memory_limit = 8M ; //¸ÄΪ40M (ÕâÑù²ÅÄÜ·¢10MµÄ¸½¼þ)
register_global =On
post_max_size = 2M ; //php¿É½ÓÊÜµÄ post ·½·¨´óС 2M
file_uploads = On ; //ÔÊÐíÉÏÔØÎļþ
upload_max_filesize = 2M ; //×î´óÉÏÔØÎļþ2M
session.auto_start = 1 ; //session×Ô¶¯Æô¶¯
Èç¹û±àÒëPHP:make³ö´í
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore.
½â·¨£º¡¡¡¡¡¡
Èç¹û²»ÖªµÀ header file ÔÚÄÄ£¬Óà ¡¸find / -name mysql.h¡¹ÃüÁîÕÒ³öÆäλÖ㻡¡¡¡¡¡
Èç¹ûÊÇ×Ô¼ºÒ²ÓÐÊÖ„Ó°²Ñb MySQL Ì×¼þµÄÔ’£¬Ö±½ÓÖ¸¶¨Ô“λÖá£
ÔÚ ./configure ϲÎÊýÖ¸¶¨ header file µÄλÖ㨼´mysql°²×°Ä¿Â¼£©£¬ÈçÏÂ:
./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql=/usr/local/mysql
ËÄ¡¢ÕûºÏapacheºÍphp
# vi /usr/local/apache/conf/httpd.conf ÐÞ¸ÄapacheµÄÅäÖÃÎļþ
Ìí¼Ó: AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps //×¢Ò⽫ÕâÁ½ÐÐÌí¼ÓÔÚÆäËüAddTypeºóÃæ
È·±£ÎļþÖÐÓÐÏÂÃæÒ»¶Î£¬Èç¹ûûÓеϰ¾ÍÌí¼ÓÔÚËùÓÐLoadModuleÖ®ºó
LoadModule php5_module modules/libphp5.so
ÓÉÓÚÎÒ×°µÄ°æ±¾½Ï¸ßËùÒÔÊÇphp5£¬Èç¹ûÊÇLoadModule php4_module modules/libphp4.soµÄ»°Ò²¿ÉÒÔ
# /usr/local/apache/bin/apachectl start //Èç¹ûÕâµØ·½±¨ÈçÏ´í
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
ÔÒò£ºÊÇLinuxÓÐÒ»¸öSELinux±£»¤Ä£Ê½ÒýÆðµÄ¡£
½â¾ö°ì·¨£º
1¹Ø±ÕSELINUXµÄ·½·¨:
vi /etc/selinux/config ½«SELINUX=enforcing ¸Ä³ÉSELINUX=disabled ÐèÒªÖØÆô
Õâ¸ö·½·¨¿ÉÄÜ»á¶Ô·þÎñÆ÷´øÀ´·çÏÕ¡£
2²»¹Ø±ÕSELINUXµÄ·½·¨:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
server httpd start ±¨´í£ºÆô¶¯ httpd£º[Wed May 07 02:17:20 2008] [warn] module php4_module is already loaded, skipping
½â¾ö°ì·¨£º²é¿´# vi /usr/local/apache/conf/httpd.conf
ÊÇ·ñÓжþÌõÏàָͬÁîLoadModule php4_module modules/libphp4.so ɾ³ýÒ»Ìõ£¬¼´¿É
Îå¡¢°²×°phpMyAdmin £¨phpMyAdmin-2.6.0.tar.gz£©
# tar zxf phpMyAdmin-2.6.0.tar.gz
# mv phpMyAdmin-2.6.0 /usr/local/apache/htdocs/
# vi config.inc.php ÐÞ¸ÄÕâ¸öÎļþ
$cfg['Servers'][$i]['host'] = 'localhost'; //¸Ä³ÉÄãÊý¾Ý¿â·þÎñÆ÷µÄÖ÷»úÃû»òIPµØÖ·£»
$cfg['Servers'][$i]['user'] = 'root'; // MySQL Êý¾Ý¿âµÄÓû§Ãû£»
$cfg['Servers'][$i]['password'] = ''; // MySQL Êý¾Ý¿âµÄÃÜÂ룻
Ö÷ÒªÐÞ¸ÄÕ⼸Ï±£´æÍ˳ö
²âÊÔ£º
http://IP/phpMyAdmin-2.6.0
ÕâÀï¿ÉÒÔÐÞ¸ÄphpMyAdmin-2.6.0Õâ¸öĿ¼µÄÃû×Ö£¬ÕâÑù·ÃÎʱȽϷ½±ã