: http://blog.csdn.net/yanzi1225627/article/details/49123659
& v- H7 L' A. E/ w! m1 G
- n3 p5 C, `2 j& a! J) X# }格嚗剖遣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
3 E5 t2 C$ c `7 i( q3 K+ T( A 湔亙敺摰鋆靘韏摰鋆摰 嗅銝頧緯ginx 嚗mysql嚗 php皞隞嚗 舐 google search engine 撠啁 撠餈銝隞緣ar.gz隞園餈scp賭誘撘唳∪其/www/software桀銝 鈭嚗摰鋆nginx閫蝻拇隞塚嗅餈迸ginx-1.8.0嚗颲亙賭誘嚗 ./configure --user=www --group=www --prefix=/www/nginx% m3 V f1 [: m* T) [9 k* y7 l
嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www
% u2 m" q S$ o! o5 d9 i/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx
5 G+ S) w7 ~9 n g% W. U4 i6 H7 ^4 Z& ?9 {4 t, I! x
chkconfig --add nginx
1 k3 B g$ M+ _ Z- D n" p! G# b/ K
chkconfig nginx on
3 ?% Z9 i. i: D& N" Q 嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash
+ b" P, _, |9 I3 r+ p) W# nginx Startup script for the Nginx HTTP Server/ U+ k8 s2 }' k( B
# it is v.0.0.2 version.
9 {+ t$ n) u3 J }# chkconfig: - 85 152 I, L3 A9 z" C
# description: Nginx is a high-performance web and proxy server.1 c8 u) j" Z: d3 @
# It has a lot of features, but it's not for everyone.
( |3 ]4 S/ b! s: I6 T* w' i/ [# processname: nginx
7 y) Z, c5 R7 M7 C- Q+ T/ a2 p# pidfile: /var/run/nginx.pid
% R* r" P6 x& t, {# config: /usr/local/nginx/conf/nginx.conf
: S) K0 p$ A8 I+ T4 K& fnginxd=/www/nginx/sbin/nginx6 C% Y. I/ u4 ]+ p* H+ F
nginx_config=/www/nginx/conf/nginx.conf- D8 J- v* W0 m5 C _) j4 c
nginx_pid=/www/nginx/logs/nginx.pid6 B# d0 F) r$ y8 s, b* V' V: z0 ^1 ~
RETVAL=0 B/ t0 e8 c* K3 b. f+ L2 X X3 D
prog="nginx"
9 F. {" c( }' C# Source function library./ Z6 U2 ~6 K. W1 Z) s( t6 a1 b
. /etc/rc.d/init.d/functions
! _; `! E8 {$ j) n8 b ^# i: W# Source networking configuration.% D' A( F8 l U! g1 y
. /etc/sysconfig/network
5 `, z r% M+ a: n, `+ ^# Check that networking is up.! W4 C4 A4 [0 e3 C
[ ${NETWORKING} = "no" ] && exit 0
' U2 `) n/ s3 }) r. k$ ]- |* E2 v1 {[ -x $nginxd ] || exit 0
- Y2 q; O2 H) ^1 ?! D" X1 l# Start nginx daemons functions., m: a9 T5 j$ j" ~1 r; v- G0 r; ]/ @
start() {, c$ \' c5 \. q6 Q* {2 ?
if [ -e $nginx_pid ];then# M/ y. |0 F) S- b1 h
echo "nginx already running...."% W7 N7 {( s( B9 }9 T. F; n/ v
exit 1
! h" t# x* R. B% Y5 dfi
$ F' Y0 N/ i1 n$ b/ Q6 @echo -n $"Starting $prog: "1 b7 J* b8 V: g1 v0 d
daemon $nginxd -c ${nginx_config}
$ }6 H) d- e: \# \7 q; [/ uRETVAL=$?- {. ?' f: S- D) u; d" u9 D- c
echo
1 ^1 K3 U& ^$ U. S[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx6 v/ F4 D, f4 h2 I. p [# }
return $RETVAL6 g; k- R9 m5 ?1 f7 F, t
}* Y8 |% O+ s& C7 O
# Stop nginx daemons functions.6 ?: E1 S" M" g9 N
stop() {, o! v) y2 h# \1 Z3 y! } |- i
echo -n $"Stopping $prog: ": ~% `0 y( b% u' W
killproc $nginxd: }- L! A3 T6 t" F& \2 {
RETVAL=$?
& q ? s* u7 C' H& vecho
4 w( T% g% g% h! F6 R9 {[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid9 M7 d1 T( B. A0 I3 I7 d
}
3 K( C4 V7 M; f" g2 R, Sreload() {
4 N% b8 K4 G/ n: Hecho -n $"Reloading $prog: "$ j' p4 |5 H7 e8 z, ]
#kill -HUP `cat ${nginx_pid}`. D* _& W- \5 r, C2 `4 k4 S
killproc $nginxd -HUP- H( Z J3 a! P8 k3 p9 @
RETVAL=$?; A# |* K1 M/ z* g! N/ N* Z& [* p* L
echo
+ G" z1 A4 p; j, t, _6 b}8 N( U9 v7 ]5 D0 Q, Y1 y* R5 E
# See how we were called.
; N p% H2 c1 B/ b4 } Y) lcase "$1" in4 N A i" Q5 c9 m/ T
start)
# H# r5 Q! r/ L8 r _start
# y/ ?. Q3 G* `; }1 v;;5 ]* O/ H8 I# u2 w$ V; Z
stop)( m3 j) t L, w; ^" U
stop- L# E" g3 a6 y
;;
6 k( V: f5 _" S3 Kreload)! v4 `; l3 y4 T9 ` B% Q
reload9 J1 k- ?% Y2 C' Y# y
;;
: ?- f% ]" b7 x* }# Hrestart)
5 r9 u/ `2 ]7 x6 b1 [stop
: [* a: D: D; @- jstart+ D. D T. A7 |: T& `& @
;;
. J: t' P6 d% t3 j9 D1 S! vstatus)
0 G8 \3 @$ }. y) X5 Ustatus $prog
. \# w3 l- ]1 f" uRETVAL=$?
) F$ s9 w0 y4 L6 b$ l* a9 ?% };;2 ?9 F! v. S: |+ s$ U5 _' I6 t
*)
7 x: H4 v% u4 q+ m5 j- Techo $"Usage: $prog {start|stop|restart|reload|status|help}"
! W/ ]8 g' ~ @( sexit 1
) G, a! `- B+ n& ]* T: D& r) Fesac0 C# A$ Z0 Q1 H: }9 \
exit $RETVAL
. I9 T0 C4 z" W* l3 C- |( P9 j4 W4 ^. }3 ^0 Z
瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬 3 j$ u. Y. q4 h$ [
chmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗- Z$ S* |* m+ b2 D
1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠
8 d1 L8 s! f: s location / {
" B& o9 S8 C, s6 |' m/ V root html;- [0 t5 A [- j/ O/ S# a
index index.php index.html index.htm;
\5 ^- M- j( R2 ^6 x- H; { }% A7 b( t8 L; g8 M' b0 p4 b
靽格嫣蛹嚗
1 c) Q5 E1 x4 B; K K- s; k9 h- D# C, R8 k3 I
location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠
6 F* a* \2 `% l6 i6 Glocation ~ \.php$ {
" x* {& ^9 x, z* r3 B7 y2 r root html;+ M) |# l7 P( @7 j; |4 W
fastcgi_pass 127.0.0.1:9000;! P4 y# v# z% C5 J
fastcgi_index index.php;
2 s' k8 T0 y2 d fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
1 a1 w' I" s& ^! v6 U# ^, B include fastcgi_params;8 U+ k3 {" g3 D( l; N& W
}
, A1 p7 L: g5 ^+ \& n% @- q/ _% y靽格嫣蛹嚗) W& [. ?' t2 O* o+ j g
. B: f0 o: [ j' Z" u/ K
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閫蝻拙僎餈唳桀嚗扯嚗
2 }6 A3 F" V& s#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql
; D5 U6 R5 \# R) A5 h( K9 k3 d1 } Z) v' h
#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏
# S/ ~# l8 j+ U2 c5 \0 [ 扯 cat /etc/passwd 亦冽瑕銵
# R6 ?. y1 `9 _cat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀! n1 v- j7 E O
3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql
4 S+ g5 v. v) B! d 4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql1 j/ C$ x$ J* p' ]" Z
chkconfig mysql on
4 B0 \& r. {' U6 l: W) m7 i0 Z0 yservice mysql start --臬決ySQL
a; C1 ?# h5 n+ Y& C2 P* i 5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH1 v- I& l Q; \3 H, V7 s( H3 l
export PATH
9 V( u& n. _- f0 x1 s2 H 靽摮source /etc/profile 扯嚗 $ _( |' P; r* v( G
mysql -uroot mysql> SET PASSWORD = PASSWORD('root');
4 ~4 B7 I- _* O% N, O: ?/ `/ ?/ F2 e- ?2 i! ~1 c: c
霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗 ! Q9 z9 B0 l7 P1 z# e, o# |
mysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗 7 O! k; w @3 \- I/ z" c% c3 x) O- c8 K
#./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嚗 - G6 F2 A7 o6 [6 W# T% `6 r8 |
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.rpm9 Z& V; [( }5 B9 q7 {
+ n# b K: H" yrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
6 N9 W/ X0 H% g# r3 ]8 P5 I: Z5 V, wCreate /etc/yum.repos.d/php-fpm.repo file and add:/ [9 O( a# p; i9 w
- [nginx]# e6 d( n: J9 {& F6 T+ i/ F
- name=nginx repo9 P+ ?2 z3 K" q, D3 x* D* F
- baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
5 D# b& s9 M2 R% b - gpgcheck=0' W: c1 k+ w+ X: n+ j, A& K
- enabled=1
銴鋆賭誨蝣 + n6 g: A* R& M2 k" [0 ^
yum --enablerepo=remi,remi-test install php-fpm
7 i+ G% [! {3 e% S! U( {; ?2 T$ k6 n4 \' _" z' V# d6 s9 e
6 L5 M5 x$ f. O/ n( f鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn- A& s# x8 F' L! W/ k% k( F
嚗yum remove subversion //貉蝸雿祉svn
! n6 m U: @% E/ X+ q/ X # yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn6 t+ C/ r5 i; Q W
餈# 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]
1 t2 E4 p8 N: a! r F# harry = harryssecret3 Q& V. z4 r1 R: m# g
# sally = sallyssecret- V2 c. b" ?' @9 N# L% {
wangning=wangning
# s: l) W% N5 r! `1 C1 [' `3 ?! Xyanzi=yanzi" T+ f% ?; h- Q/ j" ?, W9 O
#vim authz //霈曄蔭
. e/ k2 s A; q[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none
: T1 l$ |( t( W9 |* |0 ^0 ?auth-access = write) } x5 H( Z+ d3 Z. n; E# I
### The password-db option controls the location of the password/ F8 r9 E4 Z# a: u4 a5 c" s
### database file. Unless you specify a path starting with a /,2 v7 P! \& j& _( q% W
### the file's location is relative to the directory containing
/ N( @* O9 O" \9 J7 y) b### this configuration file.3 c% k7 v0 X& u2 l9 L4 o7 u
### If SASL is enabled (see below), this file will NOT be used.7 g" K# z: [& h [
### Uncomment the line below to use the default password file.
' C' v+ b5 I6 H; ]) t9 t( Jpassword-db = passwd
5 e- e6 ]7 h; {8 s" l### The authz-db option controls the location of the authorization( Q1 z) X, p7 M! p( `" S0 e: g) O
### rules for path-based access control. Unless you specify a path
" \7 l" i4 r) l7 ], ~### starting with a /, the file's location is relative to the the
1 z6 b( E0 A( u; C, ] N' F- h& V### directory containing this file. If you don't specify an
6 G1 B& g6 f. a1 K, b6 x5 |0 |### authz-db, no path-based access control is done.
( e: `. r) \$ Y4 s### Uncomment the line below to use the default authorization file.
5 u: s( U5 Q0 @ `8 h- ^& Fauthz-db = authz
2 L" r0 i+ z- k### This option specifies the authentication realm of the repository./ s! P2 N8 {8 i# x
### If two repositories have the same authentication realm, they should
2 x7 C$ ?3 M7 j" c( A### have the same password database, and vice versa. The default realm* p. P4 _2 U/ F' D# [ r
### is repository's uuid.- y1 G0 ?) @0 l! Z3 w4 k
realm = My First Repository
5 g- x$ P- U) w/ q' x 瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn0 _6 O1 O! H3 C6 O
#killall svnserve //甇. L# u4 Y/ p* ]: {
敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx. \* X) q8 Y0 U8 Z' M4 g
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
& u4 l: f5 [7 O$ C0 l& Q b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐 7 u$ N8 l% X/ N
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" :
2 A: D% ?( K8 K( a( b4 I% g#system-config-securitylevel 豢DISABLE敺OK嚗敹璈
! Y9 W8 m8 I& l( Q5 |* c瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急
vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled 0 C9 K1 H w2 f+ y$ D
vi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿
5 J1 Q' k2 ^8 O% @: U a* y |