: http://blog.csdn.net/yanzi1225627/article/details/49123659) F* b8 H0 C, m& H/ _
2 @# a( Q N3 i( Z格嚗剖遣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 cmake6 }/ g( J/ v$ }3 k+ U) F! u
湔亙敺摰鋆靘韏摰鋆摰 嗅銝頧緯ginx 嚗mysql嚗 php皞隞嚗 舐 google search engine 撠啁 撠餈銝隞緣ar.gz隞園餈scp賭誘撘唳∪其/www/software桀銝 鈭嚗摰鋆nginx閫蝻拇隞塚嗅餈迸ginx-1.8.0嚗颲亙賭誘嚗 ./configure --user=www --group=www --prefix=/www/nginx
9 R6 \& Z2 e; X$ i% `8 b6 _( O7 \9 S 嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www& V/ o& ~5 o9 q1 e- C% b
/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx
/ o' g5 F8 Y; j& y+ q
9 o0 ?- r& T9 J- ~chkconfig --add nginx' F# |. ]# @" ^6 @! v3 ?
2 A' _' q8 L4 o7 L6 F* I! g
chkconfig nginx on
6 N0 A4 B0 F% n9 O 嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash! R+ }. G8 @$ G( @: D7 g, V; R
# nginx Startup script for the Nginx HTTP Server
$ H: a; q# z% M! g# it is v.0.0.2 version.; g5 [4 {+ ^) \& y7 o( `2 S) s
# chkconfig: - 85 15
( E; `+ N. V3 Z0 O# description: Nginx is a high-performance web and proxy server./ G$ H9 v" X1 v
# It has a lot of features, but it's not for everyone.9 x& L1 j& C( F
# processname: nginx
9 w1 y$ K/ V: x% b% X# pidfile: /var/run/nginx.pid
* k" r) Z# P. x# config: /usr/local/nginx/conf/nginx.conf, ^% r% m( g& l) ~
nginxd=/www/nginx/sbin/nginx9 N4 k4 \% K+ ]
nginx_config=/www/nginx/conf/nginx.conf
L! T, t7 [. J) z; H( Cnginx_pid=/www/nginx/logs/nginx.pid( N' E( H) _4 |( }) N: l
RETVAL=0
. y+ \7 b5 Y9 x* [8 T f0 Fprog="nginx"+ P3 }5 _; r8 \ }
# Source function library.
% e8 O# d6 p. i. F. /etc/rc.d/init.d/functions
3 D4 b$ H! r1 U/ x8 I& L# Source networking configuration.! a* `; y5 m% h( K* m Q+ _
. /etc/sysconfig/network
8 \+ L2 ^, G! D0 I1 W& j) ]/ G* U# Check that networking is up.
2 H/ `0 n% P; T[ ${NETWORKING} = "no" ] && exit 0
8 C3 |$ O5 c8 L( Z/ u7 C[ -x $nginxd ] || exit 08 _' a8 k, ]1 f; v
# Start nginx daemons functions.
9 D: I, @, Z. J3 h zstart() {0 p8 }3 x6 `* `7 r. i9 e4 i. W3 r% o2 k+ A
if [ -e $nginx_pid ];then
6 e5 G2 n" H! s; V$ I8 T1 n+ y+ |4 J3 Yecho "nginx already running...."
: `# q1 h) L( T& w% v& Dexit 1
9 u3 ?1 j1 D2 b2 @6 Gfi) l3 H. k8 l2 i5 o9 ~0 g
echo -n $"Starting $prog: "
: B/ A& S, P7 @! pdaemon $nginxd -c ${nginx_config}
+ M* v4 d) Z) s PRETVAL=$?
+ y* R0 y$ Y; T% J, v7 w" Secho* j* `/ E3 r: x& {5 a
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
+ {2 s0 Q! e' [ J; M! n2 [8 Dreturn $RETVAL
' @! B0 m/ T1 \" U) D}
% t% U. V% M$ l3 P- R# Stop nginx daemons functions.8 Y( U' K) H* f" K( B9 h
stop() {
! G4 m$ Y. g0 \7 T6 mecho -n $"Stopping $prog: "; R0 D1 R# g0 h, f. y. C0 R1 d
killproc $nginxd/ U& ^# e) ^( E& B- y# R7 G
RETVAL=$?
% {" f/ o: Y1 L; ^* p, X4 B) wecho/ |6 u1 A! I" f( \
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid0 h* f' u7 ~ T/ @# S
}
) D8 M! _$ N4 K4 [6 A- K0 hreload() {- S/ l5 u p! ]5 w
echo -n $"Reloading $prog: " |6 m# Y( r+ O
#kill -HUP `cat ${nginx_pid}`: f# z# i: ?( L: ~' Z+ R
killproc $nginxd -HUP: U, r6 c. j4 ]& s+ T7 W4 P! `5 `6 n
RETVAL=$?
% i4 b- e. x: f Aecho5 D! J" o+ D- j4 i6 I U1 x' N
}
$ J( F" a& y( r" b5 T0 i/ B# See how we were called.
. g, ?+ i" w, A8 q! rcase "$1" in5 f! a3 F0 O" V& S
start)
4 R7 V% A' R# v. F9 I& r# ]start. Q8 Y# N( s2 U) J
;;2 z7 v& F6 r7 F; v% j6 n! B
stop)3 a% F. r6 J2 E0 j( t
stop
' }& R$ e' \. ^ ^& |/ D;;1 ] I! R+ }# x% k9 N* ]9 l
reload)6 Q# G; [/ ~% m# L% p+ B2 k, f# z" N
reload
2 x% J8 T4 e# c% B% h( A1 x;;. T$ ]. m5 Z: `( d) m$ ^
restart)3 ?8 M1 k4 T) Q2 [+ i/ {
stop
# b( ^0 J3 X9 X- z9 ^+ X4 d9 [# J; Bstart
0 O; j4 ?- s/ A$ Q' f. T;;
$ _; k1 t" U" ^2 qstatus)3 d+ G. Y: G. y) |+ P5 G5 P
status $prog2 }+ r& u8 N+ E8 q3 i H
RETVAL=$?
' k! |: i& E: i8 n2 c;;
% j# \1 A1 r$ Q*)
( K, _$ o2 o) I% x8 F3 U: f! ~echo $"Usage: $prog {start|stop|restart|reload|status|help}"1 Y5 ?8 F: v8 L6 B- _5 L+ J, C
exit 1
1 i8 \( t. I# M# y3 Uesac
8 T* y' y- T) R: v g- cexit $RETVAL
: B( } |2 h( q9 ^% x. d. w4 F: W1 U
瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬 % N8 r1 [* Q- E: F2 t) g5 _
chmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗
) k( e0 y1 t3 y6 z4 T: ?1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠 ) V T1 `; B: K
location / {
/ n; E* y J& k1 l& r3 L. R3 O: F root html;$ w3 U5 t8 p1 }( ]1 ^
index index.php index.html index.htm;) w6 @/ X) N* f ^
}
' |8 @+ q ?" Y0 t靽格嫣蛹嚗" H4 @1 k* ]2 L8 \8 B' }; L1 z
; K7 j% `4 Q v, L1 x0 C5 w1 q$ M
location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠 : f6 y5 |& S V3 K: J
location ~ \.php$ {
d/ F4 J0 c# n S' p2 Z root html;
5 [8 r$ j: d$ \ x" m% T fastcgi_pass 127.0.0.1:9000;
& w. O0 g' E# I fastcgi_index index.php;
# g( Q% k6 ?1 F; B. w: v) @$ h! c fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;% W5 g! W+ u7 A5 B! j
include fastcgi_params;
$ X9 @( i# P7 W9 v) s }( m" a! r3 `( q3 ]
靽格嫣蛹嚗; Z/ |! w+ H; X
4 K" y* a: i0 t5 w 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閫蝻拙僎餈唳桀嚗扯嚗
& _$ V1 M3 I/ T+ o" l#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql1 N" c! U9 C) w" D1 t0 y( k: Q
# e3 T4 e. z8 _' P#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏/ U$ l1 F& f1 K3 Q. M( i# q
扯 cat /etc/passwd 亦冽瑕銵6 B6 J' t: [" O2 f& `, \. _! i1 n
cat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀
/ {( S7 T* N1 |' l* M% e9 n! E 3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql1 m0 b. Z( C" Q/ q
4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql
1 o, m, ~2 t. Rchkconfig mysql on @5 y3 O. ]% }9 a- r4 _$ J
service mysql start --臬決ySQL0 k+ e' ?% [/ N5 Z
5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH/ w) Z+ A+ _8 E. Y' J/ E+ S; G
export PATH* t0 T, t* o) T9 d; h4 q4 @
靽摮source /etc/profile 扯嚗 3 G: f0 G- {2 |) r5 T% N: ?' }
mysql -uroot mysql> SET PASSWORD = PASSWORD('root');
' r" c( }* }- L& R: i) F' f+ f4 S: w; w Z. L! U% g8 g5 G# y3 h0 ?0 O
霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗
' y% B6 E( s- b9 e& c. v. rmysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗
* n( o0 Q, x. w5 q+ n#./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嚗 5 g# n8 s0 g) O; r/ F* Z3 i
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
# a" }9 G' X: M$ ^( ?. R: h$ t/ o+ B+ h5 i1 F% g
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
, O& C3 V8 W: w+ mCreate /etc/yum.repos.d/php-fpm.repo file and add:
9 \, A7 {6 C, E4 U& N- [nginx]
2 p0 k) b! s6 d, D - name=nginx repo
+ H* o% T, M8 r! ? - baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
" p( i. ]# F! l6 ^) [1 W - gpgcheck=0/ b2 e0 l( j. f8 K9 ]
- enabled=1
銴鋆賭誨蝣
1 t( m+ A0 M7 ]1 Byum --enablerepo=remi,remi-test install php-fpm
+ S0 R$ `! ~6 _" b8 ?1 {8 T: k/ V1 g& w3 K
( N& h% f0 Z# o" g
鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn. @# k# h: M, D: e1 X3 g, `# h
嚗yum remove subversion //貉蝸雿祉svn) [# b! G N9 u% M7 u
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn
" n: T$ Z: B2 L 餈# 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]5 ?( J% G0 z/ ]
# harry = harryssecret
) l9 D/ q5 W m4 |. x# sally = sallyssecret
2 I5 `, q- S2 C: q( e. K9 p( Qwangning=wangning2 [! N; _" D/ A; @
yanzi=yanzi
! m9 R# t& ?4 S3 i( P9 Z #vim authz //霈曄蔭 ( z1 `; G2 k% t7 I5 Z3 ]2 z1 H
[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none% @) e( I+ n# U5 p* K8 O
auth-access = write
( K5 W* c$ c- i' z+ h# A o### The password-db option controls the location of the password
, Z |& d* {+ `* |% A1 K### database file. Unless you specify a path starting with a /,
: s V& F& U: n S& i/ h### the file's location is relative to the directory containing2 r* n- k3 A: a, ]8 b2 t4 h& h2 y
### this configuration file.% H0 A& N# M/ @, m4 c2 `' `1 B
### If SASL is enabled (see below), this file will NOT be used.
/ z1 B. l5 [8 t& i3 ~* V### Uncomment the line below to use the default password file.) o% g* Z3 _ R: c$ R0 b5 f
password-db = passwd
4 p+ T& h6 k- G# X' b3 T4 M/ G### The authz-db option controls the location of the authorization
8 _7 e1 {0 `4 B7 A4 |### rules for path-based access control. Unless you specify a path( l( e- c8 G. o/ h, k
### starting with a /, the file's location is relative to the the* q9 Y, W. d" f9 E( ^3 [! v9 z
### directory containing this file. If you don't specify an
& [6 }7 Q3 P d; P### authz-db, no path-based access control is done.
' F x" V" c8 D% j& d( d# r4 v### Uncomment the line below to use the default authorization file.
- V! r' U8 Z, x( O4 j2 gauthz-db = authz- ]. G# V. {3 w
### This option specifies the authentication realm of the repository., j& \% {, M. X! Y, }, L1 T L
### If two repositories have the same authentication realm, they should9 }% [9 ~: g2 g! _& f+ K; b
### have the same password database, and vice versa. The default realm! J- ^; w7 W9 a7 V: I/ L
### is repository's uuid.2 J7 X- _( x5 h. @% F8 T
realm = My First Repository
, s3 h6 x; J% ~/ l, A6 q 瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn
, {3 \% g$ c7 u% W' Z/ ^% k/ \* _ H #killall svnserve //甇/ ^% e. q3 o6 V/ j
敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx
2 z q1 s. R% N6 d) o2 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* Z$ Z& N2 n# x( T# R% R' C! C; m
b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐 . I0 l- S9 T8 L5 v. b( ~8 r. t" ^8 r0 _
export 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" :* m$ l" Q0 u/ } T' w- O J- o
#system-config-securitylevel 豢DISABLE敺OK嚗敹璈
! \" v/ s4 B* A3 N; v# A8 K5 k瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急
vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled
" i1 ^; T2 A D3 R2 nvi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿
& @7 N9 S# P- ?- ^ |