ºìÁªLinuxÃÅ»§
Linux°ïÖú

UbuntuÍøÂçÓ¦Ó÷þÎñÆ÷ApacheÅäÖûù´¡

·¢²¼Ê±¼ä:2007-10-01 00:12:09À´Ô´:ºìÁª×÷Õß:kwareregb
ÅäÖÃÎļþ

¹Ù·½·¢²¼µÄ Apache µÄÖ÷ÅäÖÃÎļþÊÇ httpd.conf, ·þÎñÆ÷»¹»á¶Áȡһ¸ö°üº¬ MIME ÎļþÀàÐ͵ÄÎļþ£¬ÆäÎļþÃûÓÉ TypesConfig Ö¸ÁîÈ·¶¨£¬Ä¬ÈÏÖµÊÇmime.types ¡£

Ubuntu/Debian Ï嵀 Apache µÄÖ÷ÅäÖÃÎļþÊÇ /etc/apache2/apache2.conf, °üº¬ MIME ÎļþÀàÐ͵ÄÎļþÊÇ /etc/mime.types ¡£

´ËÍ⣬ΪÁ˰´Âß¼­·Ö¸îÅäÖ㬻¹¿ÉÒÔÓà Include Ö¸ÁîºÍͨÅä·û¸½¼ÓÐí¶àÆäËûÅäÖÃÎļþ¡£Ubuntu ϸ½¼ÓÁËÈçϵÄÅäÖÃÎļþ£º

# °üº¬¶¯Ì¬Ä£¿éµÄÅäÖÃ:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# °üº¬Óû§×Ô¼ºµÄÅäÖÃ:
Include /etc/apache2/httpd.conf

# °üº¬¶Ë¿Ú¼àÌýµÄÅäÖÃ:
Include /etc/apache2/ports.conf

