: http://blog.csdn.net/yanzi1225627/article/details/49123659# i( C9 [3 L( i7 K- A% f
9 B/ ?2 y3 {; T% ~" c
格嚗剖遣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. I7 ^* o! q+ {9 n) t0 ]" A) 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) M/ ?+ l" l& H/ |
嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www; a* k3 ~) R& z# ^' S( C: S
/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx0 G, @/ t' o! b% M
: B3 [# h# G( V, Vchkconfig --add nginx
; b; l, Q7 E, Y# }' o, W1 [) M% W( l4 s- L: n( \2 L
chkconfig nginx on" C7 z4 k6 j2 g' v, G: i& N
嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash
' B, T7 E1 ~$ `+ h% V/ R) e8 T, b# nginx Startup script for the Nginx HTTP Server3 f$ o& C: v3 ?
# it is v.0.0.2 version.
4 {5 T% }5 b! c8 o& m" O8 b# chkconfig: - 85 15. E5 ]+ }) A: ^0 ~) n
# description: Nginx is a high-performance web and proxy server.' k# M4 Y4 ~. G6 j- k& z
# It has a lot of features, but it's not for everyone.
+ T1 H# u" X _) `3 C9 _3 [# processname: nginx% C- o; Z' n, n" ~- I1 T
# pidfile: /var/run/nginx.pid
. `2 E4 J+ |! u! c3 d2 S1 t, n# config: /usr/local/nginx/conf/nginx.conf
5 K8 w, D/ {$ O3 @3 x( F. n2 X* l! }nginxd=/www/nginx/sbin/nginx& i- n$ i; O+ j
nginx_config=/www/nginx/conf/nginx.conf% P# @* s5 ]; r
nginx_pid=/www/nginx/logs/nginx.pid* r6 e1 r* ?1 X: [3 t% R7 L- i
RETVAL=0 J8 i4 L; g6 L
prog="nginx"
8 v1 k* \( W1 f5 `6 k G4 C" G2 Q# Source function library.
" k/ U9 v1 Y8 R# H1 Z, Q. /etc/rc.d/init.d/functions! e' o' e$ t* o) r1 M8 o" R# o- l
# Source networking configuration.
@* S& P3 N4 O2 ~5 a7 c) B3 S. /etc/sysconfig/network
+ } f& I8 e+ `- v# m: \! i9 g6 A# Check that networking is up.
- ~1 K( Q* W. A7 e4 R- x[ ${NETWORKING} = "no" ] && exit 0
0 O( @$ d% B' o7 R/ ]# {5 T& t$ q[ -x $nginxd ] || exit 0
, l) Q- w; O5 H" E" E4 O) J# Start nginx daemons functions.
* [, |8 Z8 x+ k4 l9 l! i' C- Gstart() {
2 I8 }: `2 I, P) r; p' s8 Z* Iif [ -e $nginx_pid ];then2 l! L5 ]/ K7 n) w* q
echo "nginx already running....". {4 I$ }6 I- w; F
exit 1
: Y" ~2 u f9 {* ^2 E. H3 Lfi% V& G+ q) d c# h0 g& N3 F
echo -n $"Starting $prog: "
8 z! P6 Z; f o9 T3 z5 Zdaemon $nginxd -c ${nginx_config}
$ E( X% @8 i7 s% ]& Q2 `3 W! TRETVAL=$?' T( { B7 I( L w5 K
echo
4 o1 T/ y; T# {* G9 ]; h, t- S[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
8 f/ ^4 U% P6 C3 S. f) }2 @return $RETVAL
6 f+ _$ a) t9 i3 r: T: L}4 j- G; ]6 u9 u9 s& ?
# Stop nginx daemons functions.* V2 x3 W4 @- A* A- j+ X
stop() {! \9 A- I* P& U8 A) A9 U, b' Y
echo -n $"Stopping $prog: "8 X2 R) z& s1 h* q3 J8 @
killproc $nginxd6 I1 f$ E; b( D: `: t& b
RETVAL=$?
, ?' c5 |- u1 T7 Aecho1 W3 \1 U+ R) E! |3 g: v* s
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid0 a2 T/ g+ _: t7 E( t
}
, }. M" A9 T! preload() {
/ Q6 L6 L7 s3 w; t H; N Z3 oecho -n $"Reloading $prog: "
$ Z' p+ D; M Z#kill -HUP `cat ${nginx_pid}`
- f+ q& u- }8 b i5 l) {8 A) Qkillproc $nginxd -HUP- s) Y6 F! W% `0 i1 o e5 p/ J
RETVAL=$?# x, s' G: l2 u& y
echo* M+ D+ d+ X% F% B0 t/ N, \
}" a* [0 S9 E# n' ?3 S
# See how we were called./ `# N) L* z, L% f: _
case "$1" in6 Y1 h% A, D( T# Z* {
start)
9 J7 F3 `/ \& @. b3 v$ ?: g5 z7 astart
/ m( h E; {8 { e;;( i7 A+ F i5 r) b' l
stop)
1 N. J6 x! b* |! istop/ e8 g5 J! f- |0 r% U
;;
% ?+ V2 P; ]6 X6 c& l2 f n8 W1 G, Zreload)
! ?; c( i9 j$ @/ I6 d: K& Breload
- y& j% J6 U1 A- f0 T, x;;
- R' m2 ^% e- Crestart)
9 N0 X% I3 v9 k4 ]" vstop2 d: D5 N; M( ?9 q$ [
start8 u( e, P3 ~8 W6 f
;;
& R% j( T7 H" J+ S* Z/ C! _status)
. ]; j: g+ }8 D+ u Bstatus $prog9 P& J/ B5 ^/ a& M
RETVAL=$?% F" m# r* \: F( J8 A" X- f
;;' t" Y) ~/ W8 u
*)
1 J, I3 F: N# D( k2 B0 L! Pecho $"Usage: $prog {start|stop|restart|reload|status|help}"3 s- t" g; n% b7 s$ h- r' Y
exit 14 b& l: t) U f2 u6 u
esac
4 g+ W9 [6 M# e( p/ Z. aexit $RETVAL6 C7 ~, M7 o v) ?( T. e
0 a/ V4 Q1 o% S+ n4 v$ ]8 ?
瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬 ) I. g( ?2 l1 z, W+ v4 Y; n
chmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗6 N3 q( ^; J A/ z
1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠
' d' N' Q! C2 o2 w$ l5 y location / {
0 q& B! a; j' o* O% r9 v& g root html;
: @$ z+ u; `/ j# ~( _ index index.php index.html index.htm;" _0 T% G: q8 v- ~9 k x
}% E& R# A7 y6 F2 z
靽格嫣蛹嚗
: f, F% v1 j& ~- S$ \7 u
% X9 A6 r- W* G location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠 / O# S1 d) y% y
location ~ \.php$ {
; [: @3 C# y3 g4 _( f; J6 h) U root html;6 B+ w. f; i# |/ D' r/ F) c% |$ B3 m
fastcgi_pass 127.0.0.1:9000;) y" L4 v0 ?- i
fastcgi_index index.php;
$ P6 b: _/ q/ N0 v# N E fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
1 c' n, X1 Y' ~: V8 J include fastcgi_params;+ T% @; U8 q! L0 P6 E' n" ?
}$ O+ a+ V" ?( q3 f8 w% H
靽格嫣蛹嚗
) e; c0 R: l- R3 C: Y8 l" Z/ `$ i
0 o" C5 f% c) x- W% x( u 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閫蝻拙僎餈唳桀嚗扯嚗 " Q I$ X- Z; A, a8 D% G. k
#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql
) p1 `; z7 i* H& h0 ?- G/ T, @* J5 l* Y8 `1 Q
#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏" I7 V& O0 J3 k5 E; [
扯 cat /etc/passwd 亦冽瑕銵
2 Z. o; k' E" G1 u. q pcat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀
' W E% d, h7 e! l/ ?1 U 3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql0 n$ N4 A8 A. a
4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql. `6 ^" p% g& O
chkconfig mysql on
; y/ ` t3 Q* M$ `service mysql start --臬決ySQL
# J5 x3 P( ~6 J0 _# t& O2 V 5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH
, w f, Q+ ~1 Z9 xexport PATH
) f- r/ j' j3 S! p% r6 D 靽摮source /etc/profile 扯嚗
% r m' `: v" dmysql -uroot mysql> SET PASSWORD = PASSWORD('root');
6 B5 M- ?- R( r+ W3 m9 Z s& A. s+ s$ T) s, _8 [7 f
霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗 ( p- |8 [7 J9 b. `0 ?$ H
mysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗 . i' l2 u& h, E
#./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嚗
2 q7 O" [* t6 x# n( ~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
' w, u( a% r* ^9 q, r1 h2 w. t! i
/ l* h7 i; G9 p' R! a. N1 ~5 j2 rrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
4 B. I/ @; O MCreate /etc/yum.repos.d/php-fpm.repo file and add:% T+ T' n6 n M5 a1 \' z* ?
- [nginx]4 o/ t4 t4 C6 e- u
- name=nginx repo
% ^ m" A8 M; F4 e& n' u/ m* ` - baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
% N" B( R0 ~$ d6 @ - gpgcheck=0
6 N7 t2 d, L# e - enabled=1
銴鋆賭誨蝣
0 n/ O3 c: F6 y( _; }yum --enablerepo=remi,remi-test install php-fpm
$ h) j' {; e: T3 {# D& X) n6 Z9 h" d( ~1 Q
" y5 F# k8 j' `3 I: o- P. b9 ]
鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn- t$ _0 r. h; g- q# d3 J6 Z4 b& u
嚗yum remove subversion //貉蝸雿祉svn
3 T# a; ]5 Y1 U* H% S5 [ # yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn2 {0 M3 `' _" r5 D9 l2 Y+ 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]
1 j' }" ~5 l0 W- h# harry = harryssecret
6 b n3 S6 J) G- S# sally = sallyssecret( h( \5 B- `, C; h* Q0 A
wangning=wangning- D2 s. \- B' ` v7 B) I& P9 t
yanzi=yanzi; D; C- r% Z7 A- P5 p% T; R
#vim authz //霈曄蔭 9 w: v6 _( y- C
[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none
: F% Q$ N% R7 q, Z: Rauth-access = write: _/ p F! W# l; ^5 J" y! n- `
### The password-db option controls the location of the password$ V- z1 u% f: u# f7 k9 O: ] W7 V6 J
### database file. Unless you specify a path starting with a /,
5 ^* b+ i1 f0 V4 m7 @, J### the file's location is relative to the directory containing
) e) T6 p K* e( o2 M' M### this configuration file.
0 P' g( q" S7 ?1 D6 O0 U; s9 l- i### If SASL is enabled (see below), this file will NOT be used.8 W, ^& V4 P- d7 k& r9 K
### Uncomment the line below to use the default password file./ W+ W% g' o, ] {0 U+ w
password-db = passwd
! | A2 J( b8 X0 J### The authz-db option controls the location of the authorization
7 G+ ?6 W( M, ]& V8 t5 A m### rules for path-based access control. Unless you specify a path
7 J; P; T( D+ ^' ^; G### starting with a /, the file's location is relative to the the
2 C+ {# Y1 o( b# b5 W! X+ q v9 C2 j### directory containing this file. If you don't specify an# z; ?1 ?1 M- i
### authz-db, no path-based access control is done.
" R9 B' U- g4 I+ H* j### Uncomment the line below to use the default authorization file.7 J. g6 p( z+ b. S6 c
authz-db = authz' {' m1 \) Q5 C. C: s# J
### This option specifies the authentication realm of the repository.
( b( g" ? J0 ~, D& j### If two repositories have the same authentication realm, they should
. o5 h/ p# [) Q### have the same password database, and vice versa. The default realm
% ~/ F( v" O6 Z: A: q' T0 J5 \+ K### is repository's uuid.& _+ m- B- ?8 d0 a. j1 B. w
realm = My First Repository/ }4 w* E1 g7 w/ x
瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn1 ^, @- D% N/ T2 ?
#killall svnserve //甇
# F8 l% |. Q! u4 d3 t 敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx
, q5 r( i5 \) g; q 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+ ~' n- d$ A6 D: j' F
b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐
& ^- T$ P# P8 o. z3 g3 g0 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" :; |: o* v* l# T$ T% v+ B4 h
#system-config-securitylevel 豢DISABLE敺OK嚗敹璈 " s, ] h* s2 Q* M
瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急 vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled
2 F* _, e2 c, z$ uvi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿
2 Q7 v/ M. F+ h6 d' I |