: http://blog.csdn.net/yanzi1225627/article/details/491236599 `5 x; Z$ a- C' X5 h2 l0 _
$ N/ [+ o$ u6 w3 {# \( _
格嚗剖遣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# A' a0 t- Y' U5 V$ B" Y
湔亙敺摰鋆靘韏摰鋆摰 嗅銝頧緯ginx 嚗mysql嚗 php皞隞嚗 舐 google search engine 撠啁 撠餈銝隞緣ar.gz隞園餈scp賭誘撘唳∪其/www/software桀銝 鈭嚗摰鋆nginx閫蝻拇隞塚嗅餈迸ginx-1.8.0嚗颲亙賭誘嚗 ./configure --user=www --group=www --prefix=/www/nginx
# O6 U. v5 H9 z5 g8 J5 C 嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www
, `% m1 ^, }- s' y: }; z1 N/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx
$ x+ k( B. |$ X5 J6 M" c
8 Q2 N% d2 E: J8 L' n" Y( Qchkconfig --add nginx4 ~# q1 O) y% V
7 P5 M. H- F2 y8 wchkconfig nginx on+ m* R# P: c4 S: F9 ?7 Z9 Q
嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash
# `* K+ Y. C. @! y7 P1 X/ o6 M! b# nginx Startup script for the Nginx HTTP Server& Z6 W% f8 W( C
# it is v.0.0.2 version.
6 \3 u$ l# Q# R# chkconfig: - 85 15
+ f V' A) o: b( m, s2 T# description: Nginx is a high-performance web and proxy server.8 c/ [! j8 q* R$ `
# It has a lot of features, but it's not for everyone.+ i" E& {- F$ ?
# processname: nginx. X- X6 J6 M! G& S$ d$ J
# pidfile: /var/run/nginx.pid
7 Q* \$ H# a2 r# V/ k! p# config: /usr/local/nginx/conf/nginx.conf( u! [' l7 n5 H+ _; {8 t2 h
nginxd=/www/nginx/sbin/nginx- ], ~3 V2 p: Y7 {4 d
nginx_config=/www/nginx/conf/nginx.conf
4 ?- i3 y7 q$ Enginx_pid=/www/nginx/logs/nginx.pid. M; e* N) Q$ J! f
RETVAL=0
) |3 }$ p! b) w) \0 aprog="nginx"8 J: L# H( U# V' ]/ R6 Q8 ?/ A4 v
# Source function library.
# f# J" C0 n6 l: r. /etc/rc.d/init.d/functions
4 g: o+ t, n- D0 X: Y8 B# Source networking configuration.
. o9 T$ H% y7 S5 B" E. /etc/sysconfig/network8 @7 Z6 j H. u2 J) l. ~
# Check that networking is up.+ q& s4 |; w: f) B
[ ${NETWORKING} = "no" ] && exit 0* O4 [/ U6 }6 f: |$ k6 L
[ -x $nginxd ] || exit 0
$ x4 ^4 g9 x- y! V1 @- b# Start nginx daemons functions.
) v$ Z. b! A/ Z) l$ H& ~start() {" o2 I/ C; S- H+ p# f* T
if [ -e $nginx_pid ];then4 L/ c' M& k$ _' B$ X
echo "nginx already running...."
- h4 f2 z- e3 @7 \, ~0 K, W# p" V: z9 |exit 1, x7 y% Z; e0 a! o7 d x/ t
fi
9 v! R( p! s1 B7 g3 K& v/ Cecho -n $"Starting $prog: ") P9 ~, p$ `( T% j# p5 h
daemon $nginxd -c ${nginx_config}0 f8 m5 a4 U2 h' M1 {
RETVAL=$?
" o" A( v. T7 Y' D% }1 decho
& _, ~8 T. z: \4 M[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
p+ d0 O; G* ]6 B! I, ~8 Dreturn $RETVAL
5 O- O* I/ h7 f7 f8 f; P}: h3 e( r+ `+ {% f! [+ A- W
# Stop nginx daemons functions.
* H1 q9 [0 ~1 x' [stop() {
1 A2 k. u/ `$ Qecho -n $"Stopping $prog: "% h5 T$ j+ @; S( o* ^$ Z7 o
killproc $nginxd) m3 m. y3 ~8 o2 C2 p. k
RETVAL=$?. o1 e* P) p9 r8 N& @
echo
. E9 v* B4 ~* n* i6 Y' _# u1 W8 m[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid
. O# Z$ ]( M9 e5 |}2 j0 O9 Y/ @, c# i( M, z# K9 O
reload() {- f& Y' a4 d; e! y* V8 F G5 }
echo -n $"Reloading $prog: ". X- i& _! e5 X3 m
#kill -HUP `cat ${nginx_pid}`
) r# p& H& Q1 l# C: f) F: ?killproc $nginxd -HUP3 w0 s* X% V V4 x3 W' G" z
RETVAL=$?, y! _1 e6 ]* N
echo8 t8 h, z' Y4 f
}
. s0 @" V, D1 j7 t6 L5 H# See how we were called.
; B6 D p; n( a1 lcase "$1" in
" X" `* a6 d4 Y- `start)
$ t/ W1 F, G) p* q$ ^; ]6 V- T7 nstart6 s, n$ w! q# ?# F T" m4 o7 X
;;
2 F* ]; g \( m3 Pstop)9 u9 o4 S& Q# w
stop: |0 i: k9 J3 {2 n7 d2 H: T
;;
! D. ^2 \6 N+ [) g/ \: mreload); k9 C* P2 v9 }! ^" F$ n
reload
- Z; F- `! h# y$ O6 ^;;- d& Q# w- u6 H& T1 d2 l* f3 m
restart)5 {. R% j: _8 k# ?0 }4 s
stop
- ~% F( A$ z( z. Fstart
# P, O& [4 g. H0 Y4 e;;7 v |. Y% o# k# F9 O: C; J
status)
" c8 u3 \0 Q, |1 C6 t% E3 wstatus $prog8 ]$ m, T" m5 }
RETVAL=$?" U7 M. M5 g/ }9 m' A
;;
. O; ?- @2 K+ N- [*)
3 L$ N1 D4 _) L+ Zecho $"Usage: $prog {start|stop|restart|reload|status|help}"
1 e/ v G, N" P0 ]exit 10 _7 B3 C0 X9 s! f/ E( |6 q& Q
esac0 w3 o+ S- V. a( t! a
exit $RETVAL
' C6 }' R; C! {' j& Y& x( X4 w$ U3 T Z2 E. W! H
瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬
+ k2 V: [$ ~, a* Gchmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗
, }$ `, A. t( Q$ _! g& b1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠 6 i# A, i0 j9 \. }5 h4 |( q2 }3 [) x
location / {! E8 ~: l5 d7 O% Z& [! w
root html;# M4 I5 u) K* u
index index.php index.html index.htm;: ~! ~, j, B! R; Q3 J9 q
}
" B; m3 o' j) b8 |- p3 F靽格嫣蛹嚗% y9 H1 J6 Q% g* B( X# p' s) G
& R3 j. n" D1 @
location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠 2 f' i7 G" m; P( {
location ~ \.php$ {
* Q( S* H0 D. f3 l* ~: Y root html;
: P! f7 j: u+ j1 _. s fastcgi_pass 127.0.0.1:9000;
3 J4 t% F8 }8 ^1 z2 O6 T$ f$ y fastcgi_index index.php;
% x) D r' Y4 ]( N fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
0 X$ r5 Y$ \' q include fastcgi_params;/ ~2 n: }1 H5 R4 J
}( p2 C+ u. T& a! N
靽格嫣蛹嚗3 j* n/ {! V5 E. V6 v/ D3 p" y
1 b! @5 c; L; u6 ]/ U) i
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閫蝻拙僎餈唳桀嚗扯嚗
4 b7 [1 F% @2 k" r4 p; d/ n$ f* _#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql8 R( b" V( C/ n/ d3 F% Q9 c
$ [: \' i4 l" W& s- R I' M- e#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏
4 @" z* h. T) C6 A; Y6 |' [$ ~ 扯 cat /etc/passwd 亦冽瑕銵% r% }1 U. M( e; s A" ~7 V( `
cat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀
E5 {; O0 b& B7 w n 3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql0 H0 ~1 L. _3 ?( l- }" O
4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql
- Y' H* z/ x- A1 j- n. C+ G9 {chkconfig mysql on
+ ]% [; w, F/ {, gservice mysql start --臬決ySQL
9 p8 x# {2 ]; w* Q; {7 \6 N 5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH
g2 C* V9 l/ c4 M! rexport PATH7 R- P1 K: g) [3 D+ b7 g' x: h! r* f
靽摮source /etc/profile 扯嚗 8 Y$ G2 h) _0 C0 r" A2 O
mysql -uroot mysql> SET PASSWORD = PASSWORD('root');
% p% j# g' A* o$ R4 x& W
D# F( M/ S. F! p霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗
/ f+ r% I$ H$ _ s0 ^/ d8 `+ m _mysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗 5 f! U/ f5 `! O) h9 ?
#./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嚗
* p) H8 k z7 O0 K y* F- rPATH=/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# U+ n) w4 |; T0 C* l+ w+ O: t2 E
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm$ }6 ?& W" ~) n" j8 W$ N3 q. z- [
Create /etc/yum.repos.d/php-fpm.repo file and add:
9 D; Y0 }8 X9 T8 H7 C- [nginx]2 x+ N ^- B' M$ W' A
- name=nginx repo
- L2 q: r; c- y" R: i- } - baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
: v1 ?3 k, {( v - gpgcheck=03 Q$ ]+ C# b9 _: o% O6 f! g; ^& u
- enabled=1
銴鋆賭誨蝣 + H+ ]' j4 n3 M$ W' A0 M- e! O/ c: @
yum --enablerepo=remi,remi-test install php-fpm
# w/ l- ^/ S+ @- Q1 K& b6 C# T/ z/ _+ s$ r( U; t
/ \, u9 F% k5 O( n4 u" B7 n/ @5 F
鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn, V3 B/ D7 F2 B. c2 |3 X2 E' V
嚗yum remove subversion //貉蝸雿祉svn
! `" w2 d# L* M( W' c9 N9 U # yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn$ C: l1 g' W6 N7 Z3 g- q
餈# 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 j8 B% }5 ^- M: ?8 |. v
# harry = harryssecret/ g- s6 D. d' J) D: @+ u
# sally = sallyssecret* b/ v3 w5 H* h' X9 j2 }
wangning=wangning
, x* C, V8 K7 V6 V' vyanzi=yanzi
% Q* F( k) F @; K! W& o' @) r #vim authz //霈曄蔭 + I P( N+ ]/ s1 P
[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none
& P F! K7 \- Y2 \auth-access = write
' c7 H* H' z. ~2 B1 x; h8 _. Z### The password-db option controls the location of the password9 y5 h B& ` Y$ m/ v- u2 R$ N
### database file. Unless you specify a path starting with a /,: Z- z; Q; ?. ]% r* `& W5 @: N# |
### the file's location is relative to the directory containing
. p3 O* l# z* ?, d }1 t5 n### this configuration file.
" {; X- B; U' `! l! ~1 i### If SASL is enabled (see below), this file will NOT be used.
' ]9 w/ `3 Q3 ?7 {) V### Uncomment the line below to use the default password file.! t0 }# x H1 x; ]( [# A3 R: X/ z
password-db = passwd" Z" F6 ^5 t( x9 C& r0 h `6 k
### The authz-db option controls the location of the authorization9 w3 ^- z p, w. J
### rules for path-based access control. Unless you specify a path
9 h1 n- q v3 X9 T1 U: c' B5 O, L### starting with a /, the file's location is relative to the the
& Y* C+ ~$ ]" A" d( T" D5 q1 _### directory containing this file. If you don't specify an" q- M" D1 z7 b$ F
### authz-db, no path-based access control is done." R# }* u6 ]& X* m( p3 U2 D+ u
### Uncomment the line below to use the default authorization file.
1 K$ F% d3 ^) L7 f T( r+ m; Nauthz-db = authz
9 F T' V; c. m6 ?- A### This option specifies the authentication realm of the repository.
+ N2 W9 Y- r( Q1 k$ J y### If two repositories have the same authentication realm, they should& G7 f$ }* J. X2 B. j
### have the same password database, and vice versa. The default realm
2 ?- D2 ^) O. T {' q6 O. F+ x### is repository's uuid.7 Z. g8 f$ k: I% b9 W( t/ i
realm = My First Repository
, M0 h, B ~' b: ]* W, N 瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn
7 e3 y' b5 T; T1 c; t. y( P #killall svnserve //甇
; U7 V& n1 V# I( r 敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx
: g8 w/ g: i% i; z" L3 _$ R 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 ~) q. s7 h) c! Z
b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐 " R8 J; A2 ~6 n4 \$ y
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( q( b0 d& H$ N; i8 _#system-config-securitylevel 豢DISABLE敺OK嚗敹璈
) e: J5 ]. _( l( z瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急
vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled x5 Y) C) V9 D1 T& ?/ R& ]
vi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿
& k; t% _) n' r v; R2 ` I |