# °üº¬Ò»°ãÐÔµÄÅäÖÃÓï¾äƬ¶Ï:
Include /etc/apache2/conf.d/[^.#]*

¡­¡­

# °üº¬ÐéÄâÖ÷»úµÄÅäÖÃÖ¸Áî:
Include /etc/apache2/sites-enabled/[^.#]*

ÅäÖÃÎļþµÄÓï·¨

*
ÿһÐаüº¬Ò»¸öÖ¸ÁÔÚÐÐβʹÓ÷´Ð±¸Ü¡±\¡±¿ÉÒÔ±íÊ¾ÐøÐÐ
*
ÅäÖÃÎļþÖеÄÖ¸Áî²»Çø·Ö´óСд£¬µ«ÊÇÖ¸ÁîµÄ²ÎÊý (argument) ͨ³£Çø·Ö´óСд
*
ÒÔ ¡±#¡± ¿ªÍ·µÄÐб»ÊÓΪע½â²¢ÔÚ¶Áȡʱ±»ºöÂÔ¡£×¢½â²»ÄܳöÏÖÔÚÖ¸ÁîµÄºó±ß
*
¿Õ°×ÐкÍÖ¸ÁîǰµÄ¿Õ°××Ö·û½«ÔÚ¶Áȡʱ±»ºöÂÔ£¬Òò´Ë¿ÉÒÔ²ÉÓÃËõ½øÒÔ±£³ÖÅäÖòã´ÎµÄÇåÎú

ÎÞÂÛÊÇÖ÷ÅäÖÃÎļþ»¹ÊÇÓà Include Óï¾ä°üº¬µÄÅäÖÃÎļþ£¬¶¼Ó¦¸Ã×ñ´Ó Apache µÄÅäÖÃÓï·¨¡£
Apache µÄÄ£¿é

Apache ÊÇÄ£¿é»¯µÄ·þÎñÆ÷£¬ËüÓÐÁ½ÖÖ±àÒ뷽ʽ£º

*
¾²Ì¬±àÒ룺½«ºËÐÄÄ£¿éºÍËùÐèÒªµÄÄ£¿éÒ»´ÎÐÔ±àÒë
o
Óŵ㣺ÔËÐÐËÙ¶È¿ì
o
ȱµã£ºÒªÔö¼Ó»òɾ³ýÄ£¿é±ØÐëÖØÐ±àÒëÕû¸ö Apache
*
¶¯Ì¬±àÒ룺ֻ±àÒëºËÐÄÄ£¿éºÍ DSO £¨¶¯Ì¬¹²Ïí¶ÔÏó£©Ä£¿é -- mod_so
o
Óŵ㣺¸÷Ä£¿é¿ÉÒÔ¶ÀÁ¢±àÒ룬²¢¿ÉËæÊ±Óà LoadModule Ö¸Áî¼ÓÔØ£¬ÓÃÓÚÌØ¶¨Ä£¿éµÄÖ¸Áî¿ÉÒÔÓà ָÁî°üº¬ÆðÀ´£¬Ê¹Ö®ÓÐÌõ¼þµØÉúЧ¡£
o
ȱµã£ºÔËÐÐËÙ¶ÈÉÔÂý

Ubuntu ÖÐµÄ Apache ÊǶ¯Ì¬±àÒëµÄ¡£ÔÚ Ubuntu ÏÂÅäÖÃÄ£¿é£º

1.
ÊÓÐèÒªÐÞ¸Ä mods-available/ Ŀ¼ÏÂÏà¹ØÄ£¿éµÄÅäÖÃÎļþ
2.
ʹÓà a2enmod ÃüÁîÆôÓÃÄ£¿é£» ʹÓà a2dismod ÃüÁîÍ£ÓÃÄ£¿é

ÀýÈ磺 ÆôÓà rewrite Ä£¿é¿ÉÒÔÓÃÈçÏÂÃüÁ

sudo a2enmod rewrite

Í£Óà cgi Ä£¿é¿ÉÒÔÓÃÈçÏÂÃüÁ

sudo a2dismod cgi

Ö¸ÁîµÄ×÷ÓÃÓò

´ÓÖ¸ÁîµÄ×÷ÓÃÓòÀ´»®·Ö£¬Apache ÖÐÓÐÁ½ÀàÖ¸Á

*
ÆÕָͨÁÆÕָͨÁî¶ÔÕû¸ö·þÎñÆ÷¶¼ÓÐЧ
*
ÈÝÆ÷Ö¸Á¿ÉÒÔ·ÅÖÃÔÚÈÝÆ÷ÄÚ¶ÔÌØ¶¨µÄ·ÃÎÊ×ÊԴʵʩ¶îÍâµÄÅäÖã¬ËüÖ»¶ÔÌØ¶¨µÄ·ÃÎÊ×ÊÔ´ÓÐЧ

Apache Öг£ÓõÄÈÝÆ÷°üÀ¨£º

*
ºÍ : ÓÃÓÚ¶ÔÖ¸¶¨µÄĿ¼ʵʩ¶îÍâµÄÅäÖÃ
*
ºÍ : ÓÃÓÚ¶ÔÖ¸¶¨µÄÎļþʵʩ¶îÍâµÄÅäÖÃ
*
ºÍ : ÓÃÓÚ¶ÔÖ¸¶¨µÄ URL ʵʩ¶îÍâµÄÅäÖÃ

*
ÈÝÆ÷¶¼ÊdzɶԳöÏֵģ¬ËùÓÐÔÚÈÝÆ÷ÖÐʹÓõÄÅäÖÃÖ¸Áî¶¼Ó¦¸Ã·ÅÖÃÔÚ <> ºÍ ÄÚ£¬È磺


¡­¡­


*
ÒÔÉÏËùÓдø ¡°Match¡± µÄÈÝÆ÷Ö¸ÁîÓëÆäÏàÓ¦µÄ²»´ø ¡°Match¡± µÄÈÝÆ÷Ö¸ÁÄÜÏàͬ£¬Ö»ÊÇÔÚÃèÊö×ÊԴʱ¿ÉÒÔʹÓÃÕýÔò±í´ïʽ
*
ÕâЩÈÝÆ÷»¹¿ÉÒÔ½øÐÐǶÌ×£¬ÒÔ½øÐиü¾«Ï¸µÄÅäÖÃ

´ËÍ⣬Apache »¹¾ß±¸Í¬Ê±Ö§³Ö¶à¸öÕ¾µãµÄÄÜÁ¦£¬³ÆÎªÐéÄâÖ÷»ú¡£·ÅÖÃÔÚ ÈÝÆ÷ÖеÄÖ¸Áî½ö¶ÔÌØ¶¨ÐéÄâÖ÷»úÓÐЧ¡£
ËäÈ»´ó¶àÊýÖ¸Áî¿ÉÒÔ°üº¬ÔÚÈÎÒâµÄÈÝÆ÷ÖУ¬µ«ÊÇÒ²ÓÃÌØÀý¡£Òª²éѯһ¸öÖ¸Áî¿ÉÒÔ±»Ó¦ÓÃÓÚÄÄЩÅäÖöÎÖУ¬¿ÉÒÔÔÚ Apache ÊÖ²áÖв鿴¸ÃÖ¸ÁîµÄ ×÷ÓÃÓò Ïî¡£
»ùÓÚĿ¼µÄÅäÖÃÎļþ

Apache ³ýÁËʹÓÃÖ÷ÅäÖÃÎļþÖ®Í⣬»¹¿ÉÒÔʹÓ÷ֲ¼ÔÚÕû¸öÍøÕ¾Ä¿Â¼Ê÷ÖеÄÌØÊâÎļþÀ´½øÐзÖÉ¢ÅäÖá£ÕâÑùµÄÌØÊâÅäÖÃÎļþ³ÆÎª»ùÓÚĿ¼µÄÅäÖÃÎļþ£¬ ÕâÐ©ÌØÊâµÄÎļþͨ³£½Ð .htaccess £¬µ«ÊÇÒ²¿ÉÒÔÓà AccessFileName Ö¸ÁîÀ´¸Ä±äËüµÄÃû×Ö¡£

ÏÔÈ»£¬»ùÓÚĿ¼µÄÅäÖÃÎļþ £¨.htaccess Îļþ£©ÖÐÖ¸ÁîµÄ×÷ÓÃÓòÊÇ´æ·ÅËüµÄÄǸöĿ¼¼°ÆäËùÓÐ×ÓĿ¼¡£

*
.htaccess ÎļþµÄÓï·¨ÓëÖ÷ÅäÖÃÎļþÏàͬ¡£·ÅÔÚ ÈÝÆ÷ÖеÄÖ¸Áî¶¼¿ÉÒÔ³öÏÖÔÚ .htaccess ÎļþÖУ¬¾ßÌåÄܳöÏÖÄÄЩָÁîÓÉÖ÷ÅäÖÃÎļþÖÐµÄ AllowOverride Ö¸ÁîÀ´¾ö¶¨
*
ÓÉÓÚ¿Í»§¶Ô·þÎñÆ÷µÄÿ´Î·ÃÎÊÇëÇó¶¼»á¶ÁÈ¡.htaccessÎļþ£¬ËùÒÔ¶ÔÕâЩÎļþµÄÐ޸ĻáÁ¢¼´ÉúЧ£¬¼´ÎÞÐèʹ·þÎñÆ÷¼ÓÔØÅäÖÃÎļþ»òÖØÐÂÆô¶¯¡£

»ù±¾ÅäÖÃÖ¸Áî
·þÎñÆ÷±êʶָÁî

*
ServerName : ·þÎñÆ÷ÓÃÓÚ±æÊ¶×Ô¼ºµÄÖ÷»úÃûºÍ¶Ë¿ÚºÅ
*
ServerAdmin : ·þÎñÆ÷·µ»Ø¸ø¿Í»§¶ËµÄ´íÎóÐÅÏ¢Öаüº¬µÄ¹ÜÀíÔ±ÓʼþµØÖ·
*
ServerSignature : ÅäÖ÷þÎñÆ÷Éú³ÉÒ³ÃæµÄÒ³½Å(´íÎóÐÅÏ¢¡¢mod_proxyµÄftpĿ¼ÁÐ±í¡¢mod_infoµÄÊä³ö)
*
ServerTokens : ¿ØÖÆÁË·þÎñÆ÷»ØÓ¦¸ø¿Í»§¶ËµÄ¡±Server:¡°Ó¦´ðÍ·ÊÇ·ñ°üº¬¹ØÓÚ·þÎñÆ÷²Ù×÷ϵͳÀàÐͺͱàÒë½øµÄÄ£¿éÃèÊöÐÅÏ¢
*
UseCanonicalName : ¾ö¶¨ Apache ÈçºÎ¹¹Ôì URL ÖÐ SERVER_NAME ºÍ SERVER_PORT µÄÖ¸Áî¡£

Îļþ¶¨Î»Ö¸Áî

*
DocumentRoot : ×é³ÉÍøÂçÉϿɼûµÄÖ÷ÎĵµÊ÷µÄ¸ùĿ¼
*
ErrorLog : ´æ·Å´íÎóÈÕÖ¾µÄλÖÃ
*
LockFile : µ± AcceptMutex Ö¸ÁîµÄÖµÊÇ fcntl »ò flock µÄʱºò£¬Apache ʹÓõÄËøÎļþµÄλÖÃ
*
PidFile : ÉèÖ÷þÎñÆ÷ÓÃÓڼǼ¸¸½ø³Ì(¼à¿Ø½ø³Ì) PID µÄÎļþ¡£
*
ScoreBoardFile : ´æ´¢×Ó½ø³ÌЭµ÷Êý¾Ý(coordination data)µÄÎļþ£¨Apache ʹÓà scoreboard ÔÚ¸¸½ø³ÌºÍ×Ó½ø³ÌÖ®¼ä½øÐÐͨÐÅ£©
*
ServerRoot : Ö¸¶¨·þÎñÆ÷°²×°µÄ»ù´¡Ä¿Â¼

ÊÕ½ô Ubuntu Ï嵀 Apache ÅäÖÃ

¶ÔÓÚʵ¼ÊµÄ²úÆ··þÎñÆ÷£¬Ó¦¸ÃÊ×ÏÈÊÕ½ô Apache µÄÅäÖá£Îª´Ë¿ÉÒÔÔÚ /etc/apache2/conf.d/ Ŀ¼Ï´´½¨Ò»¸öÐ嵀 local_configs.conf ÎļþÌí¼ÓÈçϵÄÅäÖãº

/etc/apache2/conf.d/local_configs.conf

# ÉèÖÃ ServerName
ServerName www.jamond.net
# ¶Ô / ½øÐб£»¤

# Forbid default access to file system locations
Order Deny,Allow
Deny from all
# prevent use of .htaccess files in all directories
# apart from those specifically enabled.
AllowOverride None


# ÏÞÖÆÏÔʾ·þÎñÆ÷µÄ¿ÉÓÃÐÅÏ¢
ServerSignature Off
ServerTokens production

Apache µÄ¹ÜÀí¹¤¾ß

Apache Ì×¼þÖаüº¬ÁËÐí¶à¿ÉÖ´ÐгÌÐò£¬ÆäÖÐÒ»²¿·ÖÊǹÜÀí¹¤¾ß£¬±¾½Ú½ö½éÉÜ apache2ctl¡£
apache2ctl

apache2ctl ÊÇ Apache2 ·þÎñÆ÷µÄǰ¶Ë³ÌÐò¡£Ëû¿ÉÒÔ°ïÖú¹ÜÀíÔ±¿ØÖÆ Apache2 ºóÌ¨ÊØ»¤½ø³ÌµÄ¹¦ÄÜ¡£

apache2ctl½Å±¾ÓÐÁ½ÖÖ²Ù×÷ģʽ£º

*
×÷Ϊ¼òµ¥µÄ apache2 µÄǰ¶Ë³ÌÐò£¬ÉèÖÃËùÓбØÒªµÄ»·¾³±äÁ¿£¬È»ºóÆô¶¯ apache2£¬²¢´«µÝËùÓеÄÃüÁîÐвÎÊý¡£
*
×÷Ϊ SysV ³õʼ»¯½Å±¾£¬½ÓÊܼòµ¥µÄÒ»¸öµ¥´ÊµÄ²ÎÊý£¬È磺start, restart, stop £¬²¢°ÑËûÃÇ·­ÒëΪÊʵ±µÄÐźŷ¢Ë͸ø apache2 ¡£

*
ÔÚ Ubuntu µÄ Apache2 Æô¶¯½Å±¾ /etc/init.d/apache2 ÖУ¬¾ÍÊǵ÷Óà apache2ctl ʵÏÖ¿ØÖƵġ£

apache2ctl ÓÐÁ½ÖÖÓï·¨¸ñʽ£º

apache2ctl -²ÎÊý
apache2ctl ¶¯×÷Ñ¡Ïî

ʹÓà apache2ctl µÄÃüÁî²ÎÊý

*
ÏÔʾ apache µÄ°æ±¾

apache2ctl -v

*
ÏÔʾ apache µÄ°æ±¾ºÍ±àÒë²ÎÊý

apache2ctl -V

*
Êä³öÒ»¸ö¿ÉÓõÄÃüÁîÐÐÑ¡ÏîµÄ¼òҪ˵Ã÷

apache2ctl -h

*
Êä³öÒ»¸ö¾²Ì¬±àÒëÔÚ·þÎñÆ÷ÖеÄÄ£¿éµÄÁÐ±í¡£Ëü²»»áÁгöʹÓà LoadModule Ö¸Á̬¼ÓÔØµÄÄ£¿é

apache2ctl -l

*
Êä³öÒ»¸öÖ¸ÁîµÄÁÐ±í£¬²¢°üº¬Á˸÷Ö¸ÁîµÄÓÐЧ²ÎÊýºÍʹÓÃÇøÓò

apache2ctl -L

*
½ö¶ÔÅäÖÃÎļþÖ´ÐÐÓï·¨¼ì²é¡£¡£Èç¹û»¹Ö¸¶¨ÁË¡±-D DUMP_VHOSTS¡±£¬Ôò»áÏÔʾÐéÄâÖ÷»úÅäÖõÄÏêϸÐÅÏ¢

apache2ctl -t

*
ÏÔʾ´ÓÅäÖÃÎļþÖжÁÈ¡²¢½âÎöµÄÉèÖýá¹û (Ŀǰ½öÏÔʾÐéÄâÖ÷»úµÄÉèÖÃ)

apache2ctl -S

ʹÓà apache2ctl µÄ¶¯×÷Ñ¡Ïî

*
Æô¶¯ apache2 ºóÌ¨ÊØ»¤½ø³Ì¡£Èç¹ûÒѾ­Æô¶¯£¬Ôò²úÉúÒ»¸ö´íÎó¡£

apache2ctl start

*
Í£Ö¹ apache2 ºóÌ¨ÊØ»¤½ø³Ì¡£

apache2ctl stop

*
ÖØÐÂÆô¶¯ apache2 ºóÌ¨ÊØ»¤½ø³Ì¡£Èç¹ûÊØ»¤½ø³ÌÉÐδÔËÐУ¬ÔòÆô¶¯Ëü¡£ÔÚÖØÐÂÆô¶¯ÊØ»¤½ø³Ì֮ǰ£¬´ËÃüÁî»áʹÓà configtest ×Ô¶¯¼ì²éÅäÖÃÎļþ£¬ÒÔÈ·±£ Apache ²»»áËÀµô¡£

apache2ctl restart

*
ÏÔʾһ¸ö¼òÒªµÄ״̬±¨¸æ¡£

apache2ctl status

*
ÓÅÑŵØÖØÐÂÆô¶¯ apache2 ºóÌ¨ÊØ»¤½ø³Ì¡£Èç¹ûÊØ»¤½ø³ÌÉÐδÆô¶¯£¬ÔòÆô¶¯Ëü¡£ËüºÍ±ê×¼ÖØÐÂÆô¶¯µÄ²»Í¬Ö®´¦ÔÚÓÚ£º²»»áÖжϵ±Ç°ÒѾ­´ò¿ªµÄÁ¬½Ó£¬Ò²²»»áÁ¢¼´¹Ø±ÕÈÕÖ¾¡£ÕâÒâζ×Å£¬Èç¹ûÔÚÈÕÖ¾¹ö¶¯½Å±¾Ê¹ÓÃËü£¬ÔòÔÚ´¦ÀíÈÕ־֮ǰ±ØÐë¼ÓÈëÒ»¸öʵʵÔÚÔÚµÄÑÓ³Ù£¬ÒÔÈ·±£ÀϵÄÈÕÖ¾ÎļþÔÚ±»´¦ÀíǰÒѾ­¹Ø±Õ¡£ÔÚÖØÐÂÆô¶¯ÊØ»¤½ø³Ì֮ǰ£¬´ËÃüÁî»áʹÓà configtest ×Ô¶¯¼ì²éÅäÖÃÎļþ£¬ÒÔÈ·±£ apache ²»»áËÀµô¡£

apache2ctl graceful

*
ÓÅÑŵØÍ£Ö¹ apache2 ºóÌ¨ÊØ»¤½ø³Ì¡£ËüºÍ±ê׼ֹͣµÄ²»Í¬Ö®´¦ÔÚÓÚ£º²»»áÖжϵ±Ç°ÒѾ­´ò¿ªµÄÁ¬½Ó£¬Ò²²»»áÁ¢¼´¹Ø±ÕÈÕÖ¾¡£

apache2ctl graceful-stop

*
Ö´ÐÐÒ»´ÎÅäÖÃÎļþÓï·¨¼ì²é¡£Ëü½âÎöÅäÖÃÎļþ£¬²¢±¨¸æ Syntax Ok »òÕßÊÇÌØ¶¨µÄÓï·¨´íÎóÏêϸÐÅÏ¢¡£

apache2ctl configtest
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