: http://blog.csdn.net/yanzi1225627/article/details/49123659
, @ y# m% V8 x' f% n2 _5 x8 j3 z2 w4 ~' e( _- [" n
格嚗剖遣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, q5 L- `* j* ~% W, J' r$ l" z
湔亙敺摰鋆靘韏摰鋆摰 嗅銝頧緯ginx 嚗mysql嚗 php皞隞嚗 舐 google search engine 撠啁 撠餈銝隞緣ar.gz隞園餈scp賭誘撘唳∪其/www/software桀銝 鈭嚗摰鋆nginx閫蝻拇隞塚嗅餈迸ginx-1.8.0嚗颲亙賭誘嚗 ./configure --user=www --group=www --prefix=/www/nginx
, `, u! H5 E0 C3 B3 L5 T' [9 L 嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www
& v* ]+ m8 K4 ~2 I5 R/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx7 R8 [# }& {# h3 _( i8 H% K
7 k% t. @) b( Y/ A$ X6 Qchkconfig --add nginx$ L' C' P' g0 x. s7 }8 Y
+ I+ v2 B; J: d1 L
chkconfig nginx on* G; ?, O6 N( K: s! g
嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash
( \2 y- p* }# V& l$ [5 }5 w& _8 e3 N' J# nginx Startup script for the Nginx HTTP Server2 d& ^' ^5 `9 U0 _
# it is v.0.0.2 version.
( s5 X; K, M( ~4 u# chkconfig: - 85 15 S/ f; @/ r7 h" s
# description: Nginx is a high-performance web and proxy server.0 g4 F8 p1 }& p4 M) [: N
# It has a lot of features, but it's not for everyone.- N" V0 n3 y% g1 K5 ~
# processname: nginx' P% X% G$ j! G# ^( c/ o
# pidfile: /var/run/nginx.pid0 F7 \+ ]. Q1 I
# config: /usr/local/nginx/conf/nginx.conf
( W9 M+ _5 O) nnginxd=/www/nginx/sbin/nginx
0 o! v8 i- ~" K: n0 h5 xnginx_config=/www/nginx/conf/nginx.conf
+ N7 D# {7 O5 n7 wnginx_pid=/www/nginx/logs/nginx.pid2 n2 V2 {9 E& e8 q3 x3 j2 \5 R
RETVAL=0
$ t4 n& U1 M; Z- Q, b6 t% C4 ~prog="nginx"
$ \' l6 [! j5 Q- P, `$ K6 W) W# Source function library.
7 c+ e. a0 N8 J2 J+ s" v. /etc/rc.d/init.d/functions
% q3 `/ ^( ~( e& j3 F* W& J" O. z# Source networking configuration.* y; b; h6 ]4 W2 t
. /etc/sysconfig/network' D; y4 e! g- K$ D! k9 d7 q; o
# Check that networking is up.
: v3 F. x0 o+ E8 z- s1 f' M[ ${NETWORKING} = "no" ] && exit 0+ O/ {* J) p; ]& O
[ -x $nginxd ] || exit 0' p2 ]/ I2 z1 {; X9 s/ N% H2 x% U
# Start nginx daemons functions.
# T" B) Y( o& e. Tstart() {
% U0 C9 B* F6 E- lif [ -e $nginx_pid ];then
1 w& Z9 U+ ^8 j3 j; U) w: D. l$ Wecho "nginx already running...."
+ J) C9 r0 G8 F$ |5 Sexit 1
( v! O- m. ?& Yfi
5 i+ o# @( Y f o# _echo -n $"Starting $prog: ", _0 I; X% P. D$ L# s7 F
daemon $nginxd -c ${nginx_config}
( {% y0 w( d' c' ?$ X4 sRETVAL=$?5 E+ L0 v$ I; E/ i4 E2 y' _4 P
echo
2 u2 K/ [5 W( _, M[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
1 G! C5 b9 r6 g' @+ y; @" kreturn $RETVAL" e* T1 ~9 y, n
}* r. a* d3 e& g0 V) ?
# Stop nginx daemons functions.4 M* C3 P/ D' G, J
stop() {
# X& F) ?9 R9 g' Y$ `! S W+ r: `$ W% Uecho -n $"Stopping $prog: ", e; ^& E8 q2 \! h
killproc $nginxd
! J& B9 Y: S* g3 g9 h" ^! z2 ?3 c, y, e" `RETVAL=$?
6 N4 k6 d! M0 m+ T" }echo
7 ]# O. e& n# c$ R- G, a1 a[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid8 A; _% ~/ O/ {
}
% U+ K$ ]0 i7 I2 ^reload() {5 @8 ?! g" P0 S: u# O$ N
echo -n $"Reloading $prog: "* _/ Z9 Z, o- s$ Z
#kill -HUP `cat ${nginx_pid}`6 }, g: U h' }; I2 r
killproc $nginxd -HUP
5 b9 _" e1 ^. nRETVAL=$?
3 _, I0 e8 v* H6 |+ a4 zecho
2 ?- l& I0 W7 [% ^# o% d6 }, O}
) k5 c; e$ D1 C/ e# y' R# P# See how we were called.
4 w1 }3 ?) p; Jcase "$1" in
+ V2 ?, h& ~3 I4 y3 `3 H3 Pstart)7 W$ {* G, K# ?0 D( k4 u! U: y3 }
start
0 x: v5 m% e# X* P' a5 q;;
& X" u. x7 L/ i' G* o7 Wstop)
2 D" J, g( O7 Istop, {$ P# }3 Y5 ^: G
;;
4 W! k9 M% m8 j/ @" zreload)1 t, f; O9 Y: u
reload8 ^7 i. L y1 [2 c+ d
;;. E5 Y- `9 t8 w
restart)' Q1 e1 \# d! k) w0 C7 ]
stop W5 v0 y" S3 |8 d8 N% \
start
! k( Z, u0 P5 y% Z5 [# [8 E+ x;;/ L+ X L/ O' V. `
status)7 E4 z3 ^) R7 m$ f( U
status $prog
+ l' F+ b. `9 K! m0 d5 kRETVAL=$?9 k. g1 k) o/ o3 U
;;
+ O2 m% z# |/ M1 G+ {9 x, ~7 R& t5 U*)( m3 R$ {0 [2 \" {
echo $"Usage: $prog {start|stop|restart|reload|status|help}"# G* h/ P% B* I8 D
exit 1
2 d! b3 [( ^+ |. gesac5 V$ B/ U( Q7 n; P7 ?( q$ j
exit $RETVAL
: b. b) \. e9 e V( ^% v: A z0 J, V2 w. d
瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬
1 E* |2 _7 x0 r- x6 x/ {chmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗
1 d! G& w* [, z$ N0 q1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠 1 H$ c: r8 q, G7 c
location / {
- `2 Z8 Y7 ]! @, N9 P O2 c& u root html;' s: r7 e) K4 |
index index.php index.html index.htm;
+ t* ~+ }) @) T# Y }
' n) ?9 k1 u& R+ j靽格嫣蛹嚗! \& I( T* h& _
& ~' u6 l9 e8 ]7 y" x- M3 n; }& [9 ^ location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠 $ K7 `: W! d+ b: f3 m3 |0 @% ~1 ?
location ~ \.php$ {
2 V+ A# I$ ~/ A: Z/ ]' P) y1 a5 E root html;+ S% W- t. \5 N& H2 m! G, k
fastcgi_pass 127.0.0.1:9000;( l* m w/ r: I+ l5 n
fastcgi_index index.php;( x/ g1 H2 U; ^) u' u. u- n
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;4 o) R2 Y" [0 M
include fastcgi_params;) ?6 Q& x: F6 h# t! l
}
B1 G) K- M* |% a2 Z$ c9 `% u靽格嫣蛹嚗) s. i9 ]5 X3 t. Y! ]. X0 J
1 K# J4 c; U+ I" l7 D) Z! 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閫蝻拙僎餈唳桀嚗扯嚗
" J) [( m& X9 I, k n* L#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql
( h; C$ T0 D X) ~
8 ^) `9 V5 p( b2 ]3 E#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏
# O% I; h) M5 q( r+ o 扯 cat /etc/passwd 亦冽瑕銵
) N4 X- T* V# F( Vcat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀
9 U; q1 b" Z) m4 Q; t T 3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql
3 G; N. F/ p1 T( d8 I% f$ W 4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql. |9 l2 a* d$ g& }! i" ?( p
chkconfig mysql on1 R' H0 H d: c: n# f# x7 X
service mysql start --臬決ySQL
) I/ g/ r+ V9 _' z& l- @! n' z4 w+ L 5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH8 f2 ^( n7 l0 d3 }& S i+ K; p5 r3 E/ A
export PATH# W) v0 t S& [0 Q- C8 `4 a
靽摮source /etc/profile 扯嚗 + l2 |7 c/ b5 x6 h3 o7 {. v9 K
mysql -uroot mysql> SET PASSWORD = PASSWORD('root');" {* v1 X6 W# X
" B; U4 e. j0 e2 H+ b7 }$ Y
霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗 0 `( K4 Z) H( c+ v0 |0 q
mysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗
+ Q' B9 Q/ R% C9 J% [#./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嚗 - b2 E2 K9 c" c; U7 g
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: C8 H. L ]/ ~8 _9 C" P
. w/ E6 I3 b/ m; N {/ N) t$ N( n lrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
f0 x0 R' v5 K; L5 e' j1 KCreate /etc/yum.repos.d/php-fpm.repo file and add:( g4 w1 L. M' |, I
- [nginx]; t4 ]' A7 g! @) m: Z; T
- name=nginx repo, W, @" q# W' R$ w3 e$ L
- baseurl=http://nginx.org/packages/centos/$releasever/$basearch/' F9 n: g" g- s8 G5 W
- gpgcheck=0
( D" U, r" _, w9 Y# T5 T. i) H - enabled=1
銴鋆賭誨蝣 4 J1 f1 \* ]& V% q# { l7 d
yum --enablerepo=remi,remi-test install php-fpm# j( B8 ^# w( S Z/ O
$ K( @4 _8 q* K. J% l! I% w
! J" t3 E7 f; W6 P* A* r0 ^7 z6 h3 }鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn
% p7 @( s# g @4 p1 s# T/ y2 ^ 嚗yum remove subversion //貉蝸雿祉svn2 O) A) L9 o" G N$ J. z9 Y- d- T
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn
3 }& O. z( O) r& X s 餈# 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]
' ?: ~8 F2 p- l0 D! r e% u9 d3 V# harry = harryssecret
# l) B7 o( T& |4 R: W b# sally = sallyssecret' V/ u. v2 d: J. H- b4 G" d6 H
wangning=wangning
' d8 @2 l* Y5 ]: Wyanzi=yanzi( q$ P* T4 X! u- Q
#vim authz //霈曄蔭
. c( v+ ~8 R B" a( |+ u[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none
" r. i7 }- F/ [3 q# T: X9 _auth-access = write4 l1 J$ r9 Q4 d1 Q% C! T' o
### The password-db option controls the location of the password3 u4 n2 T, `/ H3 r D9 L
### database file. Unless you specify a path starting with a /,: \. f/ C; ^7 m4 c4 g
### the file's location is relative to the directory containing0 p( z9 G0 J( ~6 j) t
### this configuration file.
0 O/ x! W7 [* A' i. {: |### If SASL is enabled (see below), this file will NOT be used.
7 E+ ^# u Q0 l6 p; y7 d### Uncomment the line below to use the default password file.. Z% u8 ~! s% }6 W! C5 H
password-db = passwd9 I3 g# |% _9 l: u! W9 _9 E
### The authz-db option controls the location of the authorization
, d, M- B5 K# F+ D. o, {8 k# [ |' l### rules for path-based access control. Unless you specify a path( k; q- X* j2 W* Q- X. u
### starting with a /, the file's location is relative to the the
% x8 J& C; z2 v( K1 E& n### directory containing this file. If you don't specify an- U0 r8 k5 w7 H. f
### authz-db, no path-based access control is done.
' U+ R; O' C& T- y! `0 c R: l& ~( I### Uncomment the line below to use the default authorization file.
1 t3 c( k' O% a! {authz-db = authz
1 Z# O8 C' Q1 r6 T: r### This option specifies the authentication realm of the repository.5 E2 `2 {& m: N/ t) t8 y7 K% _! x9 N+ y
### If two repositories have the same authentication realm, they should- P% ]0 Z5 C/ P; V$ u* M
### have the same password database, and vice versa. The default realm
: q" z! [8 l2 F. t### is repository's uuid.* `( T0 _, `& ?2 N
realm = My First Repository
2 B% h; @3 Y* [5 I 瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn
7 d0 j, w8 H, [0 O; j7 g #killall svnserve //甇
& ~$ W/ m6 G2 _. I9 B 敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx7 W+ h0 L. X0 D$ i0 ?8 ^! F
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/web9 Y) s2 ^8 S. f a
b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐
& N# T' I! ^. P9 t/ jexport 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" :7 U F; Q+ |$ J; l
#system-config-securitylevel 豢DISABLE敺OK嚗敹璈 2 T, p8 c0 {& S4 U9 ?
瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急 vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled
& t& F5 ]1 s! ^1 ?, I. q0 ivi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿4 S# T4 |" E4 l. ]5 |
|