: http://blog.csdn.net/yanzi1225627/article/details/49123659) E8 L( D' Y+ Z( y$ g; c. N
' S5 ^4 j% d! J% \7 L1 }* l2 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
) v1 ~2 j2 e3 d1 j) | 湔亙敺摰鋆靘韏摰鋆摰 嗅銝頧緯ginx 嚗mysql嚗 php皞隞嚗 舐 google search engine 撠啁 撠餈銝隞緣ar.gz隞園餈scp賭誘撘唳∪其/www/software桀銝 鈭嚗摰鋆nginx閫蝻拇隞塚嗅餈迸ginx-1.8.0嚗颲亙賭誘嚗 ./configure --user=www --group=www --prefix=/www/nginx D. ^) u! m$ l
嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www) S1 N7 Y K- P
/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx. ^8 @/ ]" ]6 [" o% t
- w! S/ j4 ^1 A( ?1 P2 v# ichkconfig --add nginx
( P: l9 L6 s8 r6 v9 Z3 [& v2 k8 V8 o( q( P% f; Y
chkconfig nginx on1 e% r% Q. h! n4 W2 ^. B+ J1 n
嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash, n4 U' d& T! M" N
# nginx Startup script for the Nginx HTTP Server
% d0 V" P% N4 D m1 q, F9 u! p# it is v.0.0.2 version.
+ l* K4 {1 o" H2 @# chkconfig: - 85 151 O. [# _/ G% j, m* N. ?. J
# description: Nginx is a high-performance web and proxy server.
1 I- n5 {9 O. Q% ^) A( c# It has a lot of features, but it's not for everyone.. I9 z# s/ G% s- N% P3 d6 A
# processname: nginx9 e- P. t8 L$ F
# pidfile: /var/run/nginx.pid3 Z1 u- ?, G2 ?6 l' Y) ~* a
# config: /usr/local/nginx/conf/nginx.conf
. G3 f7 h( R* D" f7 O ~2 fnginxd=/www/nginx/sbin/nginx7 X) w4 O: B0 o+ ^1 Z
nginx_config=/www/nginx/conf/nginx.conf
7 a ~3 ^2 y; C; C7 c5 v2 M( o! ?nginx_pid=/www/nginx/logs/nginx.pid& e5 n' _, _. B. U9 B: H) t# u a
RETVAL=01 |3 H7 u* S1 x. e* w1 g. N. N+ f
prog="nginx"
' s5 L/ f0 T0 ~1 B# Source function library.! w; [4 p7 c. m, h- s& |" Q$ {7 d
. /etc/rc.d/init.d/functions
) W; p) b# d; X1 U! Q# Source networking configuration.6 s2 p2 o5 [5 e# y
. /etc/sysconfig/network
& z$ ~3 L) x% E% H0 Z6 v6 I# Check that networking is up.
9 w/ L/ s. m2 p1 w- s[ ${NETWORKING} = "no" ] && exit 00 \' f% k% c8 U; A& l% E D
[ -x $nginxd ] || exit 0
1 h3 Y# P( O" @# Start nginx daemons functions.- A( H% Z- V* l
start() {
9 @5 [: K! z" W. ]if [ -e $nginx_pid ];then
! e% \( I& p8 b g, T& r+ f: W. R7 recho "nginx already running...."& {2 k% B$ g# l% m0 n3 D' y0 K
exit 1
' @ C* s0 E* O: Hfi1 ~! q& ^- U% e2 ?
echo -n $"Starting $prog: "! B! {* v& p! S* I$ X/ n
daemon $nginxd -c ${nginx_config}
5 g0 X, O+ }: ? q6 z# s" g/ aRETVAL=$?) m* i9 }" o; Z8 f
echo$ h, A' f& {# q( l
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
2 Z; [% v' H9 Sreturn $RETVAL
2 p T2 F7 J0 F}
% F, ]( @; U; j: X' {' w" k( g/ m& s# Stop nginx daemons functions.
2 H5 w* S4 B' @/ Ostop() {
, [3 m9 A- J% ?6 k7 ^echo -n $"Stopping $prog: "
7 v, U: g+ N" \killproc $nginxd
. J% }& E* C; `9 c# O6 ~ yRETVAL=$?
/ i5 Z5 G$ [- @8 e+ t- Pecho3 r8 Q$ g& Q J
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid
7 [+ r0 \6 W7 m$ ~& Z3 s; q}
$ S" I: l0 M. W4 U1 L2 Vreload() {
: o0 d4 q4 ]1 x; ?: Gecho -n $"Reloading $prog: "
( J- H- L+ a! w- `5 }#kill -HUP `cat ${nginx_pid}`" n- n8 Y- g) e) A8 r
killproc $nginxd -HUP8 P: a: l; M& e, K# j
RETVAL=$?
2 V2 E/ b' G0 z# a9 Fecho
( w- f1 z6 v' a# o}" n& }$ @& ^& n5 }1 [7 v2 C, _& K
# See how we were called." F5 J. ~" Q$ K: k' C1 b" }0 ?$ W
case "$1" in- w& U4 x; @8 H, {; f L( B
start)
2 u( s+ b, j) Z3 x( Estart
5 M0 d6 ]. F& B. j4 V. R;;
# f; z5 l! h* kstop)
+ O( J/ M: M. J( e$ ustop# I9 I* Y# a V# ~- T
;;
* ^. l+ D8 N, q" U2 w4 Creload)$ g6 E7 _# ^$ q: c& H% g, d
reload
. P* r2 j: G* a& _;;
! A$ X) x5 \9 crestart)1 V3 y; V6 U1 d6 Y' Z
stop2 m4 h" V: ~& ]# n1 v" v
start6 y: Z$ A+ k$ s" a7 I( O
;;* c* S* S; ^$ ?4 Q: S' Z
status)
/ t9 }3 H/ S0 h) tstatus $prog M6 P/ N4 Q+ J- f; v m o
RETVAL=$?. Y* [; u3 f8 v: \7 h! R7 A
;;7 E* d+ C5 [" M$ T6 x, `/ [/ i
*)1 C F& q$ |+ Z$ J. d
echo $"Usage: $prog {start|stop|restart|reload|status|help}"% T& p; n/ y: i3 o( Q
exit 1
2 P/ x4 i7 Q4 l: zesac9 o3 v' Y/ g$ N
exit $RETVAL. p: z" {; U7 J# d" @6 J6 ~
B- a$ o9 ~2 V8 \) q 瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬
; W* S$ N, O0 S4 Schmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗# v! w8 a/ _" |9 I' r
1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠 / K) a0 E% K" ~8 z. M8 ^9 M$ w7 E& l
location / {% S. Y" L& O) m9 S% C* b3 x: F; i
root html;* i7 O6 y X! D+ k5 P8 ~/ m
index index.php index.html index.htm;
2 t# O ? t r. s% n: l& ~ }
0 V$ L; _' k r* |# A靽格嫣蛹嚗
# D$ [3 l" t: I4 D" q! a" S# j. W S8 X
location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠 3 l, M" C: f+ N
location ~ \.php$ {/ `0 I- r, i& H' e
root html;
* g' Q( ~8 @6 W! u4 }5 F2 { fastcgi_pass 127.0.0.1:9000;
: |0 L+ s5 I/ F& i( X fastcgi_index index.php;2 {8 ?: ~6 J- m1 k1 H2 |0 K
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
4 X/ A7 Y" q8 ^3 |2 Y/ ]! F include fastcgi_params;4 v1 h' F. h( k7 V5 W( a
}" ?) r$ c" k4 Q0 P# g6 m$ N
靽格嫣蛹嚗, C. m7 ?6 @0 e+ y9 z
) [8 t$ E2 ]5 G/ O+ S
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閫蝻拙僎餈唳桀嚗扯嚗 - M8 T( q9 c& d
#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql
. C6 r. o( d) g0 M$ Z( U& ~& v8 x p8 d' e
#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏
7 S; x: E' i' M9 [ 扯 cat /etc/passwd 亦冽瑕銵" C5 ?, Z; q l; _
cat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀0 ~* C; `( T( K# W& d3 X: r' X( q5 s
3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql3 A8 X; u% _) ]
4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql/ N v$ {, S* s7 D+ s$ S
chkconfig mysql on- X1 C9 a/ h' T! j) I: G
service mysql start --臬決ySQL# [. ~- B$ a/ Q0 @1 H2 r* Z
5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH
8 q6 B; ~& a% E/ A5 \$ p# o7 ~3 e3 Wexport PATH
) k' ~+ x- S# a' A$ M9 F) ^ 靽摮source /etc/profile 扯嚗
3 j6 z- T$ m! ?$ hmysql -uroot mysql> SET PASSWORD = PASSWORD('root');4 V& s& H/ F$ ] V
0 }0 x' ?: s6 ^0 c! ^8 `霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗
( K) [! Y2 ~) z) c8 Tmysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗
% a0 G4 J1 ]& X4 B: _! Y#./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嚗 ) d+ z1 g L7 j* H6 E2 J
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/ R7 d9 T( \3 ?. d" Y T4 j
# ]# y2 J) `! Y$ Z4 x6 M3 ?7 zrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm( i3 F5 |- j) z" D
Create /etc/yum.repos.d/php-fpm.repo file and add:
- R5 V# S6 _' g8 f5 i& s- [nginx]& \3 G3 I2 i! r G- z4 e5 }$ L" B
- name=nginx repo6 q, q% |! K" t( Y( Q8 l$ ?
- baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
5 X( S5 O" j2 o) c; a0 } - gpgcheck=0
- b$ p& @% j! X6 \ - enabled=1
銴鋆賭誨蝣 " R* |, @' F" b0 t" @- u/ Y. F; z
yum --enablerepo=remi,remi-test install php-fpm. g3 @1 U: T* `9 H* U" M6 @8 U
6 k* E4 c9 o, C( _( X# Y
* Y% C4 b, N4 V. }- r8 s& y鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn! x5 \& `) \0 e3 P' J# P
嚗yum remove subversion //貉蝸雿祉svn( c9 ]# I! {( C3 J
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn
# a: D4 P, j/ r% ^; u 餈# 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 P; K5 y6 z; }8 ?) C. n" E- Y+ f# harry = harryssecret
$ M+ x { g: ^3 z' \# sally = sallyssecret( H& r3 Y& j% M5 F" e9 z' B
wangning=wangning2 O3 X/ T O, m. ?3 \
yanzi=yanzi
2 ~7 B6 D0 O' s3 `: R6 K! U7 q$ g9 ` #vim authz //霈曄蔭
4 C6 ]# V3 c. t6 `, Q l: p& I[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none
/ p* l! ^, a1 z2 O; y+ t" ]" }* s% e, j3 cauth-access = write! ]; }+ a8 x& x) j! \
### The password-db option controls the location of the password
% R+ @, ~& ]- A& o1 w7 v2 U5 g1 p### database file. Unless you specify a path starting with a /,
$ x, U$ d% s l% d: k6 Y### the file's location is relative to the directory containing
: k! _7 U$ u3 n( b" w9 j9 }### this configuration file.& y" p3 ^- M1 @- u7 ^( v
### If SASL is enabled (see below), this file will NOT be used.
( j' j: y* k p### Uncomment the line below to use the default password file.
h2 v% \% W5 g# C5 vpassword-db = passwd
2 K9 i5 J# E2 u c# f! h) K8 p+ i### The authz-db option controls the location of the authorization: i. c" q& n9 h2 s5 i/ ~6 Y8 F* a4 z
### rules for path-based access control. Unless you specify a path
9 k; j8 c0 T& x" T; o% g0 d9 f. w### starting with a /, the file's location is relative to the the( g5 I" A' x3 c
### directory containing this file. If you don't specify an
- b1 h4 ?& Q; @$ b7 K### authz-db, no path-based access control is done.
a' q' G9 m8 w### Uncomment the line below to use the default authorization file." ?7 A9 |1 S/ L3 _, }- K Q( x. j7 u4 N
authz-db = authz
- @# e) l7 v& P### This option specifies the authentication realm of the repository.0 W3 ~; r7 S4 Q6 `7 R
### If two repositories have the same authentication realm, they should
/ x' M; ]2 b1 t9 C2 F! K: b( l3 Q- U### have the same password database, and vice versa. The default realm) v$ Z# g2 }. W) k( V$ F
### is repository's uuid.
2 Y% A% C8 G% S% H' |4 J# l: f/ ~realm = My First Repository
8 }$ ]/ T, @& ? x* t. V7 { 瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn
5 i9 G9 {4 j/ a. E, _; T5 E #killall svnserve //甇' @4 l4 S3 z b& `/ n
敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx
' S9 d% Z/ Z8 Q( V5 P 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% j- @* G8 ?. t5 `5 V: P3 _/ ^7 Y
b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐 6 y5 ]8 }9 |) s* t8 [0 O. {
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" :
! ?0 G8 @- q8 u8 s#system-config-securitylevel 豢DISABLE敺OK嚗敹璈 ( O; M a* \' V5 X
瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急 vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled ' a& F9 m b( E. l0 {, E( ~/ z# d. n& T
vi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿
3 G" \% J" o, C# \. V |