: http://blog.csdn.net/yanzi1225627/article/details/49123659
5 k$ N& G7 t, ~" S4 u" J/ M3 P9 N' u2 {/ f& R) k, Y
格嚗剖遣LNMP嚗Linux 嚗 Nginx 嚗 MySQL 嚗 PHP 嚗SVN嚗嚗嗡葉svn舐冽乩誨瞞tp嚗嫣噶撘銝剛霂甇乩誨 詨喟桀嚗頧臭辣賢鋆/www/桀銝嚗肓ww桀銝啣遣web隞嗅允雿銝箇蝡寡楝敺嚗www桀銝啣遣wwwsvn雿銝漳vn隞摨啣/www/software冽交駐ginx嚗mysql嚗php摰鋆皞nginx餈銵蝏韐行暈ww:www 銝嚗摰鋆憭yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel cmake
, L0 Q/ [, p& Z8 |1 J. z9 T, O6 t) k 湔亙敺摰鋆靘韏摰鋆摰 嗅銝頧緯ginx 嚗mysql嚗 php皞隞嚗 舐 google search engine 撠啁 撠餈銝隞緣ar.gz隞園餈scp賭誘撘唳∪其/www/software桀銝 鈭嚗摰鋆nginx閫蝻拇隞塚嗅餈迸ginx-1.8.0嚗颲亙賭誘嚗 ./configure --user=www --group=www --prefix=/www/nginx
6 [# L9 G' @; {, f% \4 }% p 嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www: O) }" k! b4 J+ t' \4 _& {
/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx, O4 T; ?* _( s
4 C5 X F3 d+ Q$ q
chkconfig --add nginx" |0 @, ?) v& X, Z/ k( Z
9 m2 w" N% b' c3 o
chkconfig nginx on
) u6 H& f; z( c 嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash+ j& [4 c8 `1 @, H* m$ S" [; V
# nginx Startup script for the Nginx HTTP Server. R' }* L- c' x5 A
# it is v.0.0.2 version.
/ i: R4 l* h" @# chkconfig: - 85 15
' p! X0 b# [9 C/ c8 o& r' T# |9 R# description: Nginx is a high-performance web and proxy server.
3 b; B! c* S0 C/ p$ `: Z n# It has a lot of features, but it's not for everyone.
3 a* ^" e4 K0 |* `# processname: nginx1 u- w) C4 _/ j1 { J7 P n7 x
# pidfile: /var/run/nginx.pid
. T, R* n% T/ b" ^# config: /usr/local/nginx/conf/nginx.conf6 l5 K& C1 f9 K1 m
nginxd=/www/nginx/sbin/nginx( N$ c c* W1 s2 K' R! I; b2 v& i
nginx_config=/www/nginx/conf/nginx.conf: @1 i6 Z; V3 I/ A# ~# m
nginx_pid=/www/nginx/logs/nginx.pid# j2 Q) @ i( l$ F+ p g' S
RETVAL=0
* W* G, Y2 ]+ y4 q8 lprog="nginx"
) E" o8 D/ Z0 Q0 s+ J# Source function library.
" b3 }3 m+ T4 `5 Z1 Q6 D. /etc/rc.d/init.d/functions+ @" t0 I' z( I* m1 k4 i& W- S* O
# Source networking configuration.; Z0 Y6 p& M8 H+ L9 A1 C. x
. /etc/sysconfig/network4 E- o4 x4 W2 @9 }: R
# Check that networking is up.2 Y8 W) K2 X- y( P9 b% r& d
[ ${NETWORKING} = "no" ] && exit 04 J& s' K" b* H% m6 l7 ?2 @
[ -x $nginxd ] || exit 0, V7 t; H- d3 _9 m1 z
# Start nginx daemons functions.' j# ~- q3 o' Q$ R: J3 e
start() {5 j% G6 d* f' ]* }$ S
if [ -e $nginx_pid ];then7 N* o% m p+ T E) F2 ^& Z; L
echo "nginx already running...."
# r9 a: h% r5 N& @exit 1
6 b/ U+ p3 F/ o! x% F3 p' Lfi
5 u) v& J6 C' }, M+ {0 Zecho -n $"Starting $prog: "! K% Q! A0 C) P/ W
daemon $nginxd -c ${nginx_config}1 p3 B+ l* {9 C5 H
RETVAL=$?
9 M4 A. d! y5 F1 ?. Techo& X- c4 D* S/ S4 e0 o
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
F( j4 [7 e1 J. Oreturn $RETVAL2 _3 C. \' o/ a- i& }6 E# m
} b! U! ?8 {8 `: A0 J
# Stop nginx daemons functions./ x. q" g3 W. ~
stop() {
* V- E7 C& ~# q5 U/ o0 g( k* d& r" g; |8 recho -n $"Stopping $prog: ") ~/ y' N9 |2 H3 S0 T
killproc $nginxd3 e& a( ?4 _+ Q9 `2 l& @+ Y
RETVAL=$?4 A- u9 i8 m( Q3 q
echo
2 M/ I6 G& I9 p2 H6 u[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid
6 X0 O2 V: j& c; p2 m' ]}
5 m% D; L3 a- _" w+ V$ Breload() {
; h1 C! Y7 _/ \) c/ E; fecho -n $"Reloading $prog: " d- y; E# k3 h" b4 o, J/ A
#kill -HUP `cat ${nginx_pid}`
: F2 v- }. }" f- B8 f% x3 rkillproc $nginxd -HUP
3 T; V% R) O3 tRETVAL=$?. s6 \) K; A9 u3 k3 y- n# O3 r
echo8 Z/ p/ j; n% S+ k$ q! N
}
; R1 o$ a! ]& }+ A2 m4 o- h# See how we were called.8 G' y6 A# C( ^0 D
case "$1" in; C) [+ y- m0 n
start)* c3 R5 n! x" d* x' G: I
start! G% X6 n& v" c
;;7 M6 J4 b: ~5 x& z
stop)( G) W2 F: R1 v+ X
stop
- K4 Q* f" {/ L6 B;;4 q3 M6 y0 x. V! V' l/ ^+ f
reload), j. F, ]2 U5 s0 \
reload# T6 }% S% R- e* U) A' ^- w
;;
4 a! \5 F5 x2 H! erestart)
2 z* o& Q6 K$ B3 p- A& K6 estop
) T5 F7 U2 q' V% |( kstart
4 m) s* T/ \! `6 H5 ^7 L" ?$ W: j;;
6 B u8 Q5 `& | F. j4 Qstatus)
5 Y3 S0 @& q8 B: ~status $prog
- T5 Z. f+ R: u% F0 J. O& M6 GRETVAL=$?
' `7 G- F0 p& d+ w;;8 `3 g- B- S) ^# ]) M
*)
& F6 j8 u% `9 x2 qecho $"Usage: $prog {start|stop|restart|reload|status|help}"6 R, j+ T* h7 H
exit 16 M0 v7 g' G, g
esac# c; N1 K- X' [% f. Y
exit $RETVAL! G" X2 E; q e& V. p7 R
6 q6 {3 f' c' @, v
瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬
' K: C0 L; a2 N! O. Bchmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗
* f9 p! W/ W% v1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠 + k9 N, k( s: g+ R+ P# S9 w% ]4 K4 A
location / {
. d- [, o7 n) L! e* O9 e& B root html;% E: b# D+ e$ F! p2 N+ q
index index.php index.html index.htm;. H1 H2 N0 _0 U9 F# b$ z
}
& j/ G6 ^) Q# b3 `靽格嫣蛹嚗6 P7 K& `, o, }" s4 h
& J5 d+ s* Q- s+ v3 D/ `
location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠
5 z9 w. q6 K4 ]location ~ \.php$ {
. z C" I! ]& I5 q root html;; ~$ M7 |: @( _- ^. R
fastcgi_pass 127.0.0.1:9000;
. L s6 m J3 m4 l8 ]* y fastcgi_index index.php;& B+ \" p. X5 Z1 J0 q- x9 Y9 \# D
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
N0 `+ B4 a3 O0 S: J4 E3 E- s7 h include fastcgi_params;
" ~6 ~* @3 {5 |/ ]4 @) l) P' j }: u$ w1 m. p. {( R4 s
靽格嫣蛹嚗; R4 g! N- H5 F# ~' X
# z3 b( a9 k8 A: P location ~ \.php$ { root /www/web; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #include fastcgi_params; include fastcgi.conf; } 嗅撠得k鈭蝚砌銝芷桅頝php游嚗敺摰鋆摰瘥php氬 銝嚗摰鋆MySQL閫蝻拙僎餈唳桀嚗扯嚗 ) M1 C( c# n2 t E8 E+ z& t
#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql
9 U- J7 T) a9 q% B1 ?8 _$ Z, a; X9 f
4 I" S2 Z5 N& ?+ m" k6 T& R$ i#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏5 l3 b: {' G. H: L- v* Z. Y4 q
扯 cat /etc/passwd 亦冽瑕銵, `8 J* e* _% `+ z+ t7 X
cat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀- t$ ^' | _$ ]8 y
3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql" z4 a0 A- c3 \4 g
4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql* \4 Y* y. {" r
chkconfig mysql on0 p3 d! F3 @2 i# B' G
service mysql start --臬決ySQL: ^8 q" k5 S0 P; U8 w" I
5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH; W; ]$ G5 y2 M) M( m1 g
export PATH
- _) R- U x6 J# Z 靽摮source /etc/profile 扯嚗 8 l Z+ ~; S7 `2 [% y4 n' x
mysql -uroot mysql> SET PASSWORD = PASSWORD('root');- q5 q8 j4 ]" H. a# Q( Y
3 j- [+ K( Q$ {& y. r, w
霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗 9 |7 V6 p" {) o1 d7 I& ]" n/ @
mysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗
& y. u+ w, N( i#./configure --prefix=/www/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-openssl --with-libxml-dir --with-zlib --enable-mbstring --with-mysql=/www/mysql --with-mysqli=/www/mysql/bin/mysql_config --enable-mysqlnd --with-pdo-mysql=/www/mysql --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --with-curl 嗅make make install亦閬隞乩鈭嚗 1嚗游nginx嚗臬私hp 餈軏d /www/php/etc/ 桀銝嚗瑁php-fpm.conf.default 銝歉hp-fpm.conf扯/www/php/sbin/php-fpm start 臬私hp嚗fpm 2嚗蝵峰hp.ini 撠摰鋆皞/www/software/php-5.6.14/php.ini-production 瑁郡hp摰鋆桀lib隞嗅允銝 3嚗憒閬摰鋆curl拙霂嚗銝Yconfigure撌脩撣虫嚗嚗餈唳ext/curl桀銝嚗靽霂菔銝撌脩摰鋆鈭curlcurl-devel,嗅嚗 a嚗/www/php/bin/phpize 隞乩嚗銝箔嫣噶臭誑餈銝芰桀/etc/profile嚗
, |" ~: _* s. a0 H3 p- [6 n V, ^5 `PATH=/www/php/bin:/www/mysql/bin: $PATH export PATH b,./configure --with-curl --with-php-config=/www/php/bin/php-config銋make make install嚗curl.so隡 /www/php/lib/php/extensions/no-debug-non-zts-20131226桀銝嚗嗅蝻颲php.ini曉送xtension_dirextension靽格孵喳胯 雿輻 yum 瘥頛嫣噶: 隞乩舫撠 centOS 6.x/x86_64: yum install php php-mysql php-fpm php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel 隞乩舫撠 centOS 5.x/i386: rpm -ivh http://mirror.yandex.ru/epel/5/i386/epel-release-5-4.noarch.rpm! w3 [" A& E% O$ v7 e. F
K7 x6 J6 C. l
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm% O6 W7 @* y. z
Create /etc/yum.repos.d/php-fpm.repo file and add:! x" B! m& P5 t5 N$ H2 V
- [nginx]
4 p2 C$ M2 H1 z% S8 z, r2 r2 y! A - name=nginx repo
" N0 z- D+ L$ E+ a Q; Q# z - baseurl=http://nginx.org/packages/centos/$releasever/$basearch/( |* s. P( m' A. ]4 [7 K! G- C
- gpgcheck=0/ R/ h- X3 _4 U! C
- enabled=1
銴鋆賭誨蝣
: |. ?# P# d: ]/ C, R* Vyum --enablerepo=remi,remi-test install php-fpm
! C: A. _: T( `, z* [. {+ w
# H) n6 a( s1 S0 o3 c. c- u( m
5 V6 \6 D0 T, }9 E. `2 d: N& v鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn
1 D9 o5 k5 Q8 ]* p, R/ k 嚗yum remove subversion //貉蝸雿祉svn; |9 p$ G: Q& Z
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn
* E' t! [- R, v" \6 @) V2 S: G 餈# svnserve --version撉霂臬血鋆乩亙停臬撱箔摨撟嗡web桀甇乓 1嚗mkdir -p /www/wwwsvn 甇斗隞嗅允撠望盎vn隞摨. svnadmin create /www/wwwsvn 撱箔摨嚗扯銝餈啣賭誘嚗臭誑圈Xconf, db,format,hooks, locks, README.txt蝑隞塚霂湔銝銝杵VN摨撌脩撱箇嚗ps嚗甇文臭誑餈svnserve -d -r /www/svndata 撱箇svn砍桀嚗嗅svnadmin究vndata桀銝啣遣隞摨嚗 2嚗蝵桃冽瑕撖 肓wwsvn銝餈軏onf隞嗅允嚗X銝銝芣隞塚authz passwd svnserve.conf閬蝻颲 嚗vim passwd //霈曄蔭冽瑕撖 [users]
) w. O3 B+ v! l& _9 I% ^# harry = harryssecret8 d$ E, i5 C5 v# S
# sally = sallyssecret
; I/ c2 d0 \/ F: S8 O. @wangning=wangning, x) C" q: d A6 V4 ]
yanzi=yanzi% O& f* j1 N! P" }1 y
#vim authz //霈曄蔭
7 u1 ^, k( ~8 _" P) q D[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none
. V" w. Z( d M: |' V" L3 [auth-access = write
, p3 i) [ H" u* X- A1 i/ ]7 H3 J### The password-db option controls the location of the password
# Z7 m' u# S9 w7 @### database file. Unless you specify a path starting with a /,+ j* }6 O/ F3 Q/ G6 u
### the file's location is relative to the directory containing; A. ]: G; e0 C, P( C2 I7 u- k
### this configuration file.! } @7 v1 ` T8 n! i
### If SASL is enabled (see below), this file will NOT be used.
/ P) x( l9 a7 R0 U% x### Uncomment the line below to use the default password file.
, B' k% h# C! H y: opassword-db = passwd* h3 @% @) e X B: U
### The authz-db option controls the location of the authorization
- L, g B" F2 S### rules for path-based access control. Unless you specify a path7 J6 ^* S5 g1 z& y8 C0 c
### starting with a /, the file's location is relative to the the
% u. L, M: X, y# M4 ?" o### directory containing this file. If you don't specify an! ~2 X v6 y' l( p' ]1 i( p
### authz-db, no path-based access control is done.
) o+ r; M$ s' a1 ^% W8 v### Uncomment the line below to use the default authorization file.! Y! Y6 X- f4 a a) p- z
authz-db = authz6 C- k% h* n3 _
### This option specifies the authentication realm of the repository.
& s9 H, L% f5 f; n### If two repositories have the same authentication realm, they should
, l2 x" Q+ I$ Z9 R/ @! a### have the same password database, and vice versa. The default realm, e1 G$ ?$ Y+ h9 k
### is repository's uuid.
) p, e7 f- S/ k7 ]+ R# ?realm = My First Repository
+ _3 J% N1 \" E: O% A( o) p 瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn/ I. a9 U2 F; J7 S6 t( Y; D
#killall svnserve //甇
& c1 [/ D0 l/ T6 n/ H' l 敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx
; K( A; Q+ V7 S$ u! q# h 4,蝵峰ost嚗commit 蝏餈銝餈圈蝵桀嚗svn隞摨啣/www/wwwsvn, 雿眨eb寧桀/www/web,銝方銝臭銝芰桀嚗瘜svn push銝亙停唬具 a嚗擐究erver蝏蝡舫嚗嚗svn co svn://192.1.15.222 /www/web 霈啣撠/www/web桀靽格嫣蛹www:www chown -R www:www /www/web
1 _* q( M/ G! \* V7 F5 t b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐
/ n& s6 ]* S. v/ k! V$ O9 b% K: Iexport LANG=zh_CN.UTF-8 svn up --username yanzi --password yanzi /www/web/ chown -R www:www /www/web/ 嗅撠曹ok鈭嚗典┬vn commitweb桀銋撖孵隞嗅改 ps:1嚗svn upY摮撖臭霈曄svn冽瑯 2嚗銝├p撠望真pdate嚗git亦閫嚗撠望舀銝芯摨A嚗嗅啣遣鈭銝朋餉頦服嚗瘥甈,鈭斤嗅嚗霈咕銋pull銝銝餈乓究vn真pdate 3 , 鋆摰nginx php-fpm 撠 SElinux 摰冽輻,血蝬脤箇 "Access denied" :
4 F% P$ A& j, u9 {% X, R#system-config-securitylevel 豢DISABLE敺OK嚗敹璈 ; P0 A5 |+ @! w) l6 j1 R, P
瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急 vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled 3 b2 ?0 H/ W7 V* [; B/ E
vi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿
3 H! N2 W0 K% n7 J; }4 O |