0085 | DirectAdmin + mod_fcgid + php fastcgi
Saturday, November 14th, 2009 Posted in Linux, Web Server | 12 Comments »ก่อนอื่น copy & paste ตามสูตร
cd /usr/local/src wget http://mirrors.issp.co.th/apache/httpd/mod_fcgid/mod_fcgid-2.3.4.tar.bz2 tar jxf mod_fcgid-2.3.4.tar.bz2 cd mod_fcgid-2.3.4 APXS=/usr/sbin/apxs ./configure.apxs && make && make install chmod 755 -R /var/lib/httpd mkdir /fcgi |
ไปที่ /usr/local/directadmin/custombuild/
เปิดไฟล์ options.conf แก้ php5_cgi=yes ส่วน php อันอื่น no ให้หมด
แล้วสั่ง ./build php จนเสร็จ
แล้วเปิดไฟล์ /etc/httpd/conf/extra/httpd-info.conf
เพิ่มไอ้นี่ต่อท้าย
LoadModule fcgid_module /usr/lib/apache/mod_fcgid.so SharememPath /var/run/fcgid_shm SocketPath /var/lib/httpd/fcgid/sock <IfModule mod_fcgid.c> IdleTimeout 3600 ProcessLifeTime 7200 MaxProcessCount 128 DefaultMaxClassProcessCount 4 IPCConnectTimeout 60 IPCCommTimeout 90 DefaultInitEnv RAILS_ENV production # DefaultInitEnv PHP_FCGI_CHILDREN 4 # MaxRequestsPerProcess 500 </IfModule> <Directory "/home"> AllowOverride All Options SymLinksIfOwnerMatch Order allow,deny Allow from all <IfModule sapi_apache2.c> php_admin_flag engine off </IfModule> <IfModule mod_php5.c> php_admin_flag engine off </IfModule> </Directory> |
เสร็จแล้วเข้าไป folder /usr/local/directadmin/data/templates
เปิดไฟล์ที่ขึ้นต้นด้วย virtual_host2*.conf (มีทั้งหมด 4 ไฟล์)
ใน section เดิมที่เป็น PHP ทั้งหมด ให้ comment ไว้ จะได้ประมาณนี้
|*if CLI="1"| # php_admin_flag engine |PHP| # <IfModule !mod_php6.c> # php_admin_flag safe_mode |SAFE_MODE| # </IfModule> # php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f |USER|@|DOMAIN|' |*endif| |*if OPEN_BASEDIR="ON"| # php_admin_value open_basedir |OPEN_BASEDIR_PATH| |*endif| |*if SUPHP="1"| # suPHP_Engine |PHP| # suPHP_UserGroup |USER| |GROUP| |*endif| |
แล้วแทรกไอ้นี่เข้าไปด้านบนของไอ้เมื่อกี้
<IfModule mod_fcgid.c> <Files ~ (\.fcgi)> SetHandler fcgid-script Options +FollowSymLinks +ExecCGI </Files> </IfModule> <IfModule mod_fcgid.c> <Files ~ (\.php)> SetHandler fcgid-script FCGIWrapper "/fcgi/|USER|/public_html/fcgid.sh" .php Options +ExecCGI allow from all </Files> </IfModule> |
แล้วเข้าไป folder /usr/local/directadmin/scripts/custom/
สร้างไฟล์ชื่อ fcgid.sh ใส่ข้อมูลตามนี้
#!/bin/sh export PHP_FCGI_MAX_REQUESTS=0 exec /usr/local/php5/bin/php-cgi |
ใน folder เดียวกัน สร้างไฟล์ชื่อ domain_create_post.sh ใส่ข้อมูลตามนี้
#!/bin/sh mkdir -p /fcgi/${username}/public_html cp /usr/local/directadmin/scripts/custom/fcgid.sh /fcgi/${username}/public_html/fcgid.sh && chmod 0700 /fcgi/${username}/public_html/fcgid.sh cp /usr/local/directadmin/scripts/custom/php.ini /fcgi/${username}/public_html/php.ini perl -pi -w -e "s/PHPCFG_BASEDIR/\/home\/${username}\//g;" /fcgi/${username}/public_html/php.ini chown -R ${username}:${username} /fcgi/${username} echo "`date` ${domain} created " >> /var/log/directadmin/domain_create.log |
แล้วสั่ง copy file php.ini มาใส่ไว้ใน /usr/local/directadmin/scripts/custom/php.ini
เปิดไฟล์ /usr/local/directadmin/scripts/custom/php.ini ที่ก๊อปมาเมื่อกี้ แล้วหา open_basedir
ซึ่งปกติมันจะ comment ไว้ ให้แก้เป็นประมาณนี้
open_basedir = PHPCFG_BASEDIR:/tmp:/var/tmp |
เสร็จแล้วสั่ง chmod a+x /usr/local/directadmin/scripts/custom/*.sh
*** วิธีทั้งหมดไม่รับประกันผล และควรใช้กับเครื่องเพิ่งลงใหม่เท่านั้น
Tags: directadmin, fastcgi, install, PHP Coding
0082 | MRTG สำหรับจับการทำงานของ squid
Wednesday, November 4th, 2009 Posted in Linux, Web Server | 4 Comments »แก้ squid.conf นิดหน่อย
acl snmppublic snmp_community public snmp_port 3401 snmp_access allow snmppublic localhost snmp_access deny all |
แล้วเอาไอ้นี่ใส่ mrtg.cfg
LoadMIBs: /etc/squid/mib.txt Target[cacheServerRequests]: cacheServerRequests&cacheServerRequests:public@localhost:3401 MaxBytes[cacheServerRequests]: 10000000 Title[cacheServerRequests]: Server Requests @ localhost Options[cacheServerRequests]: growright, nopercent PageTop[cacheServerRequests]: <h1>Server Requests @ localhost</h1> YLegend[cacheServerRequests]: requests/sec ShortLegend[cacheServerRequests]: req/s LegendI[cacheServerRequests]: Requests LegendO[cacheServerRequests]: Legend1[cacheServerRequests]: Requests Legend2[cacheServerRequests]: Target[cacheProtoClientHttpRequests]: cacheProtoClientHttpRequests&cacheProtoClientHttpRequests:public@localhost:3401 MaxBytes[cacheProtoClientHttpRequests]: 10000000 Title[cacheProtoClientHttpRequests]: Client Http Requests @ localhost Options[cacheProtoClientHttpRequests]: growright, nopercent PageTop[cacheProtoClientHttpRequests]: <h1>Client Http Requests @ localhost</h1> YLegend[cacheProtoClientHttpRequests]: requests/sec ShortLegend[cacheProtoClientHttpRequests]: req/s LegendI[cacheProtoClientHttpRequests]: Requests LegendO[cacheProtoClientHttpRequests]: Legend1[cacheProtoClientHttpRequests]: Requests Legend2[cacheProtoClientHttpRequests]: Target[cacheHttpHits]: cacheHttpHits&cacheHttpHits:public@localhost:3401 MaxBytes[cacheHttpHits]: 10000000 Title[cacheHttpHits]: HTTP Hits @ localhost Options[cacheHttpHits]: growright, nopercent PageTop[cacheHttpHits]: <h1>HTTP Hits @ localhost</h1> YLegend[cacheHttpHits]: hits/sec ShortLegend[cacheHttpHits]: hits/s LegendI[cacheHttpHits]: Hits LegendO[cacheHttpHits]: Legend1[cacheHttpHits]: Hits Legend2[cacheHttpHits]: Target[cacheCpuUsage]: cacheCpuUsage&cacheCpuUsage:public@localhost:3401 MaxBytes[cacheCpuUsage]: 100 AbsMax[cacheCpuUsage]: 100 Title[cacheCpuUsage]: CPU Usage @ localhost Options[cacheCpuUsage]: absolute, gauge, noinfo, growright, nopercent Unscaled[cacheCpuUsage]: dwmy PageTop[cacheCpuUsage]: <h1>CPU Usage @ localhost</h1> YLegend[cacheCpuUsage]: usage % ShortLegend[cacheCpuUsage]:% LegendI[cacheCpuUsage]: CPU Usage LegendO[cacheCpuUsage]: Legend1[cacheCpuUsage]: CPU Usage Legend2[cacheCpuUsage]: Target[cacheSysNumReads]: cacheSysNumReads&cacheSysNumReads:public@localhost:3401 MaxBytes[cacheSysNumReads]: 10000000 Title[cacheSysNumReads]: HTTP I/O number of reads @ localhost Options[cacheSysNumReads]: growright, nopercent PageTop[cacheSysNumReads]: <h1>HTTP I/O number of reads @ localhost</h1> YLegend[cacheSysNumReads]: reads/sec ShortLegend[cacheSysNumReads]: reads/s LegendI[cacheSysNumReads]: I/O LegendO[cacheSysNumReads]: Legend1[cacheSysNumReads]: I/O Legend2[cacheSysNumReads]: Target[cacheCurrentFileDescrCnt]: cacheCurrentFileDescrCnt&cacheCurrentFileDescrCnt:public@localhost:3401 MaxBytes[cacheCurrentFileDescrCnt]: 1000000000 Title[cacheCurrentFileDescrCnt]: Used File Descriptors Options[cacheCurrentFileDescrCnt]: gauge, growright, nopercent PageTop[cacheCurrentFileDescrCnt]: <h1>Number of used file descriptors @ localhost</h1> YLegend[cacheCurrentFileDescrCnt]: # of FDs ShortLegend[cacheCurrentFileDescrCnt]: FDs LegendI[cacheCurrentFileDescrCnt]: File Descriptors LegendO[cacheCurrentFileDescrCnt]: Legend1[cacheCurrentFileDescrCnt]: File Descriptors Legend2[cacheCurrentFileDescrCnt]: Target[cacheRequestHitRatio]: cacheRequestHitRatio.5&cacheRequestHitRatio.60:public@localhost:3401 MaxBytes[cacheRequestHitRatio]: 100 AbsMax[cacheRequestHitRatio]: 100 Title[cacheRequestHitRatio]: Request Hit Ratio @ localhost Options[cacheRequestHitRatio]: absolute, gauge, noinfo, growright, nopercent Unscaled[cacheRequestHitRatio]: dwmy PageTop[cacheRequestHitRatio]: <h1>Request Hit Ratio @ localhost</h1> YLegend[cacheRequestHitRatio]: % ShortLegend[cacheRequestHitRatio]: % LegendI[cacheRequestHitRatio]: Median Hit Ratio (5min) LegendO[cacheRequestHitRatio]: Median Hit Ratio (60min) Legend1[cacheRequestHitRatio]: Median Hit Ratio Legend2[cacheRequestHitRatio]: Median Hit Ratio Target[cacheRequestByteRatio]: cacheRequestByteRatio.5&cacheRequestByteRatio.60:public@localhost:3401 MaxBytes[cacheRequestByteRatio]: 100 AbsMax[cacheRequestByteRatio]: 100 Title[cacheRequestByteRatio]: Byte Hit Ratio @ localhost Options[cacheRequestByteRatio]: absolute, gauge, noinfo, growright, nopercent Unscaled[cacheRequestByteRatio]: dwmy PageTop[cacheRequestByteRatio]: <h1>Byte Hit Ratio @ localhost</h1> YLegend[cacheRequestByteRatio]: % ShortLegend[cacheRequestByteRatio]:% LegendI[cacheRequestByteRatio]: Median Hit Ratio (5min) LegendO[cacheRequestByteRatio]: Median Hit Ratio (60min) Legend1[cacheRequestByteRatio]: Median Hit Ratio Legend2[cacheRequestByteRatio]: Median Hit Ratio |
จริงๆ มันมีอีกเพียบเลย แต่ไม่รู้จะใส่ไว้ทำไม รก